Assset에 있는 Prefeb을 월드에 올려놓고 테스트 및 수정시 변경하는 방법이 Override를 이용해서 Asset에 등록된 Prefeb의 내용을 현재 월드에서 변경한 내용으로 덮어 쓸 수 있다.
2.Rigidbody와 Collider
Rigidbody 는 GameObject 가 물리 제어로 동작하게 합니다. 리지드바디는 힘과 토크를 받아 오브젝트가 사실적으로 움직이도록 해줍니다. 리지드바디가 포함된 모든 게임 오브젝트는 중력의 영향을 받아야 하며 스크립팅을 통해 가해진 힘으로 움직이거나 NVIDIA PhysX 물리 엔진을 통해 다른 오브젝트와 상호 작용해야 합니다.- Unity 메뉴얼 출처
콜라이더(Collider) 컴포넌트는 물리 충돌 처리를 위한 오브젝트의 형태를 정의합니다. 콜라이더는 보이지 않는 요소이므로 오브젝트의 메시와 정확히 동일한 모양일 필요는 없으며, 실제로는 게임플레이 시에는 대략적인 근사치로도 크게 구분되지 않으며 더 효율적입니다. - - Unity 메뉴얼 출처
정리 : Rigidbody 컴포넌트는 GameObject에 물리를 적용 시킨다.
Collider는 물리충돌 처리의 유무 및 충돌처리의 범위를 제어하는데 사용하는 컴포넌트이다.
*충돌 시키고 싶은 오브젝트는 전부 Rigidbody 가 필요하고 Collider는 충돌시 특정코드를 동작 시키는 곳에만 필요하다.
3.Rigidbody 컴포넌트의 물리엔진 사용 X
Kinematic : 충돌시 특정 동작을 하고싶지만 물리현상을 적용시키지 않을때 사용된다. 하지만 옵션을 키면 물리영향을 빋지 않기에 OnTrigger 함수를 사용하여 코드를 작성하여아한다. (Collider의 is Trigger를 체크해야만 Kinematic에서 충돌처리가 작동한다)
4.UnityPackage 파일을 Assets - Resources에 Import 시키고 싶을때
디자이너나 Assest Store에서 받은 Package 파일을 드래그 앤 드랍으로 쉽게 Import 할 수 있다.
★★★ 5.RectTransform의 Anchor,Pivot (매우 중요 :: UI 위치 및 크기 설정에 필수로 들어가는 내용)
Canvas 오브젝트는 화면 해상도에 따라 크기가 조정된다.
간단히 정리하면 이미지는 Anchor를 기준으로 Pivot이 결정된다.
RectTransform 에서 나타내는 좌표 및 거리값 은 [앵커와 피봇의 거리를 나타낸다].
Pivot은 이미지의 중심점으로 피봇의 좌표는 0,0(좌측하단) - 1,1(우측상단)로 정해져있다.
노란색은 Anchor의 위치 , 파란색 점은 Pivot의 위치 , 하얀박스는 이미지의 크기 를나타낸다.
Alt를 누른채 클릭하면 Rect Transform까지 동시에 변하고(이미지를 해상도에 맞춰 변경),
Shift를 누른채 클릭하면 Pivot이 동시에 변하고,
Shift + Alt를 누른채 클릭하면 Rect Transform과 Pivot이 동시에 변합니다.
Strectch를 쓰면 앵커가 분리되어 Rect Transform의 좌표가 Left top right bottom으로 표기가 변경된다.
(Pivot이 아닌 이미지와 앵커의 거리 를 나타냄)
Pivot 위치에 따른 Scale 값 변경시 바뀌는 모습으로 Pivot 설정의 중요성을 보여준다.
6.Slider 오브젝트를 안쓰고 HP 만들기 테크닉
//Cat 오브젝트에 Food라는 오브젝트가 충돌 될때마다
//energy가 회복되는 코드
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.gameObject.CompareTag("Food"))
{
if(energy < full)
{
energy += 1.0f;
//front(이미지 오브젝트)
//Scale 값을 수정하여 빨간색 게이지가 차오르게 설계
front.localScale = new Vector3(energy / full, 1.0f, 1.0f);
Destroy(collision.gameObject);
}
}
}
'내일배움캠프_Unity_6기 > TIL(Today I Learend)' 카테고리의 다른 글
TIL : 2024-08-20(화) ::C# Linq.OrderBy() 정렬 알고리즘 ,랜덤으로 원소 섞기(셔플기능) , 광고붙이기(UnityAD) (0) | 2024.08.20 |
---|---|
TIL : 2024-08-19(월) (0) | 2024.08.19 |
TIL : 2024-08-14(수) (0) | 2024.08.14 |
TIL : 2024-08-13(화) (0) | 2024.08.13 |
TIL : 2024-08-12(월) (0) | 2024.08.12 |