1) 반드시 In Place를 체크하자 \-> 그래야 멈춰선 상태에서 프로그래머가 이동 제어가 가능하기 때문에 체크 풀면 알아서 앞으로 나아가거나 이동한다.2) 저거 두개로 설정하자.3) 유니티 폴더에 올린상태 \-> 애니메이션 실행 안된다.4) humanoid 타입으
유니티의 루트 모션으로 인해 포지션과 로테이션 값이 계속해서 바뀐다.Idle의 인스펙터 정보값을 저기 3개 체크 후 Apply까지 적용하자.\-> 실행하자! 흔들림이 없는 편안한\~~
휴머노이드 애니메이션은 Foot IK를 체크해야한다.: 발구락이 엉덩이에 닿아버린다...: 아 자연스러~
: 콜라이더와 리지드바디를 만듬문제점 : 폴가이즈와 그루트 부딪히기만 해도 그루트 날라간다!\-> 해결책 : 폴가이즈의 오른손 충돌체를 숨기고, 공격할때 활성화시키는 방법으로 처리하자. : 애님 동작중에 이벤트를 추가하자. 코드 추가.\-> 펀치를 맞고 난후 그루트들은
1) transform.LookAt(Vector3 target): target을 기준으로 전방방향이 설정된다. 2) 직접 구하기 Vector3 dir = (target - transform.position).normalized;FindofObjectType<스크립
컴포넌트나 게임오브젝트(컴포넌트가 속해있는)가 활성화 될때마다 실행하는 함수이다!게임 오브젝트의 정보를 초기화 및 리셋할때 사용한다.
프로퍼티의 경우는 다른 객체에서도 참고가 가능하다.set으로 받을때 private으로 하면 수정은 불가능하다. SerializeField는 private 형태이지만 유니티엔진에서 불가피 적으로 다른 컴포넌트의 정보를 알아야할 필요가 있을 경우 드래그 드롭으로 사용된다.
sound.Play() : 이미 재생중인 오디오 있다면 정지하고 처음부터 해당 오디오를 재생함.총 연사에는 적합하지는 않음sound.PlayShot() : 이미 재생중인 오디오가 있더라도 정지하지 않고, 해당 오디오를 중첩하여 재생한다.
라인렌더러를 이용해 1\. 브롤스타즈의 총구 타겟팅할때 회색 줄 나오게 할수 있다.2\. 총알 등 날아갈때 변경되는 흔적들을 디스플레이 할수 있다.SetPosition()함수를 사용해 시작점과 끝점을 표시해야 한다. 시작점의 위치 지정 : lineRender.SetPo
인터페이스를 사용해야 하는 이유 : 실제형식에 관계없이 부모형식을 통해서 접근이 가능하므로 코드 간편화가 가능하다. 컴파일러가 알아서 해당 클래스내의 함수를 찾는다. (내 생각에는 내부적으로 virtual되어 있지 않나 생각함.)예를 들어서 1) hp를 회복시키는 아이
총을 쏜다거나 파티클 등의 경우 일순간 생성하고 소멸하는 용도로 사용되는 코드를 만들경우 fps가 떨어지는 문제가 나온다.: fps 505까지 나온다.오브젝트 풀링을 사용하면 생성 소멸 반복이 이루어지지 않으므로 fps 떨어지는 문제는 발생하지 않는다. : object
Awake 는 모든 오브젝트 활성화시에 발생하는 이벤트이다. Start는 모든 오브젝트의 Awake후에 진행되는 이벤트이다. 문제점
프로젝트에 사용하지 않는 패키지가 많은데 빌드로 뽑을 경우 Resources 안에 있는 프리팹은 빌드에 추가되고, 나머지 사용하지 않는 리소스나 프리팹들은 추가되지 않는다.그러므로 Resources에 사용하지 않는 것들은 넣지 말자!
유니티에서의 this는 컴포넌트 즉 자기자신의 스크립트를 의미한다. 게임오브젝트 Destroy할때 this 넣으면 스크립트를 삭제하게 된다.
일반적인 urp부분 셰이더는 Lit를 사용한다.
신뷰에서는 화려하게 번쩍거렸는데 게임뷰에서 그냥그러려니...urp설정해야 한다.메인카메라의 저놈도 체크하자