Unityでの開発について
目次
Axis Neuronを起動しておいて、TCPかUDPでストリームで各関節のデータを流す感じ。別PCのIPアドレスを指定して接続して使うのもOK
確認環境
- Unity5.2.0f3(Oculusの場合はいろいろと問題があるバージョン
- Unity Integration、Unity用の統合パッケージPerceptionNeuronUnityIntegration_0.2.2
※最新のUnity統合用アセットのダウンロード
は公式から。https://neuronmocap.com/downloads
unitypackageの取り込み
PerceptionNeuronUnityIntegration_0.2.2のzipをDLして解凍、 PerceptionNeuronUnityIntegration.unitypackage をプロジェクトに取り込む。
また新規の場合はそのままProjectSettingsを上書き。
既存プロジェクトの場合は今までの設定が上書きで消えてしまうので、個別に設定を行う。
Unity HandbookのHOW TO GET THE INTEGRATION INTO UNITY(P6)
PerceptionNeuron_UnityIntegration.unitypackage
を取り込む- Edit -> Project Settings -> Tags and Layersで
Body
レイヤーを追加。(別の名前でもOK) - Edit -> Project Settings -> Physics で追加した
Body
レイヤーで同じBodyレイヤー同士でコリジョンの影響がないようにチェックをOFFにする。
統合パッケージについて
Unity Handbookを参照。だいたい全部書いてある。
任意のモデルデータを使う場合
NEURON SKELETON TOOLSを使う。
Unity HandbookのP14、15
Oculusのサンプルを動かす
NeuronExamples\OVRExample\OVRExampleScene.unityのサンプルシーンを開く
AxisNeuronとUnityの接続
NeuronRobot_LowPolyRigにアタッチされているNeuronAnimatorInstance.csのAdressを確認。
→ 同一PCでAxisNeuronを起動している場合は、今のPCを示すループバックアドレスの127.0.0.1を指定。(なぜか変な値が入っていたことがあった)
→ 別PCの場合はそのIPアドレス。たとえばcmdからのipconfigでIPv4 アドレス . . . . . . . . . . . .: 192.168.0.12 のようなローカルのアドレス。つながらない場合はFWのポート設定とかを確認。同一PCで動かす場合は気にしなくてもおk
※このあたりはAxis NeuronのSettingsのGeneralとかBroadcastingの設定を確認しながら。ただしこのあたりの設定は特に弄る必要はなくデフォルトでOK。GeneralにあるIPは自動的に切り替わってくれる。
OculusのポジトラとPerception Neuronで動くキャラクターの頭の位置をばっちり合わせる
OVRCameraRigにアタッチされているNeuronOVRAdapter.cs内でコメントアウトされている箇所を戻す。
これはUnity4.6時代で一般的であったOculusSDKを使う場合は、NeuronOVRAdapter.csでエラーが出るコードらしく、コメントアウトされて動かない。
Bind Transformに位置を追従させたいオブジェクトを指定。OVR Cameraにそれを指定。
※実装サンプルのデモシーンであるOVRExampleScene.unityではNeuronRobot_LowPolyRigの頭にあるRobot_Headの子に空のゲームオブジェクトOVRCameraTargetを追加して指定している。
Unityで開発する時の流れ
PerceptionNeuronを装着して毎回席立って動いて確認というのはやってられないので、AxisNeuronのモーションの録画機能で保存して、保存したモーションをループ再生しておいてUnity上で流し続ける感じがGood。PerceptionNeuronを接続してなくてもOK。
モーションの保存
保存したモーションデータの再生
PerceptionNeuron使ってみた
まずは適当なモデルになってみる失敗編
Unityに接続してProject PERCEPTION NEURONで好きなキャラになってみた pic.twitter.com/SFibasmu1n
— ゆーじP (@yuujii) August 14, 2015
Axis Neuronで作れるrawデータをUnityに流し込み pic.twitter.com/XnxTMvzQej
— ゆーじP (@yuujii) August 14, 2015
E.T.
指先のあたり判定でイベント実行
E.T. pic.twitter.com/6rSQSuh5zq
— ゆーじP (@yuujii) August 15, 2015
VRろくろ
手で粘土モデルをろくろで回して成形。両手を上げるとSTLファイル出力
#PerceptionNeuron でろくろ回し pic.twitter.com/u3NeD1aZwx
— ゆーじP (@yuujii) August 16, 2015
唐揚げ召喚のポーズ
任意のポーズで任意のイベントを実行
#PerceptionNeuron で唐揚げ召喚のポーズ pic.twitter.com/RmlbAGUezt
— ゆーじP (@yuujii) August 16, 2015
VR壁画
左手のジェスチャーで空間内を移動。右手の指でモデルデータのMesh上に色塗り
Perception Neuronでぬりえ。もはや壁画である。#PerceptionNeuron pic.twitter.com/goSPGJjpD7
— ゆーじP (@yuujii) September 13, 2015
モーションキャプチャ
ニコ生放送終了後にMCの声優の有野いくさん(Twitter@iku_arino)に踊っていただきました。
【ニコ生タイムシフト視聴中(2015/09/14 20:30放送)】『オキュっていいとも!』第8回 ゲストは引き続きゆーじさん #nicoch688 #オキュっていいとも http://nico.ms/lv233912025
日本に3台くらいしかない!と言われるNeuron(にゅーろん)を装着中!! 今日こそ改造人間にされるかも…(;_;) http://t.co/dNvAD3aEIA pic.twitter.com/CovT7AD6Ki
— 有野いく@からあげフェスティバル (@iku_arino) September 14, 2015
オキュっていいともご視聴ありがとうございました。 モーションデータは近日中にブログで公開します。 (動画は放送終了後にPerception Neuronを着たまま「みなかみ体操」を歌って踊る声優のいくちょん @iku_arino ) pic.twitter.com/n7lLE5vpxd
— ゆーじP (@yuujii) September 14, 2015
rawデータのダウンロードはこちら
最初に頭のNeuronがずれていたり、Axis Neuron上で身長や関節の長さの設定などが未調整のため色々と厳しめではある。