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

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

Unity

アプリサイズの最適化

masakami.comこちらを見ると、mesh compressionを使うとPlayer settingで指定してる Vertex compressionが無効になるとあります 参照してる英文のブログなどや、テラシュールブログの記事を見ても、そう書いてある ただし、 なおSkinnedMeshRendererには非対…

動くぬいぐるみたち

今回のアップデートのメインは、動くうさぎのぬいぐるみたち(種別違いでくまも出すかも。または次回で)というわけで、今日中に完成させて、その後は、無駄にでかい画像が残ってないか? などをチェックして 本番をアップデートします(予定は未定)#このぬ…

全員マスク着用ボタン搭載

先生がアゴマスクになって、一部の生徒が眼帯になってるw これはおそらく身長の違いでづれてるっぽい(先生は高身長なので)あとNaokoとかは別モデルなんで調整が必要 男子はやや全面に出す必要がある(女子より顔がでかいので)ひとによって付け方がだらし…

髪型追加

髪型追加はこの2つの予定 髪の色を変える細かい仕様を忘れたので、とりあえず髪色変更はなしってことにしておこう(^^;)アンロックアイテムはこのへんで、ゲーム本編の追加要素はこれから実装(滝汗) オープンテストを先にやろうと思ったけど、ガッツリ新規…

バグ修正の日々

プレイヤーが死んでラグドールになってゲームオーバーになったあと、動画広告を見て復活したあとに、ゾンビの死体をつかめない? 調べてみると、ラグドールから復帰した場合に、右手に掴むためのJointの再設定をしてなかった。修正帽子をかぶった状態で、体…

UI表示を修正(だんだんエンジンが温まってきたぜ)

体育館でバスケットボールを拾った場合、(X)でシュートできる仕様だったんですが、アイテムメニューから投げることもできる しかし、UIをできるだけ自動的に消す仕様で、(X)でシュートできるのが表示されなくなっていた 当時は全然気づいてなかった。なにせ…

ソースを読みつつリハビリを

プログラムソースをサイズ順にソートすると、一番巨大なのがキャラクターを制御するcharacter.csで、次が全体を制御するmain.cs それぞれ1.6MBと700KBぐらいあります。 character.csにいたっては、37250行という恐ろしい巨大プログラムになっている(^_^;) 一…

色々不具合がざくざく(^_^;)

遊んでたらx64だからとか関係なく、色んな所に不具合が発見しまくり(^^;)たとえば、体育館でバスケットボールを拾ったら、もともとはバスケシュートしてたはずなのに いつのまにか横投げになってるとか、 ヘリで上昇して銃を撃とうとおもったら、右側のどの…

内部テスト版 SGS x64をDL

招待URLからGoogle Playに飛んで、そこから無事DLできました。 内部テストでテスター登録が私一人なんで、おそらく他の人はDLできないはず Xiaomi mi pad4上で動いてますあとは、Windows上で、動作チェックをしつつ、新機能の追加までやってみましょう そし…

内部テストとしてApp Bundleをアップロード

これまではアプリはAPKを作ってアップロードしてましたが、現在は、App BundleというAABを作ってアップロードする仕様に変わっているようです Unity2017.4もBuildシステムをGradleを選ぶと、Build App Bundleのチェックが出てきますのでチェックして作成して…

x64でビルドして実機で動作成功

やっとx64ビルドして実機で動きました(^_^;) 半日ハマった orzXiaomi tab 4 と Xiaomi max 3 を使ってbuild&runしてたんですが、結論から言うとXiaomiはなんかおかしい ぐぐるとXiaomiのIDでログインしないとアプリ転送できないみたいな記事があるし以前はFr…

x64でbuildはできるが、build & runはエラーでできない

buildでx64なapk自体は作成できるが、実機にbuildして転送しようとするとadb.exeの転送でエラーになる はじめUSBデバッグモードの問題かと思っていたが、Android SDK/NDKのバージョンの問題かもしれないGoogle Play の対象 API レベルの要件を満たす | Andro…

顔黒くなってるけど動いてる

inputやtagの設定などして、とりあえずplayしてみたら、大きなエラーも出ることなく動いた! 顔が黒くなってるけど、これはシェーダーの設定の問題かな とりあえず順調そうで良かったあとは、個別の機能や武器、建物を確認していく作業かな そのへん片付いた…

Unity2017.4でAssetsを読み込み

Unity 2017.4で作った空プロジェクトに、最新版のプロジェクトのAssets以下をすべてコピーして、プロジェクト起動 データ変換が走って、大量のエラー発生(250個ぐらい) シーンを読み込んで、無事、町が読み込まれてる Unity2017.4あとは、大量のエラーを一…

かなりやばいスケジュールですが、本日からSGSのx64を作成開始します

拙作のSchool Girls SimulatorですがUnity5.6で作成されていますので、32ビット版アプリになっています。 Androidは昨年8/1から64bitアプリオンリーに移行していますが、Unity5.6で作られたアプリだけは1年の猶予をもらっていましたが その期限もついに7月末…

SGSのUnity2017版をひさしぶりに動かしてみる

現在のSGSはUnity5.6で動いているけど、AndroidのAPIを上げないとアップデートできないのと、来年は64ビット対応もしないといけない(Unity5.6の特例で締め切りが1年伸びている) Unityの対応バージョンを上げていかないといけないのだけど、 自由度が高い=…

node.jsのサーバーとUnityクライアントでソケット通信

UnityでOculus Quest用のVRアプリを作ってみると、Questとの通信はnode.jsで行っているようなので、ちょっとnode.jsを試してみました。 借りているSakuraVPSにnode.jsをインストールしてサーバーを立ててみます。centos7上で、node.jsをインストールします。…

交通システム:歩行者信号も作った

歩行者信号を作った信号は車道と横断歩道は連動してるので、まとめて切替 交差点は4方向が全部連動してるので、これも一つの信号としてまとめて切り替えないといけませんねあとは、車がちゃんと横断歩道に入らないで止まれなかったり、車間距離が詰めすぎた…

疲れたら椅子に座る

SGSからの反省で、椅子を複製して配置したらコードに手を入れなくてもキャラクターがその椅子を認識して座るようにしてみたSGSの時はキャラクターが空いている椅子を探して、そこに歩いていくようにしてたので、椅子が増えるとプログラムに都度登録していた…

交通システム:信号追加。まだまだダメ

信号追加してみた まだ、止まるタイミングが遅かったり、後続車に押されて横断歩道に乗り上げたりする 先行車と接触したら停車して、onColisionExit()で再発車にしてるけど、先行車が走り出したのに、後続車のExitイベントが発生しない場合が頻繁に発生する …

交通システム:とりあえず車を走らせる

横断歩道がない道路をnot walkbleにして、navMesh的に移動不可にして、横断歩道を渡って道路を横切るようにする 車はとりあえずWayPoint巡回次に追加したいのは、 信号 車と人間の衝突 車が人間を検知して衝突を回避

3人でNavMeshSurface

3人で移動するので後から来た人に押されて2階から地面に落ちる場合がある 次はWayPointを入れて巡回させてみるかな? で、椅子を見つけると疲れたら座って休むみたいな。 NPC Populator モブが歩き回る$10アセット。動画見ていい感じだったんで買ってみたけ…

動的にbakeできるNavMeshSurface

試そう試そうと思いながら数年経ってしまった。・゚・(ノ∀`)・゚・。 やっと実験しましたマウスでクリックした場所にエージェントが向かう。 壁を動かしても経路変更に対応して移動できるマウスでクリックしたら改めてNavMeshをbakeし直してます。navMeshの経路の細さ…

trail(軌跡)を試してみる

ゲーム作って軌跡はまだ使ったことが無いんだけど、やっぱりあった方が派手になるのでちょっと練習してみた基本、ParticleSystemですね。 攻撃アニメーションが終わったらtrailを止めないといけないので、アニメーションの終了判定が必要 animInfo = anim.Ge…

LookingGlassにけもみみ娘を表示してみる

そういえばLookingGlassを買ってたのを思い出したのでUnityのSDKを入れてVRoid Hubでダウンロードしたけもみみ娘を表示してみた。 Looking Glass標準のScale=1だと見えないぐらい小さいので、Scale=10ぐらいに大きくしないといけないんだけど、でかくするとS…

機械学習テニスにVRoidを出してみたが色々残念な感じに

そもそもまだサービスレシーブが満足にできないうえに、FinalIKの右手にラケットを張り付けただけで、足も動いてないし、色々と残念な感じになってしまった。 せめてラリーぐらいはできるように一晩学習させてみよう

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バウ…