반응형

Unity 16

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

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

Unity 2021.06.25

[Uinty3D] 마우스 클릭 좌표 구하기

마우스에 위치를 구할수 있는 코드를 알려드리겠습니다. //카메라 위치 Vector3 point = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, -Camera.main.transform.position.z)); 중요한 것은 z값을 빼 준다는 것입니다. 클릭한 곳에 좌표를 구하고 싶으면 간단하게 if(Input.GetMouseButtonDown(0)) { Debug.Log(point.ToString()); } Input.GetMouseButtonDown(0) = 마우스 왼쪽 번튼을 눌렀을 때 로그를 띄워서 위치를 확인해 볼 수도 있습니다.

Unity 2021.06.25

[Unity] float사용에 유의점

유니티 코딩을 사용하다 보면 캐릭터나 어떠한 물체를 이동할때 float 데이터 타입을 자주 사용하곤 한다. int 보다는 부드러운 움직임이 구현 가능하고 아주 작은 값을 곱하거나 더해서 원하는 속도를 얻을수도 있기 때문이다. 하지만 float을 사용할때는 유의해야 하는 점이 있다. float 값은 0.000001값에 오차가 발생하기 때문에 '='연산을 사용하면 생각하던 대로 코드가 작동하지 않을수 있다. 해결 방안으로는 double를 사용하거나 범위를 지정해 주는 거다. >= ,

Unity 2021.05.15

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

Unity(1)-오브젝트 이동시키기

Unity 이동시키는 여러가지 방법들 void Update() { vector3 target=new Vector3(x,y,z); float speed = 1f; 1. moveTowards() -일정한 이동 speed값이 커질수록 target으로 이동하는 속도가 빨라진다. transform.position = vector3.MoveTowords(transform.position,target,speed); 2.SmoothDamp() -부드러운 감속 이동 목표지점에 도달하기직전에 속도를 줄여 감속하여 이동하듯이 이동한다. speed값에 반비례하여 이동하여 속도가 작을수록 이동하는 속도가 줄어든다. transfom.position = Vector3.SmoothDamp(transfom.position,target..

Unity 2020.08.31
반응형