UniOSCとMaxを使ったOSCの送受信 #Max7 #Unity #OSC

UniOSC購入&起動

UniOSCをUnity Asset Storeで購入し、UniOSC.Mobile Sceneを起動します。

iOSアプリをインストール

Build SettingをiOSにし、Xcodeでビルドインストールします。iPhone6sで実行すると画面レイアウトが崩れますが、とりあえず気にしなければテストはできます。また私の環境だとなぜかIPアドレスがおかしい値になっています。が気にしなくても動きました。OSC OUT側のIPアドレスはMaxが動作しているMacやPCのIPを入力しておきます。

MaxでOSCのRecieve Sendパッチ作成

Max側は、OSCを送受信ですがUDPのオブジェクト使って準備しました。udpsendのIPアドレスにはiPhoneの設定画面で確認したIPアドレスを入力しておきます。また送信側のメッセージにはOSCのフォーマットに合うようにスラッシュをprependしておきます。(そうじゃないと確認できない。)

通信確認

MaxのSender側のスライダーを動かすと、UniOSC appのTraceに受け取れた事が表示されます。逆にUniOSC app側のSendボタンを押せば、Max側で受信を確認できました。

マウスポジションをゲームオブジェクトにレイキャストし、プレイヤーキャラからの回転角度を取得する #unity3d

スクリーンショット 2015-04-14 0.16.35

マウスの方向にキャラクターを向ける場合などに利用できる。

Code


void Turning ()
{
    Ray camRay = Camera.main.ScreenPointToRay (Input.mousePosition);

    RaycastHit floorHit;

    if (Physics.Raycast (camRay, out floorHit, camRayLength, floorMask)) {

        Vector3 playerToMouse = floorHit.point - transform.position;
         playerToMouse.y = 0f;

        Quaternion newRotation = Quaternion.LookRotation (playerToMouse);
        playerRigidbody.MoveRotation (newRotation);
    }
}

参考

Beginner Survival shooter  – PLAYER CHARACTER