unity

3rd Person + Fly というのが便利そう。


アセットストアから持ってきてインポート。

プロジェクトに組み込むにはアセット内の Unity 三角マークをダブルクリックすればいい(らしい)。

AssetStore_unity


正しいやり方なのかわからないが、少なくともワイはそれでできた。

あとは「ビルドして実行」で動く。


なお、移動などは WASD などのキーを使う。

・マウス(Mac ならトラックパッド)で視点移動
・W:進行↑  A← S↓ D→
(S キー押しっぱで飛行継続)
・F:飛行

などなど。



前回、unity の解説動画の類はイマイチと言っていたが、これはかなり練りこまれたチュートリアルではないかと思う動画を YouTube で発見。



「超」初心者向けというタイトルにはなっているが、操作方法やコードはそこそこスキルを持った人にも響くものになっていると思う。

早速、動画の手順通りにコーディング。

unity 上で動いたので、ブラウザ向けにビルド。

いちおう、それっぽくはできたが、この時点ではゲームの終了などの処理がない。

そこは、ひろはすさん抜かりない。

続編動画をつくってくれています。



いやあ、至れり尽くせり。

最終的にこんな感じになってたらOKです。

Unity_BreakOut_02

ビルド産物は


に置いておきましたので、参考まで。



(追記)サーバーを貸していただいたフェイザー(PHAZOR 合同会社)関係者の皆様には感謝いたします。
とてもゲームと言えるシロモノではないですが。
いつもいつもすみませんって感じです m(_ _)m


という希望はあるワイ。

とりあえず、WebGL のモジュールを組み込む。

組み込み方は、unity ではなくて unity hub の方から行う。

以下の図のように WebGL のモジュールの方にチェックを入れ、DONE を押すだけ。


unity_WebGL
とりあえず、これで準備はできた(はず)。

* * * * *

確認のために3Dのプロジェクトを作成。

次にプラットフォームを変更するため、メニュー->ファイル->ビルド設定... を選ぶ。

Unity_build_preference
するとこういう画面が出てくる。
unity_build_preference_platform


ここでデフォルト設定から WebGL に変更。
しばらく待っていると設定が切り替わる。

思い切って「ビルドして実行」を踏む(笑)

ビルドが完了したらすぐに新しいブラウザのタブが開き以下のような画面が出現した。
ちとビビる。

Akibachan_First_WebGL_game



ローカルでサーバ立ち上げて実行してくれるわけっすね。

いや便利便利。

とりあえず、環境設定の基本はできたっぽい。


* * * * *

で、ビルド産物を確認。
プロジェクトフォルダを開くと・・・

unity_build_products
なんともシンプルにまとめてくれるじゃあーりませんか。
index.html の中身を確認すると「ここまでやってくれるのかぁ」という感想しかない。
Build フォルダの UnityLoader.js の中身を見て「にやり」とする人も多いのでは?


* * * * *


ところで、こんなことは言わなくていいことかもしれないが、巷に溢れる解説記事の書き方っていうの?
違和感しかない。
Unity にしても Blender にしても他の分野のアプリの作り方と比較するとかなり敷居が低い。
世の中には「hello, world」出力させるだけでも一苦労する環境もあるっていうのに...
ゲームからプログラミングに入ってきた層に配慮してそうしているのかもしれないが、ある程度スキルある人が読んだら「まだるっこしい」という感想を持つと思う。



前回までで blender で動きのある3Dモデルがとりあえずできた。

当然、 unity に取り込みたいという欲求は出てくる。

結論から言うととりあえずはできた





ネット(ブラウザ)で確認したい人は


に飛んでください。


その際にネットで情報を収集したんだが、なんか意味不明な操作を入れている記事が多数あったな。

あと、UnityChan っていうの? あれを取り込んでどうしたこうしたという記事もけっこうあったが、今って UnityChan って公開されてんの?
いきなりスクリプト書き始めている記事もあったりしてマジで意味不明だった。

おそらく初心者層は、

「blender で作成したモデルを unity に取り込んで動くかどうかをまず動作を確認したい」

というのが先に立つと思うので、なんかそういうの微妙な気がする。


簡単に手順だけ書き留めておくと

・blender 上で作成したモデルを .fbx 形式でエクスポート

・unity で上記 .fbx ファイルを取り込む(以降は unity での操作)
 この際、一番簡単なのは .fbx ファイルを unity のアセットに放り込むこと。つか、他のやり方しらん

・取り込んだモデルにアニメーターを「コンポーネントに追加」

・Animator Controller というオブジェクトを作成する
 これも一番簡単にはアセットフォルダ上で副クリック create->Animation Controller でできる

・上の操作で unity 上ではアニメーターレイヤーができる

・アニメーターレイヤーのデフォの Base Layer 上で副クリック。「ステートの作成」を選ぶ。
 「空」でいける。

・インスペクタ上でステートとモーション(元は blender のアーマチュア)を結びつける

でおしまい。
たぶん、ポイントは最後の「ステートとモーションを結びつける」ところ。

動作確認だけするなら、スクリプトやパラメータは一切不要


(追記)一部では好評のようなのでロボウマ娘?の .fbx ファイルを公開しました。
配布場所は https://github.com/air-h-128k-il/OpenHorseRace です。
現在だと blender-sample フォルダ内の roboUM02.fbx というのがそれになります。

OpenHorseRace_HorliX_air-h-128k-il

なお、リポジトリ管理は air-h-128k-il 氏にお願いいたしました。
感謝いたします。
git コマンドは苦手。。。





まずはサンプルのビルド

ちなみにサンプルのカートゲームをビルドするとこうなる。


プラットフォームは win でも Mac でもどちらでもいける(はず)。

矢印キーで加速・右・左の操作ができる。

へーって感じ。



ちょっと触ってみる

しばらく試行錯誤。

慣れねーw

要するにゲームオブジェクト(ゲームを構成する部品、のようなもの)を配置・設定して、適宜コードを追加していけば、まあまあそれっぽくはなってくる。

Unity は物理シミュレーションがお手軽にできるとは聞いていたのだが、デフォルトで入ってた。

球を平面上に設置、矢印キーで動くようにした。
さらに球っころが動く平面も周回上に設置。

Unity 上で動かしてみる。




ウマ娘の完成度からは程遠いがw
オブジェクトを周回することはでけたww




↑このページのトップヘ