【Unity】iPhoneを振った時にゲームオブジェクトを動かす

unity3d-3

□サイト内検索


スポンサードリンク

Iphone Shaking | Unity Communityより
iPhone自体を振ったとき、ゲームオブジェクトに対して何かの動作を加えるスクリプトが紹介されていました。

以下のスクリプトを作成して
アクションさせたいゲームオブジェクトにAdd componentします。
ソースはjavascriptです。


	var accelerometerUpdateInterval : float = 1.0 / 60.0;
	// The greater the value of LowPassKernelWidthInSeconds, the slower the filtered value will converge towards current input sample (and vice versa).
	var lowPassKernelWidthInSeconds : float = 1.0;
	// This next parameter is initialized to 2.0 per Apple's recommendation, or at least according to Brady! 😉
	var shakeDetectionThreshold : float = 2.0;
	
	private var lowPassFilterFactor : float = accelerometerUpdateInterval / lowPassKernelWidthInSeconds;
	private var lowPassValue : Vector3 = Vector3.zero;
	private var acceleration : Vector3;
	private var deltaAcceleration : Vector3;
	
	
	function Start()
	{
		shakeDetectionThreshold *= shakeDetectionThreshold;
		lowPassValue = Input.acceleration;
	}
	
	
	function Update()
	{
		acceleration = Input.acceleration;
		lowPassValue = Vector3.Lerp(lowPassValue, acceleration, lowPassFilterFactor);
		deltaAcceleration = acceleration - lowPassValue;
		if (deltaAcceleration.sqrMagnitude >= shakeDetectionThreshold)
		{
			// Perform your "shaking actions" here, with suitable guards in the if check above, if necessary to not, to not fire again if they're already being performed.
			
			//iPhoneを振ったときにゲームオブジェクトへさせるアクション
			Debug.Log("Shake event detected at time "+Time.time);
			transform.Rotate(0,5, 0);
			transform.localScale.x= 10.0f;
			
		}
	}

スポンサードリンク

このサイトが役に立ったらシェアにご協力ください

  • このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です