Tip And Tech2012. 2. 9. 15:12

if
(Capabilities.cpuArchitecture=="ARM") { NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true); NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, handleDeactivate, false, 0, true); NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, handleKeys, false, 0, true); }

Define handlers:

private function handleActivate(event:Event):void
{
	NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
}
 
private function handleDeactivate(event:Event):void
{
	NativeApplication.nativeApplication.exit();
}
 
private function handleKeys(event:KeyboardEvent):void
{
	if(event.keyCode == Keyboard.BACK)
	NativeApplication.nativeApplication.exit();
}
Posted by 버터백통
Unity3D2012. 2. 3. 14:31


객체를 움직이게 하는 방법은 다양하다. 컴퍼넌트 중에 캐릭터 컨트롤러를 사용하면 가장 손 쉽고 편하게 사용할 수 있다. 하지만 궂이 만들어 보았다...물론 캐릭터 컨트롤러 컴퍼넌트의 기능이 아닌 다른 기능을 사용 하고 싶을 때를 대비하기 위해서 테스트 해 보았다. 감도와 회전 속도 등 당연히 손봐야 하겠지만 일단 연산을 제외한 함수2개로 자동차 객체를 움직여보았다. 사용된 함수는 AddForce(이동)와 RotateAround(회전)를 사용하였다.

Unity Web Player | car action

Posted by 버터백통
Unity3D2012. 2. 2. 16:11
Actor::updateMassFromShapes: Compute mesh inertia tensor failed for one of the actor's mesh shapes! Please change mesh geometry or supply a tensor manually!
위와 같이 updateMassFromShapes에러가 발생하는 대부분은 rigidbody를 적용한 디자인된 3D 모델의 collider의 마무리가 닫혀있는 상태가 아니기 때문이다. 즉 끝점이 맞물려 덩어리를 이루지 못하고 끝 점이 열린 상태이므로 메시 처리할 때 끝점과 시작점을 찾을 수 없기 때문에 발생한다고 생각하면 될 것 같다.

해결 방법은 간단하다.
 새로운 collider를 만들어 반영한 후에 rigidbody를 반영하면 에러가 없어 질 것 이다.

Posted by 버터백통
Unity3D2012. 2. 1. 19:20

교재보고 따라 한건데...버그가...

Unity Web Player | jump action

Posted by 버터백통
Unity3D2012. 2. 1. 11:37

유니티에서 가장 많이 사용하는 비헤이비어는 Start(), Update(), FixedUpdate(), LateUpdate()가 될 것이다.

Start()는 시작 할 때 한 번 실행하여 황경설정할 때 사용하면 유용하다.
Update()는 매 프레임마다 실행하며 컴퓨터에 영향을 받는다.
FixedUpdate()는 매프레임마다 실행하며 컴퓨터의 영향을 받지 않도록 무조건 실행하게 한다.
LateUpdate()는 Update() 다음에 바로 실행한다. 가령 캐릭터가 이동 후 카메라의 위치를 업데이트 하기 위해 사용하면 유용하다.
Posted by 버터백통
Unity3D2012. 2. 1. 11:00

C#에도 반복문 내부에 yield를 지원하지만 유니티에서는 형태와 용법이 조금 다르다.
우선 yield키워드에 특정 함수를 사용하면 루틴에서 딜레이를 갖게 된다.
yield WaitForSeconds(1);
Destroy( MyObject );
위아 같은 경우 1초뒤에 Destroy()가 실행한다...

중요한 것은 애니메이션이나 사운드등 다른 프로세스에는 영향을 주지 않는다.

관련 클래스로는
WaitForSeconds, WaitForFixedUpdate, Coroutine and MonoBehaviour.StartCoroutine가 있다

Posted by 버터백통