카테고리 없음

25.03.05(수) - TIL 31일차 Unity 입문

rxo2 2025. 3. 5. 20:57

unity 에서 Materials 이란 3D오브젝트의 표면을 어떻게 렌더링한지 정의하는 요소.

색상, 반사율, 투명도 질감(Texture) 등 오브젝트 외형 결정

window - rendering - lightion(컨트롤 + 9) 를 눌러 설정한 Materials 를 skybox Materials 에 삽입.

 

unity 에서 window - package mamager - 좌상단  packages 를 unity registry 로 바꾼후 input system 선택 하여 필요한 키값 삽입 가능

 

DontDestroyOnLoad() 란 씬이 변경되어도 유지되며, 새로운 인스턴스가 생성되는 문제를 방지할 수 있다

 

Cursor.lockState = CursorLockMode.Locked; 게임중 커서 on/off 기능 None/Locked 으로 가능

 

public void OnMove(InputAction.CallbackContext context) 에서 CallbackContext context 는 현재 상태를 받아올수 있게 해준다

 

create - 2D - sprites - square 하나 만들고 사용할 이미지의 source image (ui - image 로만든 이미지) 에 넣는다

그럼 하단에 추가적인 설정창이 나오는데 거기서 image type 를 filled 로 선택하고 fill method 를 horizontal 로 선택한다

fill amount 바가 있는데 이를 이용하여 설정값에따라 이미지가 줄어들었다가 늘어나는 ui 이미지를 만들수있다.

 

add componen 에 vertical layout group 을 추가하게 되면 여기에 속한 자식 오브젝트들이 설정한 레이어의 위치로 자동 정렬한다

horizontal layout group 은 가로로 정렬 grid layout group 은 가로로 정렬후 다음줄엔 세로로 새로 만들어서 정렬하는, 반대로도 가능 주로 인벤토리에 사용됨

 

 

아직 헷갈리는거

hunger.Add(hunger.passiveValue * Time.deltaTime); 일때 passiveValue 는 현재 작성중인 스크립트에 없다
어디서 들고온 건일까?
hunger는 Condition 타입의 프로퍼티, Condition 클래스 안에 passiveValue 라는 변수가 있다.
 
왜 Condition 가 나오냐? 
hunger 이라는 ui 이미지에 부착된 스크립트가 Condition 이기때문.
 
hunger 에 부착된 스크립트중 passiveValue 가 퍼블릭으로 되어있다면 다른 스크립트에서도 참조할수있다.
 
 
CharacterManager.Instance.Player.condition.uiCondition = this;
//뜻 현재 UICondition 스크립트 객체를 PlayerCondition의 uiCondition 변수로 설정
해석 CharacterManager 클래스에 Player 객체가 있고, Player 클래스에 condition이라는 변수가 있을 것.