본문 바로가기

Unity

한 화면에 카메라 여러 개 노출하기 프로젝트를 개발하면서 이런 형식으로 카메라를 UI처럼 사용해야 할 때가 왔다. Main Camera로 3인칭 백뷰를 구현하면서 서브 카메라로 캐릭터만을 비추어 캐릭터의 상태이상을 확인하게 되는 것이다. 그러니 메인 카메라와 별개의 카메라를 하나 만들고, 그 서브 카메라에서 Viewport Rect를 조정하면 된다. ◆ 뒷배경에 관한 옵션은 Clear Flags를 확인한다. 카메라의 Skybox는 개별 적용이기 때문에 카메라마다 별개의 배경을 지정할 수 있다. 혹은 Depth Only로 배경을 잡지 않을 수도 있다. ◆ Culling Mask를 통하여 원하는 레이어의 오브젝트만 렌더링할 수 있따. 더보기
히트박스 충돌처리 이런 형식으로 적 오브젝트 하위에 히트박스를 생성한다. Trigger로 히트박스 충돌처리를 하려면 물리엔진 연산이 들어가지 않기 때문에 적 오브젝트가 땅을 뚫고 내려가는 등의 불상사가 이어질 수 있다. 그러니 히트박스를 만들어서, Collider와 Rigidbody Component를 집어넣는다. Body Type를 Kinemetic으로 지정해야 Trigger 체크로 인한 물리엔진을 무시하고 원래 위치에 히트박스를 고정시킬 수 있다. 그런데 무슨 짓을 해도 안 된다? 1. OnTrigger코드를 OnCollision에 작성했을 수도 있다. 2. Layer Collision Matrix를 체크하자. 더보기
애니메이션으로 알파값 조정 RGB 값은 255~0이지만 알파값은 1~0이므로 실수하지 말라!!!(하고서쓰는글) 더보기
블러 사용하기(2D, 3D 무관) 1. Post Processing 패키지를 설치한다. 2. URP를 설치한다. 3. Project Settings에서 URP Asset을 설정한다. 4. 사용할 카메라에 Post Processing 체크를 해준다. 5. Hierarchy 창에서 Global Volume을 생성한다. 6. Global Volume 오브젝트에서 Volume Profile을 설정한다. 생성은 Project 창에서 진행한다. 7. Volume Profile을 생성하고 Override를 설정한다. 8. 쓴다. 더보기
게임 종료/Play 모드 종료 public void ButtonGameExit() { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif } 언제쯤이면 구글링하지 않고 완전히 외워서 쓰게될지?? 더보기
Tilemap 크기 바꾸기 타일 간격을 줄이거나, 타일 스프라이트의 크기를 조정하고 싶다. 무엇을 건드려야 할까? 정답은 하이어라키 창의 Grid이다. Grid의 Grid component를 설정해주도록 하자. 1. 타일 스프라이트의 크기를 조정한다: Transform - Scale 조정 *물론 스프라이트 자체의 크기가 줄어드는 것이 아니라 Tile 자체의 크기가 바뀌는 것이다. 2. Tilemap의 타일 크기 및 간격을 조정한다: Cell Size로 타일의 크기를 조정, Cell Gap으로 타일 간격을 설정 더보기
No SRP in use XR 프로젝트 실습 중 SRP가 증발하는 사건 발생... Project Setting - Graphics에서 SRP Setting이 비어있을 것이다. 그곳에 URP 에셋을 할당해주자. URP 에셋은 Project 창에서 생성하면 된다. 얼레벌레 찾은 자료- Volume Profilehttps://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/manual/VolumeProfile.html Volume Profile | Universal RP | 12.0.0Volume Profile A Volume Profile is a Scriptable Object which contains properties that Volumes use to.. 더보기
AnimationEvent has no function name specified! 애니메이션 이벤트에 할당된 함수가 없어 생기는 에러이다. Inspector 창에서 해당 이벤트에 함수를 할당하거나, 삭제하면 된다. 혹시 빈 애니메이션 이벤트가 없는지 확인할 것. 더보기