#42 Unity 팁

국기웅·2024년 6월 21일

오늘 특강에서 나온 내용들을 기반으로 작성해보았다

1. prefab

Prefab에서 추가 요소를 넣은 뒤 다시 prefab화 시키면 Prefab Variant로 변경하겠냐는 선택지가 생긴다
이때 Variant를 사용하면 부모의 prefab의 바리에이션 중 하나로 취급된다.
부모의 prefab을 수정하면 자식의 prefab또한 같이 수정된다.
여러개의 비슷한 prefab을 사용할 때 유용할 것 같다

2. GameObject를 참조시킬때..

GameObject.Fine("string")은 성능이 좋지 않다.
문자열로 무언가 찾는 것 자체가 원래 별로라고 한다.
이때 대체로 사용할 것은
1. GameObject.FindGameObjectWithTag();
2. GameObject.FindObjectOfType<<.Type>>()

3. Update()

Unity에서 매 프레임마다 실행시켜버리기때문에 내용이 아무것도 없다고 해도 계속되어 실행된다. 안쓰면 지워야 한다.

4. UI

Canvas는 변경사항이 생길때마다 내용물을 다시 그린다.
따라서 최적화를 위해서는 변경 사항이 있는것과 없는것으로 나눠어서 그려주는것이 좋다.

5. GameManager(singleTon)

기존에는 각 매니저들마다 싱글톤으로 선언해주는 식으로 제작되었다.
동시에 빈 오브젝트들을 만들고 거기에 스크립트를 넣어주었다.

이런 방식을 개선하기 위한 방법이다.
GamemManager에 다른 매니저들을 선언해주면 된다.
여기서 다른 매니저들은 MonoBehavior를 상속받지 않는다.
이것으로 게임매니저에서 관리를 해줄 수 있다.
속도가 빨라지고, 접근이 편해진다는 장점이 있다.

하지만 MonoBehavior를 사용하지 않기때문에 제약이 여럿 생긴다. 이런 경우에는 따로 싱글톤을 선언해 주는 것이 좋다고 한다.

profile
게임개발호소인

0개의 댓글