ヤマコーブログ

五流ゲームプログラマー山木光石がUnityでなんかゲームを作るブログ。 なお言語はC#がメインです。 基本的に備忘録とかになります。

2014年06月

PSMでタッチ機能や、センサー類を利用する場合はこちら。

void OnGUI(){
GUILayout.Box(string.Format("mousePosition={0}, {1}, {2}", Input.mousePosition.x, Input.mousePosition.y, Input.mousePosition.z));
//タッチ機能
for (int i = 0; i < Input.touchCount; ++i)
{
Vector2 pos = Input.GetTouch(i).position;
GUI.Label(new Rect(pos.x, Screen.height - pos.y, 50, 30), "(X) #" + i);
}
 
//背面タッチ
foreach (Touch touch in PSMInput.touchesSecondary)
{
Vector2 pos = touch.position;
GUI.Label(new Rect(pos.x, Screen.height - pos.y, 50, 30), "(X) #" + touch.fingerId);
}

//加速度センサ
GUI.Label (new Rect (20, 380, 200, 30), "Acceleration:" + Input.acceleration);
//ジャイロセンサ
GUI.Label (new Rect (20, 440, 200, 30), "Gyro:" + Input.gyro.rotationRate);



ほぼ参考URL先のコピペです。
前面は6つまでマルチタッチOK,背面は4つまでのようです。

これと前のボタン入力があれば十分にゲームになりそうですね!


参考
http://mohammedari.blogspot.jp/2014/06/unity-for-psmps-vita.html
https://psm.playstation.net/static/general/all/unity_for_psm/ja/Documentation/Manual/PSMFeatures.html 

テストできた!さあ実装しよう!・・・と思ったけれど、キー入力はどうやって受け取ればいいのか?
ある程度検証出来たので、解説します。

まず、InputManagerの設定をします。
Edit >  Project Settings > Input を選択

SnapCrab_NoName_2014-6-27_23-16-13_No-00


使えるパラメータの数を増やします。(いくつかは自分で適当に調整してね)
SnapCrab_NoName_2014-6-27_23-57-13_No-00

追加するパラメータは
R_Stick_Horizontal (右スティック)
R_Stick_Vertical (右スティック)
L_Stick_Horizontal (左スティック)
L_Stick_Vertical (左スティック)
Key0 (☓)
Key1 (◯)
Key2 (□)
Key3 (△)
Key4 (L)
Key5 (R)
Key6 (SELECT)
Key7 (START)
Key8 (十字キー上)
Key9 (十字キー右)
Key10 (十字キー下)
Key11 (十字キー左)

以上の15項目です。ちなみに、Key0とかそういう名前は自由に決めてもいいです。
わかりやすい名前にしてあげてください。 

では各項目の設定内容の解説へ。
R_Stickの2項目はこのように設定してください。

SnapCrab_NoName_2014-6-28_0-5-20_No-00

L_Stickはこのように。
SnapCrab_NoName_2014-6-28_0-7-17_No-00

Key0~以降は、このように設定します。
SnapCrab_NoName_2014-6-28_0-9-43_No-00

赤で囲ってる数字だけを変えたものを0~11まで用意すれば出来上がりです。



・実装の手引き

float R_ver = 0.0f;
float R_Hor = 0.0f;
float L_ver = 0.0f;
float L_Hor = 0.0f;

bool key0 = false;

void Update () {
//左右のスティックはFloatで取得されます 
R_ver = Input.GetAxis ("R_Stick_Vertical");
R_Hor = Input.GetAxis ("R_Stick_Horizontal");

L_ver = Input.GetAxis ("L_Stick_Vertical");
L_Hor = Input.GetAxis ("L_Stick_Horizontal");

//Key0の押下。~11までコレと同じやり方で取得できます。
key0 = Input.GetButton("Key0");
 
}


なお、タッチ機能やジャイロセンサ、加速度センサなどの機能は調べてないのでわかりません。 
以上!

PSVita(実機)で動かすための導入手順書です。

今導入中なので、メモとして記事を起こします。


1.Unity Editor、PSM Tool Set for Unityをダウンロード
ここのリンクから。
https://psm.playstation.net/static/general/all/ja/sdk_assets.html#sdkforunity

2.PSVitaで、PSStoreからPSM Development Assistant for Unityをダウンロード

3.PSMパブリッシャーライセンスの取得
https://psm.playstation.net/portal/ja/#top
ここのリンクから、青い申請ボタンを押して、必要情報を記入して申請します。
※なお、審査に5営業日掛かる模様(実際はそこまでかからないようです)

4.申請ボタンが「PSMパブリッシャーライセンスの入手」ボタンに変わってるので押す、画面を進める
https://psm.playstation.net/portal/ja/#top

5.Publishing Utility for Unityを起動して、パブリッシャー鍵を作成する

6.PSVitaでPSM Dev for Unityを起動して、PCをUSBケーブルで接続する

7.Unity for PSMで、作成したプロジェクトを開き「PlayStation Mobile(PlayStation Vitaじゃなく)」でビルド(Build And Run)する。
(Autoconnect Profillerにチェックをつけたほうが良い?)
※ここでPSVitaとつながってないとかいうエラーが出た場合、PSVitaを再接続して、PSMDevforUnityを立ち上げなおして、ケーブル挿し直しましょう。

8. Hello  PSVita World !!
 

3DTextがなぜかぼやけて表示される・・・そんな経験はありませんか!?
この画像の上みたいな感じです。
SnapCrab_NoName_2014-6-20_20-26-52_No-00

上にあるのも、下にあるのも同じ3DTextなのに、なぜこんなに違いがあるんでしょうか。

どうやら、Text Meshのパラメータに違いがあるようです。

上の3D Textのパラメータはこれ。何の変哲もないデフォルト状態です。
SnapCrab_NoName_2014-6-20_20-29-49_No-00


そして下のほうはこれ。

SnapCrab_NoName_2014-6-20_20-31-41_No-00

Character Sizeが0.01、Font Sizeが1300にしてあります。クレイジー!

どうやら、Character Sizeが大きい数だとぼやけるみたいですね。
そういうわけで、Character Sizeを小さい数にして、Font Sizeを大きくしてやればクッキリ3D Textが使えるわけですね!


 あと、こんなに極端な数にしなくても大丈夫だと思います。(たぶんね

ゾンビから逃げて、チェックポイントを回るゲームです。
かなり色んな所が雑ですが、ゲームにはなりました。

http://unityroom.com/game/000061
 

↑このページのトップヘ