중력 감응 조종(unity 아이폰)

1666 단어 iPhone
 :speed
public var simulateAccelerometer:boolean = false;

var speed = 10.0;

function Update () {

	var dir : Vector3 = Vector3.zero;

	if (simulateAccelerometer)

	{

		dir.x = Input.GetAxis("Horizontal");

		dir.y = Input.GetAxis("Vertical");

	}

	else

	{

		dir.x = Input.acceleration.x;

		dir.y = Input.acceleration.y;

	

		// clamp acceleration vector to unit sphere

		if (dir.sqrMagnitude > 1)

			dir.Normalize();

		// Make it move 10 meters per second instead of 10 meters per frame...

	}

	dir *= Time.deltaTime;

	// Move object

	transform.Translate (dir * speed);

}


스피드를 힘으로 바꿀 수도 있어요.
 :Force
public var force:float = 1.0;

public var simulateAccelerometer:boolean = false;



function FixedUpdate () {

	var dir : Vector3 = Vector3.zero;



	if (simulateAccelerometer)

	{

		// using joystick input instead of iPhone accelerometer

		dir.x = Input.GetAxis("Horizontal");

		dir.y = Input.GetAxis("Vertical");

	}

	else

	{

		// we assume that device is held parallel to the ground

		// and Home button is in the right hand

		

		// remap device acceleration axis to game coordinates

		// 1) XY plane of the device is mapped onto XZ plane

		// 2) rotated 90 degrees around Y axis

		dir.x = Input.acceleration.y;

		dir.y = Input.acceleration.x;

		

		// clamp acceleration vector to unit sphere

		if (dir.sqrMagnitude > 1)

			dir.Normalize();

	}

	

	rigidbody.AddForce(dir * force);

}


개인적인 감각 방안은 조종하기만 하면 비교적 유연하고 반응이 민감하다.방안2는 조종하기 시작하면 관성을 가지고 완충이 뚜렷하다.

좋은 웹페이지 즐겨찾기