月別アーカイブ: 6月 2016

あらためてBlender→Unity簡単ゲーム01

標準

1.Blenderでキャラクター作成

[実験]Rigfyは、ジェネレートした形でもUnityにもっていけるのか?
[結論]持っていけたが、ボーン構造がとても複雑!

2.Rigfyが大変。リムーブダブル、法線方向再計算などを試してから自動ウェイト。

↑うまくいかないときの参考に。

Rigwip

Rigfyがうまくつながったところ

Oculus DK2 とUnity 2016 開発

標準

2016になってOculusドライバーが変わったり、グラボのスペック上がったりでVR開発に再挑戦するにはいろいろメモしておく必要がありそう。

グラボ GTX 970以上。Xboxコントローラーを用意した。

これで初めてOculusの新ドライバーが動く。ただ、DK2なので、サポートしてないよメッセージは消えない(⌒-⌒; )

ーーーー

GameEngine用のOculus Packageを使う

unity5のバージョンで、ダウンロードするパッケージが違うので、ここはunity5.4.0b11 以上を使うこと前提で(2016/6/21現在)。unity 5.4.0b15を超えると、特別なプラグインが必要なくなるかもしれない。

https://developer.oculus.com/documentation/game-engines/latest/

上記ページの指示に従い、OVRPlugin for Unity1.3.2をダウンロードする。

その後、

1)Unityを終了する。
2) C:\Program Files\Unity\Editor\Data\VR\Unity を探す
3) そこのファイルを全て削除するDelete all contents of the directory.
4)OVRPlugin zipを解凍し、フォルダ 5.4\Unityを開き、全てのファイルをC:\Program Files\Unity\Editor\Data\VR\Unity フォルダに移動する

 

 

Blender→Unity→VRその3(MobileVR)

標準

Google VR SDK で簡単モバイルVR

参考書「UnrealEngine&Unityエンジニア養成読本」Software Design Plus

1.UnityちゃんCandyRockStarを利用して。。。

ダウンロード(Unityちゃんライセンスに同意する)
http://unity-chan.com/contents/news/crs-gearvr/

解凍したフォルダ「unitychan-crs-master」の中身をすべてコピーして、作成しようとしているUnityProjectフォルダにペースト。上書きを確認されたらすべてイエスでインストールする。

Assets→Scenes→Main(.unity)をダブルクリック

Playを開始する。

CandyRockStage

2.Google VR SDK for Unityのインポート

Google VR SDK for Unityの圧縮形式ファイルをダウンロードして展開する。
Unityのほうから、Assetsメニュー→インポートパッケージ→カスタムパッケージを選択し、上記Google VR SDK for Unityパッケージを指定する。

3.VRカメラに変更

Mainシーンのヒエラルキーウィンドウにある、Stage Directorのインスペクタ(プロパティ)をみる。Stage Directorスクリプトのうち、「Main Camera Rig Prefab」のところを、GvrMainに変更する。

そのままプレイすると、実行画面が2画面になるのがわかる。

ただし、カメラ位置が近すぎるので、GvrMainの場所を次のように変更する

Position X:0 y:0 z:0 → X:0 y:1 z:2
Rotation         → y:180

4.ビルドする

File→ビルドセッティングでiOSを選択する。最初は、モジュールがないと言われ、自動的にダウンロードが始まる。実行形式になっているので、ダブルクリックする。

もう一度ファイルメニューからビルドセッティングを読み直すと、今度はiOSに「プラットフォームを変更」できる。

ただし、ここから先はMacのXCodeでの作業(中断)


Androidへのビルド
Android SDKが必要 かわりに Android Studio v2.1を導入
Android Studioは途中で、7u67以上のJDKが必要と言われる。→8u91を導入。

一度Andoroid Studioのインストーラを中断し、JDKがインストールできたのを確認してからもう一度インストール起動。4GB近くある?
しかも、もう一度起動して、さらにコンポーネントを設定するようである。

ん~、それでもUnityからのandroidビルドが止まる~
参考
https://akira-watson.com/android/adt-windows.html#SDK

SDK マネージャーでAndroid4.4以上をいれる→Unityのビルド設定で、最初バージョンを4.4にする

Android-SDKは思いがけない場所に入っているので設定で、保存場所を変えるとよい

その後、エラー表示。
だいたい、これと同じ症状。
http://stackoverflow.com/questions/26856305/unity-failed-to-compile-resources-with-the-following-parameters

思い当たることとして、jdk1.7とjdk1.8の両方をいれていたので、思い切ってjdk1.7をアンインストール。

するとビルドの途中で、jdkフォルダの場所を聞いてくるので、jdk1.8フォルダを指定。うまくビルド完了した。

 

 

 

 

 

Blender→Unity→VRその2(Unityの空、海)

標準

・Unityでの水の設定(FXWaterProのアップグレード必要)
Environment→Waterで水を出したときピンクになってしまった場合

http://answers.unity3d.com/questions/1192325/pink-water.html

・空

新規マテリアルでSkybox6面を作成

シェーダーをSkybox/6 sidedに変える
(あるいは、Skybox/CubeMapを使う)
Asset StoreからWispy Skyなどの無料アセットを探す(か、テクスチャを自作する)

Blender→Unity→VR

標準

1.Blenderでキャラクタ作成。Unityに持ち込むことを考えると、ローポリが望ましいが、Rigfyを設定するには、細分化したモデルのほうがいいかもしれない(アニメーションをつけるにも)

なので、何段階かにわけて、Blenderデータを保存しておこう。

図は、Rigifyのジェネレータボタンを押して、使いやすいリグに直した状態。rigify01

2. モーションをつけるには、Rigifyをジェネレートしてからおこなったほうが便利(図は、ジェネレートしないまま手付けでモーションつけた)。作成したモーションは、ユーザーがない状態だと保存されないため、モーション名の隣にある、F(Fakeユーザー)ボタンを押しておく。

setsumei01

3.モデルとアーマチュアの両方を選択して、fbxで出力するが、Unityにもっていくと軸がずれるかもしれない。その場合は、下記注意事項4)を実施する。

1)Blenderでキャラクタ作成→Rigifyアドオンを使い、MetaRigとキャラクタをあわせる。
2)今回はジェネレートせずに、メッシュ→アーマチュアを選択し、自動ウェイトづけ。このときに細分化が必要かもしれないが、細分化アドオンは適用しないまま使う。
3)アーマチュアとメッシュのリンクが確認できたら、細分化アドオンは(適用せずに)削除する。
4)メッシュとアーマチュアの両方を選択してFBXで出力。(アーマチュアは回転x:-90で適用。さらにx:90,y:0,z:180回転。メッシュは回転x:-90になっているところをx:0に直して適用してからのほうが、Unity側で回転しなくていい)

4.Unity側には、インポートし、リグにhumanoid(人間型)を選ぶだけでほぼ大丈夫。

rigify-unity

5.Unity側でのアニメーション(mecanim)適用方法(C#スクリプト必要)

1)ヒエラルキーからアニメーションコントローラ作成。適当に名前をつける。
2)キャラクターに、アニメーターコンポーネントが追加されていることを確認(ない場合は、追加)。アバターには、キャラクタのアバターを設定。また、コントローラーには、上記1)のアニメーションコントローラを設定。
3)そのアニメーションコントローラをダブルクリックし、アニメータ設定ウィンドウを開く。
4)画面上で右クリック。新規ステートメント→Emptyを作成し、Moveなどの名前に変える。
5)キャラクタの歩くスピードによって、ウェイトポーズ→歩きモーション→走りモーションに変更したいので、パラメータに、Speed変数を追加(floatタイプ)。
6)4)で作成したステートメントを右クリックし、「ブレンドツリーをステートメント内に作成」を選択。
7)ダブルクリックすると、ブレンドツリー設定画面になるので、ブレンドしたいモーションを選択し、変数との関係を調整する。

キャラクタにメカニム設定までは、こちらの記事も参考になる(Shadeの記事ではあるが)
https://shade3d.jp/training/unity/tips_2.html