반응형

unity3d 3

[Unity3D] 월드 좌표계와 스크린 좌표계 이해하기 -(1)

우리가 화면을 통해 보는 유니티 3D 환경은 x, y, z 축으로 이루어진 3 차원 벡터 공간이다. 하지만 우리는 2차원인 모니터를 통해 그 3 차원 공간을 보기 때문에 마우스를 통해 좌표를 얻을때 원하는 대로 코드가 진행되지 않는다. 가장 처음 맞는 문제점은 x, y 축은 받을 수 있지만 z 축은 알 수가 없다. 또 다른 문제점은 x, y 축을 안다고 해도 실제 Unity 3D 에서 사용되는 World 좌표와 다르기 때문에 엉뚱한 곳에 좌표가 잡히게 된다. 우선 마우스의 좌표값을 로그로 찍어보면 어떤 값이 나오는지 확인해 보자. [-3.05, 14.55, 0.00] 마우스 위치가 빨간 화면에 왼쪽 밑에 두고 로그를 찍었을때에 값이다. [959.44, 537.76, 0.00] Game 에디터에 화면을 1..

Unity 2022.12.23

[Unity] 레이캐스트(RayCast) 정리

레이캐스트(RayCast) - 보이지 않는 관선을 쐈을 때 광선이 다른 콜라이더와 충돌하는지 검사하는 처리입니다. 이때 사용하는 광선을 레이(Ray) 라고 부르며 Ray 타입으로 레이의 정보만 따로 표현할 수도 있습니다. 레이캐스트(RayCast)를 실행했을 때 레이가 콜라이더를 가진 게임 오브젝트와 충돌하면 RaycastHit 타입으로 충돌 정보가 생성됩니다. 그 정보를 통해 레이와 충돌한 게임 오브젝트 충돌한 위치 충돌한 표면의 방향 등등,. 을 알 수 있습니다. 왼쪽 cube에는 레이캐스트에 반응하도록 interface 스크립트를 작성해 주었고 오른쪽 cube는 아무 코드도 없습니다. 왼쪽 cube로 Ray를 쏴 보겠습니다. 왼쪽 오브젝트에 Ray가 상호 작용을 하여 색깔도 바뀌고 자신이 누구인지 ..

Unity 2021.06.25

Unity(2)- GetAxisRaw를 사용하여 오브젝트 이동시키는 방법

W,A,S,D 또는 방향키를 이용해 오브젝트를 원하는 방향으로 이동시키는 방법 부드러운 이동을 구현하는 방법으로 GetAxisRaw를 사용하였다 void Start() { myrigid=GetComponent(); //Start함수에서 myrigid라는 이름으로 Rigidbody를 상속시켜준다. } void Update() { float moveDirx = Input.GetAxisRaw("Horizontal"); //Horizontal값을 moveDirx에 넣어준다. float moveDiry = Input.GetAxisRaw("Vertical"); Vector3 moveHorizontal = transform.right * moveDirx; //moveDirx값이 커지면 transform.right값이..

Unity 2020.09.01
반응형