목록Etc/Unity (23)
ecsimsw
Scale Factor / Uniform Scale - 오브젝트의 scale의 x,y,z 가 일정하게 모두 같은 것을 uniform scale이라고 하고, 그렇지 않은 것을 non-uniform scale 오브젝트라고 한다. 이런 비균등 스케일은 수정된 스케일에 맞게 매 프레임마다 복사본을 수정하는 작업을 내부적으로 진행하므로 속도 저하의 원인이 된다. 따라서 모델의 scale 조정이 필요할 땐, import할 때, Scale Factor 속성으로 스케일을 맞춰야한다. Collider capability - Collider 연산은 많은 처리를 요하고 타입에따라 다른 속도 처리를 낸다. Sphere Collider > Capsule Collider > Box Collider >>> Mesh Collider
Trail renderer / Particle system - 총알이나 검 등의 궤적을 그리는 방법과 화염이나 구름 등의 효과를 다루는 방법을 공부하였다. Trail renderer - Trail renderder 은 오브젝트의 궤적을 표시하는 컴포넌트이다. 궤적을 표현하고자 하는 오브젝트의 인스펙터에서 trail renderer을 검색하는 것으로 컴포넌트를 추가할 수 있다. 컴포넌트를 추가하고 오브젝트를 이동시키면 다음처럼 분홍색으로 궤적이 표시될 것이다. 여기에 material을 추가하는 것으로 궤적의 이미지를 설정할 수 있다. Time 프로퍼티는 렌더링 지속 시간을 의미한다. 작을수록 더 짧은 시간 동안 렌더링이 유지된다. Width는 렌더링 폭을 의미한다. 궤적의 폭과 굴곡을 조절할 수 있다. P..
Gizmos / Serialized / Debug - 스크립트 내의 private 변수를 게임 실행 중 확인하거나, Mesh가 없는 게임 오브젝트를 씬 뷰에서 확인하여 보다 효율적으로 유니티를 활용하는 방법을 공부하였다. Debug Mode - 인스펙터에서 Debug로 모드를 전환하는 것으로 게임 중 오브젝트 안 스크립트의 private 변수를 활용할 수 있다. Serialized - 객체의 데이타를 연속적인 데이터로 변환하는 것으로, 파일이나 DB에 저장하거나 웹서비스 등으로 네트워크 상으로 전송하는 것을 Serialization이라 한다. 내부적으로 프리팹은 게임 오브젝트와 컴포넌트를 Serialize된 데이터 스트림이다. 이 프리팹이 인스턴스 됐을 때, 새로운 오브젝트에 deSerialize 되는 ..
Light Directional light - 오브젝트의 위치에 상관없이 조명의 각도만을 영향으로 주어 전체 화면에 균일한 빛을 가한다. Point light - 중심으로부터 퍼지는 빛을 가한다. 전구 같은 효과를 낸다. Spot light - 지정한 위치에서 각도로 원형 뿔 모양의 빛을 낸다. Area light - 지정한 사각 공간에서 특정 방향으로 빛을 비춘다. Shadow - No shadows - Hard shadows - Soft shadows
Local Coordinate - 프리팹 에셋 총알을 총구 방향으로 인스턴스하고, 총알의 forward 방향으로 힘을 주었는데 옆면으로 총알이 이동하여 local 좌표계와 local 축을 변경할 수 있는 방법을 공부하였다. transform.forward transform.forward / transform.up / transform.right 는 객체의 local 좌표(객체 기준에서)에서 각각 forward(z축), up(y축), right(x축)을 world 좌표로 가져온다. 따라서 총알을 어떻게 rotate 한들 local 축은 변함이 없고, transform.forward로 힘을 주는 것은 내 프리팹의 local z축으로 힘을 가한다. 따라서 총알이 정확한 방향으로 진행하고자 한다면 프리팹의 lo..
Vector3 Constructor - 생성자를 이용하여 생성과 함께 해당 x,y,z의 컴포넌트를 갖는 벡터를 생성한다. Vector3 vector3 = new Vector3(3, 2, 2); Static Variables - 자주 사용되는 벡터를 정적 변수로 사용할 수 있다. backVector3(0, 0, -1) downVector3(0, -1, 0) forwardVector3(0, 0, 1) leftVector3(-1, 0, 0) oneVector3(1, 1, 1) rightVector3(1, 0, 0) upVector3(0, 1, 0) zeroVector3(0, 0, 0) nomalize / magnitude - 단위 벡터 : vector을 단위 벡터로 사용하고자 할 때 Nomalize() 메소드..
Animation - 유니티에서 애니메이션 시스템을 다루는 방법을 공부하였다. 유니티는 Mecanim이라는 시스템을 제공하여 애니메이션 설정이나, 애니메이션 클립을 이용, 리타게팅 등 애니메이션을 더 쉽게 다둘 수 있도록 하였다. Animator controller - Animator controller는 게임 오브젝트의 애니메이션 상태와 상태 전환을 관리한다. Assets에 우클릭 후 create - Animator Controller 을 통해 생성하고, Animator 컴포넌트의 Controller에대한 인자로 대입하는 것으로 해당 오브젝트의 애니메이션을 관리한다. State Machine - 애니메이션의 상태와 상태 간의 전환을 다루기 위해 State Machine을 사용한다. 이는 일종의 플로우차..
Material / Texture Material - Material은 오브젝트의 디스플레이 방법을 정의하는데 사용된다. 3차원에서 빛이 오브젝트에 닿아 재질, 색 등에 의해 출력되는 것을 Rendering 이라고 하는데, 이 렌더링에 있어 오브젝트의 속성을 정의해두는 것이 Material 이다. 이런 오브젝트의 렌더링을 담당하는 컴포넌트가 Mesh Renderer이고, Materials 속성에서 렌더링에 사용할 Materials 목록을 정의 할 수 있다. 메시 렌더러는 메시 필터에서 지오메트리를 가져와 오브젝트의 Transform 컴포넌트에 정의된 위치에 지오메트리를 렌더링한다. 오브젝트의 Inspector에서 Mesh Renderer _ Element 옆 작은 원을 클릭하여 material을 impo..