Unity/Diary

·Unity/Diary
충돌시 효과음 플레이하기 충돌을 할때랑 트리거 충돌을 할때랑 모두 연결하고싶은데 메서드를 똑같은거 두개를 하기에는 너무 깔끔하지 못해보이길래 수정했다.일단 점프패드는 점프 사운드를 출력하고 파이프는 텔레포터사운드를 출력한다. 둘다 모두 Player 태그를 가진 오브젝트와 충돌했을때 실행된다. >> 충돌이 될 오브젝트 - 충돌이 생겼을때 실행될 코드SoundCollisionPlay.csusing System.Collections;using System.Collections.Generic;using UnityEngine;public class SoundCollisionPlay : MonoBehaviour{ private AudioSource audioSource; public AudioClip a..
·Unity/Diary
1. 링크드 리스트 (Linked List)특징:링크드 리스트는 노드의 집합으로 이루어진 데이터 구조이다. 각 노드는 데이터와 다음 노드를 가리키는 포인터를 포함하고있다.장점:크기 변동이 많은 데이터를 효율적으로 관리할 수 있다.삽입과 삭제가 리스트의 중간에서도 O(1) 시간 복잡도로 가능하다.앞 뒤 삭제가 삽입, 삭제가 가능하다. 단점:메모리 사용량이 배열보다 크다.임의의 위치에 있는 요소에 접근하려면 O(n) 시간이 소요된다. (인덱스 접근이 불가능해서 순차적으로 읽어야하기때문) LinkedList linkedList = new LinkedList();linkedList.AddLast(1);linkedList.AddLast(2);linkedList.AddLast(3);foreach (var item ..
·Unity/Diary
오늘의 문제점 유니티에서 UI를 만들면 오브젝트보다 위에 배치가 된다. 그렇기때문에 오브젝트를 더 위에 배치시키려면 어떻게 해야할까 고민을 했다. 열심히 찾아서 만든 결과는 이렇다.  결과여기서 저 몬스터같이 생긴게 오브젝트이고 그 외는 UI로 임시 배치해둔 상태이다.  사용방법 1.  UI를 찍을 카메라가 아닌 2번째 카메라를 만들어준다. 이건 메인카메라 밑에 넣어주면된다. Layer : 오브젝트만 찍을 레이어 생성Clear Flags : Depth onlyCulling Mask : 내가 만든 레이어로 설정Depth : 0 2. 메인카메라 설정  Culling Mask : 새로 생성한 레이어 빼고 모두Depth : -1 3. UI를 Overlay에서 Camera로 변경  4. 완성  오늘의 회고 사실 ..
·Unity/Diary
궁금증이 들었던 부분 2D에서 처음 타일맵을 배웠을때 내가 오브젝트를 하나하나 만들 필요가 있던게 아니라 그림그리듯 배치를 해주면 됐어서 좋았는데 이걸 3D 맵 배치에서도 사용할 수 있을까 궁금증이 들었다. 제일 중요한 이유는 내가 얘를 하나하나 회전시키고 하면서 하기엔 멀미가 너무 심해서 금방 지치는게 문제였다.찾아보니 2D 타일맵 패키지를 이용해서 3D 오브젝트를 배치할 수 있다는 사실을 알게되었다.  사용 방법 1. 2D Tilemap Package 다운받기 2. 그리드 생성하기하이러키창에서 마우스 우클릭> 2D Object> Tilemap> Rectangular 3. Cell Swizzle을 XZY로 바꾸기 (수직으로 생성되는걸 수평으로 만들어주려고) 4.  타일 팔레트 꺼내주기 5. 그럼 타일맵..
·Unity/Diary
코드를 살펴보다가 Action 사용하는 코드 부분을 보고 궁금증이 생겨서 공부를 했다.임시로 `키를 눌렀을때 setting UI가 활성화되는 코드를 가져왔다.  코드 // PlayerController.cspublic class PlayerController : MonoBehaviour{ // 생략 public Action setting; public void OnPreferenceButton(InputAction.CallbackContext context) { if (context.phase == InputActionPhase.Started) { setting?.Invoke(); } } // 생략} // UIPrefer..
·Unity/Diary
gameobject.Find 1. GameObject.Find(“이름”) >> 현재 활성화된 모든 게임 오브젝트 중에서 특정 이름을 가진 게임 오브젝트를 찾는다.GameObject myObject = GameObject.Find("Player");장점:간단하고 직관적이다.특정 이름으로 오브젝트를 빠르게 찾을 수 있다.단점:성능이 좋지 않을 수 있다(씬 전체를 검색).이름이 변경되면 코드가 동작하지 않을 수 있다.2. GameObject. FindObjectOfType(“컴포넌트명”) >> 특정 타입의 컴포넌트를 가진 첫 번째 활성화된 게임 오브젝트를 찾는다.Camera mainCamera = GameObject.FindObjectOfType();장점:특정 타입의 컴포넌트를 가진 오브젝트를 쉽게 찾을 수 ..
석영
'Unity/Diary' 카테고리의 글 목록 (3 Page)