유니티:오브젝트: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
200번째 줄: 200번째 줄:




== 자식 오브젝트 ==
==자식 오브젝트==
한 오브젝트를 다른 오브젝트에 드래그&드롭 하면 오브젝트를 오브젝트 안에 넣을 수 있다. 이로부터 상하관계가 생기고, 자식오브젝트는 절대좌표계가 아닌, 부모 오브젝트를 기준으로 지역좌표계를 사용하게 된다. 위치, 회전, 스케일 모두 부모를 기준으로 사용하게 된다.
한 오브젝트를 다른 오브젝트에 드래그&드롭 하면 오브젝트를 오브젝트 안에 넣을 수 있다. 이로부터 상하관계가 생기고, 자식오브젝트는 절대좌표계가 아닌, 부모 오브젝트를 기준으로 지역좌표계를 사용하게 된다. 위치, 회전, 스케일 모두 부모를 기준으로 사용하게 된다.
활성/비활성 여부도 부모 오브젝트를 따라간다.


부모 오브젝트의 transform 컴포넌트에 영향을 가하면 자식도 따라 움직인다.
부모 오브젝트의 transform 컴포넌트에 영향을 가하면 자식도 따라 움직인다.


자식 오브젝트를 다시 밖으로 빼낼 수도 있다.
자식 오브젝트를 다시 밖으로 빼낼 수도 있다.
<br />

2021년 8월 13일 (금) 19:55 판

틀:유니티

  1. 유니티:개요
  2. 유니티:기본 조작
    1. 유니티:에셋스토어
  3. 유니티:카메라
  4. 유니티:오브젝트
    1. 유니티:데이터 입력받기
    2. 유니티:오브젝트 이동(오브젝트 조작)
    3. 유니티:힘으로 오브젝트 이동
    4. 유니티:충돌 이벤트
    5. 유니티:오브젝트 작성 tip
    6. 유니티:프리팹
  5. 유니티:코딩기초
    1. 유니티:C sharp 코딩 편의기능
    2. 유니티:MonoBehaviour
    3. 유니티:이벤트 메서드
    4. 유니티:컴포넌트 조작하기
  6. 유니티:UI
  7. 유니티:게임 내 화면
  8. 유니티:플레이어
    1. 유니티:모델
    2. 유니티:캐릭터 이동
    3. 유니티:애니메이션
    4. 유니티:주인공 시점
  9. 유니티:맵
    1. 유니티:투명한 벽 만들기
    2. 유니티:내비게이션
  10. 유니티:씬
  11. 유니티:몬스터
  12. 유니티:아이템
  13. 유니티:음향
    1. 유니티:배경음
    2. 유니티:효과음
  14. 유니티:빌드
  15. 유니티:VR
    1. 유니티:VR:UI
    2. 유니티:VR:VR로 변환
  16. 유니티:팁

개요

오브젝트는 다양한 컴포넌트들로 이루어져 있다. 재질, 물리적 성질 등의 다양한 조각들을 합쳐 하나의 오브젝트가 된다.

하나의 게임객체를 오브젝트라 부른다.

오브젝트

오브젝트 작성

하이어라키 창에서 '+'버튼을 눌러 필요한 오브젝트를 만들 수 있다.

하이어라키 창에서 우클릭, 필요한 오브젝트를 만들 수 있다.

오브젝트 조작

wert 순으로 좌특 버튼들을 눌러 손쉽게 조작할 수 있다.

의도 단축키 설명
오브젝트 이동

평행이동 툴

W 누르면 기즈모가 나타난다.

기즈모를 통해 오브젝트를 이동.

면 고정 이동 기즈모 면을 눌러 이동 해당 면 방향으로만 이동한다.
오브젝트 회전

회전툴

E 오브젝트를 회전시킬 수 있다.
오브젝트 크기수정

스케일 툴

R 누르면 사각기즈모가 나타난다.

이를 통해 오브젝트 크기 조절.

한 가운데를 클릭하면 비율을 지킨 상태로 크기변화.

사각툴

렉트 툴

T 사각형 틀로 크기 변형.

UI, 2D 오브젝트 크기 조절을 위해 사용한다.

트랜스폼 툴 Y 평행이동, 회전, 스케일 툴을 하나로 합친 것.

아이콘

기즈모를 이용해 위치를 조작할 수 있는데, 형체가 없는 오브젝트라면 해당 오브젝트가 다른 오브젝트와 겹치는지 여부를 알 수가 없다. 이를 분간하기 위해 아이콘을 사용한다.

인스펙터 창 왼쪽 최상단에 큐브모양의 아이콘이 나오는데, 여기에서 오브젝트의 아이콘을 설정하여 다룰 수 있다.

컴포넌트

컴포넌트가 모여 하나의 오브젝트가 된다.

각각의 컴포넌트는 우측의 설정에서 remove로 지울 수 있다.

실제 물체처럼 만들어보기

어떤 물체를 실제 물체와 같이 다루기 위해선 컴포넌트에 콜라이더, rigid body 등을 추가해주어야 한다. 이를 통해 다른 오브젝트와 충돌판정, 물리판정을 한다.

물리적 성질

요소 컴포넌트 설명
실체 Collider 충돌 물리효과를 주기 위해. 실체를 갖는 요소이다.
중력 RigidBody Use Gravity항목을 체크하면 중력이 작용한다.
질량 RigidBody Mass항목으로 조절한다.
고정(무한질량) RigidBody Is Kinematic. 외부 물리효과를 무시하고 스크립트에 의해서만 이동한다.(무한질량을 가진 효과)
고정(축고정) RigidBody Constraints. 캡슐콜라이더 등을 사용하는 경우, 조금만 틀어져도 물체가 넘어진다. 여기에서 회전을 제약하면 넘어지지 않게 할 수 있다.

(스크립트로 조절한 값은 반영된다.)

마테리얼로 구현하는 물리적 성질

요소 컴포넌트 설명
탄성 Collider 에셋창에서 Create>Material>Physics Material을 만든 후,

Collider 안의 Material에 넣어준다.

Bounciness : 탄성. 높을 수록 많이 튀어오름. 0~1 사이값이다.

Bounciness Combine 옵션
요소 설명
Average 두 물체의 평균값을 갖는다.
Minimum 두 물체 중 작은값을 갖는다.
Maximum 두 물체 중 큰 값을 갖는다.
Multiply 두 물체 값을 곱한 값을 갖는다.

마찰 Collider 에셋창에서 Create>Material>Physics Material을 만든 후,

Collider 안의 Material에 넣어준다.

정지마찰력과 운동마찰력을 나누어 설정할 수 있다.(와우!)

각 마찰력의 값은 0~1 사이.

Friction Combine 옵션
요소 설명
Average 두 물체의 평균값을 갖는다.
Minimum 두 물체 중 작은값을 갖는다.
Maximum 두 물체 중 큰 값을 갖는다.
Multiply 두 물체 값을 곱한 값을 갖는다.

외관적 성질

보통 마테리얼(머티리얼)로 구현한다. 만든 마테리얼을 오브젝트에 드래그&드롭으로 적용한다.

에셋창에서 Create>Material>Material로 마테리얼을 만든다.

마테리얼은 셰이더(색)와 텍스쳐(질감)로 구성되어 있다.

물리재질 만들기

요소 설명
Albedo 반사율.(어떤 색을 반사할지 결정한다.)

물체 표면의 기본 색을 결정한다.

Metallic 금속처럼 보이게.
Smoothness 많이 넣어주면 광택이 커진다.
Emission 발광(밝기) 조절. 재질의 느낌으로, 빛이 나오는 건 아님.
텍스쳐는 그림파일로 Albedo 왼쪽의 네모칸 안에 넣을 수 있다.(농구공이나 축구공 따위를 그려넣을 수 있다.)
Tilling 텍스쳐 반복 타일 개수.(2차원. 표면이니까.)

자식 오브젝트

한 오브젝트를 다른 오브젝트에 드래그&드롭 하면 오브젝트를 오브젝트 안에 넣을 수 있다. 이로부터 상하관계가 생기고, 자식오브젝트는 절대좌표계가 아닌, 부모 오브젝트를 기준으로 지역좌표계를 사용하게 된다. 위치, 회전, 스케일 모두 부모를 기준으로 사용하게 된다.

활성/비활성 여부도 부모 오브젝트를 따라간다.

부모 오브젝트의 transform 컴포넌트에 영향을 가하면 자식도 따라 움직인다.

자식 오브젝트를 다시 밖으로 빼낼 수도 있다.