'유니티'에 해당되는 글 6건

  1. 2015.01.12 [UNITY][Script Func]Collider.OnTriggerXXX(Collider)
  2. 2015.01.12 [UNITY][Interface]RigidBody
  3. 2015.01.12 [UNITY][Script Func]Mathf.Clamp 최소값과 최대값 사이의 값을 뽑는 함수.
  4. 2015.01.11 [UNITY][Compoent]Collider 충돌처리 컴포넌트
  5. 2015.01.11 [UNITY][Interface]Input Manager 입력 관리자
  6. 2015.01.11 [UNITY][Script Func]Instantiate() 오브젝트를 복사하는 함수.

[UNITY][Script Func]Collider.OnTriggerXXX(Collider)

유니티 2015. 1. 12. 20:12

[Script Function]Collider.OnTriggerXXX(Collider)

 

[OnTriggerXXX?]

Collider에 Is Trigger가 체크되어있을 경우 유니티에 의해 호출 되는 메시지 함수이다.

 

[원형]

void OnTriggerXXX(Collider other)

 

[인자]

Collider other    해당 Trigger(Collider)와 상호작용중인 Collider가 인자로 넘어온다.

 


 

 

[Message Function]

  • void OnTriggerEnter(Collider other)    Collider에 다른 Collider가 들어오는 순간 호출된다.
  • void OnTrigerExit(Collider other)    Collider에 다른 Collider가 떨어져 나갈때 호출된다.
  • void OntriggerStay(Collider other)    Collider에 다른 Collider가 머무르고 있을때 지속적으로 호출된다.

 

:

[UNITY][Interface]RigidBody

유니티 2015. 1. 12. 20:06

[Interface]RigidBody

[RigidBody?]

RigidBody컴포넌트는 이 컴포넌트를 가지고 있는 게임오브젝를 물리적으로 조작할 수 있게 해준다.

게임오브젝트에 질량, 저항 등 여러가지 물리적인 요소들을 도입하여 해당 게임 오브젝트가 물리엔진에 의해

여러가지 다양한 물리작용을 적용 시켜준다.

오브젝트에 물리 엔진을 적용시키려면 꼭 필요한 컴포넌트.

 

[옵션]

 

Mass    오브젝트의 질량. "유니티 메뉴얼에서 이 값은 다른 오브젝트보다 100배이상(작거나 크거나) 차이 나지 않도록 해야한다"라고함.

Drag    오브젝트에 가해지는 공기저항. 0이면 공기저항이 없고, infinity라고 입력하면 즉시 오브젝트 움직임이 멈춘다.

이 값을 입력하면 오브젝트는 공기저항을 받기 때문에, 시간에 따라 점차 속력이 감소한다.

Angular Drag    오브젝트의 회전력에 대한 공기 저항. 0이면 역시 공기저항이 없다는 것. 하지만 infinity경우 유니티 메뉴얼에서 이 값에 단지 infinity를 입력한다고 해서 오브젝트의 회전이 멈추지는 않는다고 한다.(기타 다른 요소에 의한 회전이 존재하나보다...)

 

Use Gravity    말 그대로 중력을 사용할 것인지. 이 체크박스가 체크되어 있다면 오브젝트는 중력의 영향을 받는다.(아래로 떨어진다.)

Is Kinematic    잘 모르겠지만.. 메뉴얼에 따르면 이 기능이 활성화되어 있다면 물리 엔진에 영향받지 않고 오직 Transform에 의해서만 조작 될 수있다고 한다. 뭐 플랫폼을 움직이거나 관절이 붙어있는 Rigidbody를 에니메이트 하는데 유용하다는데 아직 어떤 의미인지 확실히 모르겠다.

 

Interpolate   움직임 보간. 메뉴얼에서는 RigidBody의 움직임에 경련같은 요상한 움직임이 보이면 이 옵션을 선택하라고 한다.

  • None    아무런 보간도 취하지 않는다.
  • Interpolate    이전 프레임의 Transform를 기반으로 현재 프래임의 Transform을 부드러게 만든다.
  • Extrapolate    다음 프레임의 Transform을 추측하여 현재 프래임의 Tranform을 부드럽게 만든다.

 

Collision Detection    오브젝트가 너무 빠르게 움직여서 충돌이 검출되지 않을 경우 그런 상황을 막기위해 사용된다고 한다.(그냥 Discrete쓰다가 문제 생기면 그때 다시 정리)

  • Discrete    신중한 충돌. 기본 설정이며 일반적인 충돌처리를 사용 한다.  오브젝트와 충돌하는 다른 Collider도 이Discrete 충돌을 사용하게 된다.
  • Continuous(이해불가)    
  • Continuous Dynamic(나중에)

Constraints    RigidBody의 움직임을 제한한다.

  • Freeze Position    RigidBody가 X, Y, Z에 대해 체크된 각 축방향으로 움직이지 못하도록 막는다.
  • Freeze Rotation    RigidBody가 X, Y, Z에 대해 체크된 각 축으로 회전하지 못하도록 막는다.

 

 

:

[UNITY][Script Func]Mathf.Clamp 최소값과 최대값 사이의 값을 뽑는 함수.

유니티 2015. 1. 12. 19:58

 

[Script Function]Mathf.Clamp

 

[함수 원형]

 

public static float Clamp(float value, float min, float max);

 

[함수 인자]

 

 float

 value

 입력 값

 float

 min

 최소 값

 float

 max

 최대 값

 

[리턴값]

 

float    최소값과 최대값 사이의 값.

 


 

[특징]

  • 입력값이 최소값과 최대값 사이에 있는 값이라면 입력값 그대로 리턴 된다.
  • 입력값이 최소값보다 작거나 최대값보다 크다면 각각 최소값, 최대값이 리턴되다.
  • 입력값에 대해 최소, 최대 범위를 지정하고 싶을 때 사용 할 수 있다.
:

[UNITY][Compoent]Collider 충돌처리 컴포넌트

유니티 2015. 1. 11. 21:15

[Component]Collider  

 

[Collider]

충돌처리 컴포넌트.

 

[만들기]

  • 컴포넌트가 생성될 오브젝트를 선택.
  • [메뉴] - [Component] - [Physics] - [XXX Collider] 선택.

          

 

 

  • [Inspector] - [Add Component] - [Physics] - [XXX Collider] 선택.

           

 

 

 

[속성]

 

[Box Collider]

 

 Is Trigger

이 옵션이 설정 되어있으면 단순히 충돌여부만 체크 함.

(물리엔진상에서 무시되기 때문에 물리적 충돌은 발생하지 않는다고 함.)

 Material

이 Collider가 다른 것과 어떻게 상호작용 할지 결정하는 Physics Matarial을 참조 함.  

 Center

오브젝트의 지역(Local) 공간상에서 Collider의 위치.

 Size

 Collider의 X, Y, Z방향으로의 크기.

 

 

Collider로 오브젝트를 감싸 충돌처리를 할 때 사용한다.

충돌될 때 유니티는 스크립트의 여러가지 메시지 함수를 호출한다.(OnColliderXXX, OnTriggerXXX)

 

 

 

:

[UNITY][Interface]Input Manager 입력 관리자

유니티 2015. 1. 11. 17:19

[Interface]Input Manager

[Input Manager?]

  • 유니티는 키보드, 마우스 등 여러가지 입력을 관리하기 위한 입력 관리자를 제공함.
  • 유니티 게임에서 사용될 여러가지 입력을 정의 할 수 있다.
  • 설정된 값들은 스크립트 내에서 Input객체를 이용하여 활용 할 수 있다.
  • 게임을 즐기는 유저가 직접 입력을 설정 할 수 있도록 유니티 게임 런처에서 입력 설정 대화 상자를 제공한다.

[열기]

[메뉴] - [Edit] - [Project Settings] - [Input] 

[설정]

Axes    현재 프로젝트에 설정 되어있는 모든 축에 대한 입력 설정을 담고 있다.

Size     설정할 입력 축의 개수 - 입력 축의 개수를 지정할 수 있다. ([Size 18] 18가지의 입력을 정의 할 수 있다.)

Name    게임런쳐 및 스크립트에서 해당 입력을 의미하는 문자열.(스크립트에서 이 이름을 활용하여 해당 입력을 확인한다.)

Descriptive Name    게임런쳐에서 보여질 Positive버튼 기능에 대한 상세한 정의.

Descriptive Negative Name     게임런쳐에서 보여질 Negative 버튼 기능에 대한 상세한 정의.

Negative Button    축에 대해 감소되는 마이너스(-1)값을 전달할 버튼.

Positive Button    축에 대해 증가되는 플러스(+1)값을 전달할 버튼.

Alt Negative Button   축에 대해 감소되는 마이너스(-1)값을 전달할 두번째 버튼.

Alt Positive Button    축에 대해 증가되는 플러스(+1)값을 전달할 두번째 버튼.

Gravity    Type이 마우스/키보드 버튼일때 얼마나 빨리 입력이 ReCenter되는지 에 대한 값.

Dead    지정된 값보다 작은 값(절대값)을 입력 받을 경우 0으로 인식 한다. 조이스틱에서 유용하게 사용될 수 있음.

Sensitivity    

  • 키보드 입력 : 값이 클수록 더 빠른 응답을 보이고, 작을 수록 입력이 좀더 부드러워진다.
  • 마우스 움직임 : 실제 마우스 움직임에 대한 값의 크기.

Snap    Type이 키보드/마우스버튼일때 이 옵션이 켜져 있으면 반대 키가 입력 된 이후 즉시 0으로 리셋 됨.

Invert    이 옵션이 켜져 있으면 Postivie버튼이 마이너스(-1)값을 전달한다. 이 반대도 마찬가지.

Type    

  • Key or Mouse Button : 마우스, 키보드 버튼.
  • Mouse Movement     : 마우스의 움직임과 스크롤.
  • Joystick Axis            : 아날로그 조이스틱의 축 입력, 유저가 윈도우를 흔들때의 윈도우 움직임.(?)

Axis    입력 장치의 입력 축.

Joy Num    어떤 조이스틱을 사용 할지 선택. 기본값은 모든 조이스틱으로부터 입력을 받음.(축에대한 입력만 사용 됨.)

 

[Button의 이름들]

일반적인 알파벳 키    a, b, c···z 알파벳 그대로 입력한다.

일반적인 숫자 키    1, 2, 3···0 숫자 그대로 입력한다.

화살 키    up, down, left, right

키패드 키    [1], [2], [3], [+], [equals]

수정 키    right shift, left shift, right ctrl, left ctrl, right alt, left alt, right cmd, left cmd

마우스 버튼    mouse 0, mouse 1, mouse 2···

조이스틱 버튼    joystick button 0, joystick button 1, joystick button 2······

스페셜 키  backspace, tab, return, escape, space, delete, enter, insert, home, end, page up, page down

Function키    f1, f2, f3······

:

[UNITY][Script Func]Instantiate() 오브젝트를 복사하는 함수.

유니티 2015. 1. 11. 12:12

[Script Function]Object.Instantiate

[함수 원형]

public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);

public statid Object Instantiate(Object original);

[함수 인자]

 Object

 original

 복사할 게임 오브젝트

 Vector3

 position

 새로운 오브젝트의 위치 값

 Quaternion

 rotation 

 새로운 오브젝트의 회전 값(방향)

[리턴값]

Object      생성된 오브젝트


 

[특징]

  • 첫번째 인자로 넘어온 original오브젝트를 복제하는 함수이다.
  • 유니티 에디터에서 사용하는 Duplicate라는 명령어와 비슷하다.
  • 복제된 오브젝트는 각각 개별적으로 임의의 위치값과 회전값을 가질수 있다.
  • 컴포넌트를 복제할 경우 컴포넌트가 붙어있는 게임오브젝트도 복제된다.
  • 컴포넌트, 게임오브젝트가 복제될때 모든 자식 오브젝트와 컴포넌트들도 원본 오브젝트처럼 복제된다.
  • 복제된 오브젝트의 부모오브젝트는 Null이 되며, 원본 오브젝트와 "형제"관계가 형성되지 않는다.
  • 원할경우 부모 오브젝트를 설정 할 수 있다.
  • 복제될 때 복제된 오브젝트의 상태는 원본 오브젝트의 상태에 따라 그대로 복제된다. 

 

 

: