본문 바로가기

Unity46

Transform을 스크립트에서 쓰기, Time.deltaTime Transform 실행 1. 대문자 Transform 2. 소문자 transform ( 쇼트컷) 소문자 transform은 나 자신의 transform으로 바로 들어감! 모든 게임 오브젝트는 무조건 transform을 가지고 있으니까 굳이 찾아가서 쓸 필요 없이 소문자 transform으로 바로 나 자신의 게임 오브젝트에 붙어 있는 Transform으로 바로 들어가게 해둠(오른쪽 그림) 다 그런건 아님. 예외적으로 transform만 소문자 쓰면 바로 쇼트컷 가능한 것임. 매번 말고 1초에 일정 각도로 돌고 싶다 해결 방법: 시간 간격으로 쪼개기 컴퓨터 사양이 달라도 마지막에 한 번 깜빡이는 주기를 넣어주면 원하는 값이 나옴 이걸 지원하는게 Time.deltaTime 2021. 7. 3.
Box Collider- is Trigger Trigger의 역할은 물체에 물리적인 표면은 없지만 충돌 자체는 감지하게 해줌. 즉, 충졸 그 자체는 감지함. 단, 물리적인 표면이 없기 때문에 상대방이 뚫고 지나갈 수 있음. 2021. 6. 29.
Rigidbody-Constraints-Freeze Position, Rotation / Prefab 개념 다른 물체에 의해서 플레이어가 튕겨나가지 않게 해주기 위해 Constranits 사용 Hierachy에 있는 itemBox를 프로젝트 패널에 drag & drop 하면 Prefab이 생김. Prefab은 미리 만들어진 친구라는 뜻으로 프로젝트 세팅에 있는 프리팹인 ItemBox를 다시 하이라키 창으로 드래그 앤 드롭하면 똑같은 친구가 생김. Prefab은 미리 만들어져있어서 다시 노가다 할 필요 없이 재활용 할 수 있음. 프리팹은 재사용 가능한 미리 만들어진 게임 오브젝트. 언제 어디서나 드래그 앤 드롭해서 찍어낼 수 있다. 2021. 6. 29.
유니티 버전 업데이트시 패키지매니저 에러 해결 2021. 6. 29.
GetComponent<> 이렇게 유니티 창에다 Player Rigidbody 같은 변수를 갖다 두면 기획자가 드래그 앤 드롭 하면서 오류를 낼 수 있음. 그래서 이 변수를 숨기고 싶은데 숨기면 또 speed가 Rigidbody를 받아와야하는데 없으니까 에러가 남. 해결책은? 코드로 가져오기! GetComponent는 게임 오브젝트를 뒤져서 안에 명시한 타입을 찾아줌. 드래그 앤 드롭 한 것과 똑같은 효과가 남. 는 Generic이라고 부르는 문법인데 특정 타입에 대해서 함수를 실행함. 즉 Rigidbody에 대해서 GetComponent를 하겠다. 정리 드래그 앤 드롭으로 컴포넌트를 적용해줄 수 있지만 이 방법은 잘못 드래그 하면 실수가 날 수 있음. 그래서 private로 안보이게 한 뒤 코드 상에서 start안에.. 2021. 6. 26.
velocity(속도) / 소코반 - 플레이어에 관성 없애기 AddForce는 힘을 주는 것임. 힘을 주면 그게 바로 속도가 되는 것이 아니라 힘을 주면 힘이 누적되어서 속도가 됨. 즉, 내부에서 물리적인 계산이 들어가서 속도가 되는 것임. 힘을 주면 줄수록 속도가 빨라지는 방식이라서 즉 관성이 붙어 있어서 조작이 힘듦. 그래서 힘을 거쳐서 속도가 되는 것이 아니라 아예 속도 자체를 하드하게 바로 집어넣고 싶다! 즉, playerRigidbody에게 속도(velocity) 그 자체만 덮어씌우자! AddForce는 함수인 반면 velocity는 변수임. 그래서 여기 값을 지정하면 그게 바로 속도가 됨. 그리고 velocity는 vector3를 사용함. vector3는 x,y,z를 가지는 집합 이렇게 고치면 빠릿빠릿하게(관성 없이) 움직이는 것을 확인할 수 있음! 2021. 6. 26.