AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

Unity

ML-Agents tennis 横移動もできるようにして学習中

X,Y軸移動だけだったのをZ軸移動も追加 ラケットもZ軸回転だけだったのをY軸回転も追加 これで斜め軌道でボールを打つこともできるようになったがしかし、学習の難度はかなり増加したのでだいぶ学習時間がかかりそう 初めZ軸がまったく移動しないので、「は…

ML-Agents tennis テニスらしくなってきた

学習200万ステップぐらいでラリーが十分続くようになった テニスらしくワンバウンドで打ち合うようになった元のサンプルと変えた部分は、 サービス位置をコートの端まで下げた(元は真ん中ぐらいで近すぎる) サーブをすぐ学習できるように、ボールの位置を…

ML-Agents 1バウンドOKのTennisの1000万回学習結果

一晩学習させて1000万ステップいきましたが、1バウンドOKなのに結局バドミントンみたいになってました 0から学習の様子を眺めて、分かったのが、学習の流れが、 サーブすらできない サーブができるようになる サーブリターンができるようになる サーブリータ…

ml-agentsのtennisを2バウンドアウトに変更して学習してみる

なぜかml-agentのサンプルのテニスは、1バウンドがアウトになってて羽子板みたいなプレイになっている 卓球は1バウンドでノーバウンドアウトだが、テニスはノーバウンドまたは1バウンドセーフでアウトなのは2バウンドということでHitWall.csを改造して1バウ…

ml-agentsで3Dballの学習にY軸回転も追加してみる

強化学習ってのは水族館でのアシカの調教と同じで、うまくやったら餌をやり、失敗したら怒る学習 教師あり学習と違って、アシカがどう動くはアシカに任せて、結果だけで評価する 初期状態では基本的にはランダムに動く 成功したら、その成功に道筋すべての行…

ML-Agentsで強化学習サンプル動かしてみる

qiita.comこの記事を参考にml-agentsのサンプルを動かしてみた Python(Anaconda3)をインストール Release ML-Agents Release 3 · Unity-Technologies/ml-agents · GitHub これをDLして、解凍し、 Anaconda上で動くPowerShellを使って、以下をインストール pi…

VRでVRoidの肩・手・腰をつかんで動かす

NPCの肩・手・腰をつかんで動かせるようにしてみた。 自分の好きなポーズをとらすことができる(まだ関節可動域がかなりおかしい) 手・肩・腰を動かせる足も動かせるんだけど、IKがかなり暴れるので、とりあえず先送り なぜかFinalIKのFBBIKには頭にEffecto…

VRoidで髪型を作ってみた

初めて作ったんで、こんなもんでしょう なんかいまいちだけど、具体的にどこをどうすればいいか解らない 上手い人の髪型と比べてみるしか無いんだろうけど ボーンもよく解らないけど自動的に入った Boothでセーラー服のテクスチャや髪型を買ったりしてキャラ…

MeshAnimatorでVRoidを2000人走らせる

MeshAnimatorはAnimator付きのHumanoidのアニメーションをmeshの頂点移動アニメーションに焼きこんでしまうツールです。AssetメニューからCreate→MeshAnimatorで上記のメニューが出るので、Humanoidモデルと、下の方にAnimationが定義されたAnimatorを登録し…

Ragdoll系のアセットを二つ試す

Easy Ragdoll creator Humanoidを指定すると自動的にラグドールにしてくれるツール assetstore.unity.com Easay Ragdoll creator VRoidキャラを指定したけど残念ながら正しくボーンを取得できなかった。表記ゆれもあるし、スカートやら髪やらのボーンもある…

Magica ClothをVRoidに使ってみる

アセットストアで販売中のクロースシミュレーターのMagicalClothをVRoidに適用してみた。 左側が従来のSpringBoneによるVRoidモデル。真ん中がMagicaCloth適用。右側のUnityちゃんは付属モデルでこちらもCloth適用。 (ただスカート部分がほとんどないのでモ…

Unityの株を1株だけ買ってみた

9月の中旬ぐらいにUnityが上場してて、一株70ドルぐらいだったのが一時100ドルぐらいまで値上がりしてたけど、今、85ドルまで下ってたので、記念に1株だけ買ってみた。 ゲームエンジンの世界では、UnityよUnrealは鉄板だし、一般への普及を考えるとUnityの広…

navmeshのbakeがおかしい

階段の手前に穴があいたままふさがらない。 上にはなにも乗ってないのに。 一度clearしてbakeしなおしてもだめ。 staticなものが乗ったままでいると、文字通り焼き付いてしまっている模様( ゚Д゚) clearが本当のclearじゃないのか? あと、この木はNavgationSt…

FreetelReiスマホで40fpsキタ━━━━(゚∀゚)━━━━!!

校舎裏で40fps行くようになった! LODでキャラクターは全員非表示状態になっている ただし、非表示でも、移動やキャラ同士の交流などAI機能は働いている。 ここの負荷を下げるためには、1fpsごとにやらないで、0.4secごとに処理するなど間引きをしている。キ…

ジョイパッドのAxis

リアルパッドの話ですが、左アナログパッドは各社でほぼ統一されているようですが、右アナログパッドはバラバラな模様。 うちのGameSirのパッドだと、スマホのUSBホストに刺すと、上下の動きが左右になっていて、左右の動きは上下に反映されません。 (PCで…

Materialをスクリプトで実行時に作成してSetPassCall数を比較

AOIちゃんMモデルをマテリアル1にするのに成功したので、Shaderで髪と目の色を指定できるようにしました。目と髪が別々に色指定可能ですが、メッシュが1つなので、髪と目がそれぞれ5色だと、25個のマテリアルを作る必要があります。 別々なら10個で済むの…

学校シミュレーター進捗

ゾンビが出てくるようになりました。 ゾンビに襲われるとゾンビになります。 銃が使えるようになった。ライフルとピストルの2種。弾が無くなるとリロードで装填。 売店でも弾を売ってます。 自転車に加えて、ベスパにも乗れるようになった(安全運転をここ…

UnityTexturePaintを試す

qiita.com上記で公開されているUnityTexturePaintを試してみた。 SDユニティちゃんにペイントしている画像もあったんで、SkinnedMeshにも対応してるのかな?と思ったんですが、 DynamicCanvasの仕様はmesh前提の模様?とりあえずmeshで試してみましたが、mes…

バスを走らせて乗せてみる

内装もあるバスの3Dデータが無料でダウンロードできたので、走らせてみました。 ただ、元がobjファイルで、Unityにはimportはできるんですが、マテリアルが無い状態。テクスチャはあるので貼ればバスの絵にはなるんですが、 窓が別マテリアルになってないの…

生徒数8x6=48人に増員

シューズロッカーが1ブロック8つまでだったので、1クラス8人にしました。 校舎の都合で教室は6つしかないので、6組まで。 部活の着替え用にロッカー室を作りたいけど、48個もロッカーを並べる作業はやりたくないので、 editor拡張で並べます。あらかじめ…

ロッカー閉じ込め事故w

テニス部の部員が着替えているときに、ロッカーの中に入って遊んでいたら、 そのままロッカーの扉を閉められて出られなくなった伊藤ともか(主人公) このままだと空腹と尿意のパラメーターが上昇していく部活が終わったらまたロッカーに着替えに戻ってくる…

自動販売機でコーラを買えるようになった

Buy ColdDrinkを選ぶとコーラーがごろごろ転がるので PickUpでつかむと右手にコーラを持てるコーラはDropするか投げることができるが、まだ飲むことはできない(´・ω・`) Swingもできるが、攻撃用のスクリプトをaddしてないので当たってもノーダメージ。 コー…

飛べるようになった

ジャンプというより飛行モード( ゚Д゚) ビルの上に行けるようになった。 飛ばす時に役に立つのがQueryちゃんの飛行モーション( ゚Д゚) 歩行時はプレイヤーもNavMeshAgentなので、普通にtransform.positonを更新するだけNavMeshの障害物を突き抜けないで移動でき…

YandereSimulatorのAI定義

KUMAGAMESさんのTweetより生徒は全て共通でAIはこんな感じヤンデレシミュレータは個別に作っているらしいデバッグが恐ろしいことになる pic.twitter.com/4i1mpkyOPB— SUGIKAMI@KUMAGAMES (@sugikami1982) 2017年2月17日YandereSimulatorのAIは、ステートマ…

エプロン合成後のボーンウェイトを調べる

ヤンデレちゃんにエプロンを合成したあとのボーン重みづけの状態を調べてみた。エプロン合成前は頂点数6085のmesh(髪の毛を削除しているのでその分、標準Hモデルより少ない)エプロン合成後は、6327頂点に増える エプロンmesh自体は241頂点なので、丁度エプ…

SimpleLODでテクスチャアトラスを焼く

テクスチャをまとめる使い方がやっとわかった。menuからbake atlasを選んだら、まとめたいマテリアルを画像ではなく、左側の大きな枠をD&Dしてやれば、それか子階層になって、プロパティはは親に準じる状態になってマテリアルが2から1にまとまる。 さらに…

真冬ですがプール作りました

アセットのプールはまだ買ってないので自作プール(キューブと非常階段と学校廊下アセットのタイルテクスチャ) プールエリアに入ると自動的にスク水に切り替わる(LODもやっている) NavMeshのOffLinkで飛び降りさせるとか色々と方法はあると思いますが、水…

近寄ると透明になるガラスとカリングの連携

SimpleLODで1階壁、2階壁、各教室、屋上壁みたいな単位でメッシュをまとめています。 おかげでSetPassCallやDrawCallが減少しました(頂点数は増えましたが) 同時にOcculusionCullingを設定してますので、教室に入っていると、他の教室はいっさいレンダリン…

ヤンデレちゃん100体

ヤンデレちゃんHモデル100体表示。1体あたりBaches1 このへんが限界なのかな。SkinnedMeshでこれ以上はまとめられないはずだし。もともとFace Hair Cloth SkinとsubMeshが4つあるので、drawCallは1体あたり4発生する submeshを統合して、テクスチャをまとめ…

SimpleLOD購入してヤンデレちゃんHモデルのポリゴン削減

SimpleLODってポリゴンメッシュを削減したりまとめたりできるアセットを買いました。テクスチャアトラスにも対応してます。 MeshBakerFreeでもまとめるのはできるけど、ポリゴン削減はできないので。 Simplygenって個人はフリーで使えるソフトもあるので試し…