Programming 34

[유니티] XR Interaction Toolkit 패키지 셋팅

[Window] -> [Package Manager] - OpenXR Plugin 설치 - XR Interaction Toolkit 설치 XR Interaction Toolkit을 그냥 찾으면 보이지 않는다! 다음 순서를 따른 후에 설치 [Package Manager] -> [Advanced] -> [Enable Preview Packages] XR Interaction Toolkit 설치 후, Samples를 클릭하여 [Default Input Actions] Import [Edit] -> [Project Settings] -> [XR Plug-in Management] [PC Tab] OpenXR 체크 -> 느낌표 클릭 -> Fix All 클릭 [안드로이드 Tab] Oculus 체크 (Oculus Q..

Programming/Unity 2021.06.29

[유니티] RayCast

RayCast (레이캐스트) : 보이지 않는 광선을 쐈을 때 광선(ray)이 다른 콜라이더와 충돌하는지 검사하는 처리 - 레이캐스트를 실행했을 때 레이가 콜라이더를 가진 게임 오브젝트와 충돌하면 RaycastHit 타입으로 충돌 정보 생성 - 생성된 RaycastHit 오브젝트를 살펴보면 레이와 충돌한 게임 오브젝트, 충돌한 위치, 충돌한 표면의 방향 등을 알 수 있음 Raycast() 메서드 Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance) - Vector3 origin : 레이의 시작점 - Vector3 direction : 레이의 방향 - RaycastHit hitInfo : 레이가 충돌한 경우 ..

Programming/Unity 2021.06.28

[유니티] SerializeField

직렬화 docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/concepts/serialization/ Serialization(C#) Serialization은 개체를 바이트 스트림으로 변환하여 개체를 저장하거나 메모리, 데이터베이스 또는 파일로 전송합니다. docs.microsoft.com Unity의 시리얼라이저는 실시간 게임 환경에서 실행되므로 성능에 큰 영향을 미친다. 따라서 Unity의 직렬화는 다른 프로그래밍 환경의 직렬화와 다르게 동작한다. 필드 직렬화를 사용하려면 다음을 조건을 만족해야 한다. public이거나 SerializeField 속성이 있어야 함 static이 아니어야 함 const가 아니어야 함 readonly가 아니어야 함 직렬..

Programming/Unity 2021.05.03

[유니티] 캐릭터 점프

캐릭터 점프는 애니메이션이 있어야만 되는건가 라는 바보같은 생각을 잠깐 했는데,,바보같은 생각이었다❗️❗️ 점프는 캐릭터에 위쪽 방향으로 힘을 더해주면 된다🙃 점프를 구현할 때 사용하는 변수는 //점프 버튼을 입력 받았는지 알기 위한 변수 bool jDown; //현재 점프 중인지 알기 위한 변수 bool isJump; //움직이는 벡터? Vector3 moveVec; //플레이어의 Rigidbody를 받아오기 위한 변수 Rigidbody rigid; isJump와 rigid는 Awake()함수 안에서 초기화 해준다. void Awake() { isJump = false; anim = GetComponent(); rigid = GetComponent(); } jDown 변수는 GetInput()함수에서 ..

Programming/Unity 2021.02.16

[유니티] 카메라 위치 이동

MainCamera의 Inspector에 C# 스크립트 Follow를 다음과 같이 작성하여 넣어준다. public class Follow : MonoBehaviour { public Transform target; public Vector3 offset; void Update() { transform.position = target.position + offset; } } MainCamera의 position은, 움직이는 target.position에 처음 카메라 위치인 offset을 더해주면 된다. pubulic으로 target, offset변수를 선언해주었기 때문에 Inspector에 다음과 같이 나타난다. target에는 카메라가 따라다닐 오브젝트를 넣어주고, offset은 카메라가 시작하는 위치로..

Programming/Unity 2021.02.03

[Unity] 코루틴

코루틴 (Coroutine) : 대기시간을 가질 수 있는 메서드 👉 IEnumerator 타입을 반환해야 함 👉 일시 대기할 곳에 yield 키워드를 명시해야 함 ✔️ 초 단위로 쉬기 yield return new WaitForSeconds(시간); ✔️ 한 프레임만 쉬기 yield return null; StartCoroutine() 으로 코루틴 메서드 실행 StartCoroutine(SomeCoroutine()); //코루틴 메서드를 실행한 반환값 StartCoroutine("SomeCoroutine"); //코루틴 메서드의 이름 StopCoroutine() 으로 코루틴 메서드 종료 StopCoroutine(SomeCoroutine()); StopCoroutine("SomeCoroutine");

Programming/Unity 2021.01.19

[Unity] 콜라이더 (Collider)

콜라이더 (Collider) : 물리 충돌 처리를 위한 오브젝트의 형태물리 충돌 처리를 위한 오브젝트의 형태. 물리적 표면 존재 Trigger 👉 충돌한 물체를 밀어내는 물리적 표면이 없음 👉 다른 일반 콜라이더와 겹치거나 서로를 뚫고 지나갈 수는 있지만 충돌 자체는 감지 충돌한 두 게임 오브젝트의 콜라이더 중 최소 하나가 트리거 콜라이더라면 자동으로 실행된다. OnTrigger 계열의 메서드가 실행될 때는 메서드 입력으로 충돌한 상대방 게임 오브젝트의 콜라이더 컴포넌트가 Collider 타입으로 들어온다. // 충돌한 순간 void OnTriggerEnter(Collider other){} // 충돌하는 동안 void OnTriggerStay(Collider other){} //충돌했다가 분리되는 순간..

Programming/Unity 2021.01.11
반응형