忍者ブログ
お知らせと画力修行用に開設しました。よろしくお願いします!
[83]  [82]  [80]  [78]  [76]  [75]  [74]  [73]  [72]  [71]  [70
今までは、アイフォンでアプリを作る為に色々調べてきたのですが、vita を買ってついでにパブリッシャー
ライセンスを申し込こみました。秋にPSMがuntiyに対応するしうなので、そちらにも、何か作る
ためにとりあえずPS2のコントローラーで動かせる為に色々調べました。

まずは入力なのですが下のサイトの記事を参考にさせていただきまた。ほんとにネットの記事には
助けられます。http://unity-study.net/archives/205

コントローラーによって色々設定が変わるみたいですね。

いろいろ調べたのですが、アナログの倒した方向に向くといサンプルが見つからなかったので、
三角関数を使えば角度が割り出せる事を思い出してコードを書きました。

x軸y軸の二点の座標がから座標を検して角度に割り当ててます。二点目は真ん中なので
0を割り当ててます。

細かい数字があると、しっくりこなかったので、切り捨ててます。

var horizontal : float;
var vertical : float;

function OnGUI() {
GUI.Label(Rect(10, 10, 100, 40), "horizonta"+horizontal);
GUI.Label(Rect(10, 40, 100, 40), "vertical"+vertical);


}

function Update() {



// 水平方向の入力量(-1?1)
horizontal = Input.GetAxis("Horizontal");
if (Mathf.Abs(horizontal)<0.4){
horizontal=0;
}

// 垂直方向の入力量(-1?1)
vertical = Input.GetAxis("Vertical");
if (Mathf.Abs(vertical)<0.4){
vertical=0;
}

var posx = horizontal-0;
var posy = vertical-0;

var niten : float;
var kakudo : float;
var kakudo2 : float;

niten=Mathf.Sqrt((posx*posx)+(posy*posy));//二点の距離を求める
kakudo = Mathf.Atan2(posx, posy); // xとyの順に注意!
kakudo2 = kakudo * Mathf.Rad2Deg;//ラジアンから角度に変換

kakudo2=Mathf.RoundToInt(kakudo2);
Debug.Log("kakudo"+kakudo2);

if(Mathf.Abs((horizontal+vertical))>0.001){

transform.rotation = Quaternion.AngleAxis(0+kakudo2, Vector3.up);
}
}




拍手

PR
Comment
name 
title 
color 
mail 
URL
comment 
pass    Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメントの修正にはpasswordが必要です。任意の英数字を入力して下さい。
Template by Crow's nest 忍者ブログ [PR]