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

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

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

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

楽天市場お買い物マラソンで3Dプリンターを購入

item.rakuten.co.jp納期はちょっと解らないんですが、2~3日で発送とはありますけど。 前々から欲しかったですが、通常の3Dプリンターはフィラメントを溶かして積層していく感じですが、 今回買ったのは光造形式といって、UVで硬化するレジンにUVを当てて積層…

プールとゲーセンを作った

水が無いけどプールで泳ぐようにした。水着に着替えてないのでいまいちですけど。 Vroidだけでも水着モデルを用意するかな。 動きとして、 その場で立ち止まる 泳ぐ 歩く の3種を繰り返す大きく分けると、カフェなど買い物する施設と、うろうろ中を歩き回る…

カフェを簡単に増やせる仕組み

カフェを複製して簡単に増やせるようにしてみた。 カフェの子要素として、客の待機場所、店員の待機場所、客が座れる椅子を定義しておいて それぞれカフェ番号で区別する ロジックは同じで、あとはデザインで内容を変える仕組み 次は、料理も子要素として登…

カフェを追加

cafeを追加。 全体制御から指示をすると番号0と番号1のキャラがカフェに向かって座る後は、お腹がすいたらカフェに向かうとか、ソファに座ったらメイドが注文を取りに来るとかすればOKSGSでは、レストランの形態として セルフ=学校食堂、自動販売機 オーダ…

交通システム:車もNavMesh、歩行者を増やした

自動車もNavMeshの上でのWayPoint巡回に切り替えた。これでトラックが倉庫からお店に移動したりもできるはず。 それと、歩行者を15人ぐらいSpawnするようにした。疲れると走るのを辞めて歩き始める。椅子に座ると回復してまた走り出す。NavMeshSurfaceだと、…

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をインストールします。…

交差点でランダムに車を右折か左折

バスを追加したり、交差点で、車が左折するか右折するかをランダムに変えたりしてみた まだ、交差点の信号は完成してないけど、車の信号停止や前の車が停止したので自分も止まるあたりはうまく動くようになった問題点は、交差点で曲がる時に直進車の確認をし…

東京テアトルの優待券が7枚残ってる

10月末期限の東京テアトルの映画の株主優待券が7枚も余ってる 今日が期限。・゚・(ノ∀`)・゚・。 コロナもあったし、映画館に行かなかったら大量に余ってしまった。 一昨日は池袋のシネリーブル池袋に鬼滅の刃を見に行きましたが、土日に株主優待券で行くのは劇場に迷…

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

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

疲れたら椅子に座る

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

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

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

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

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

いまさらRTX2080Ti買って、CUDAで機械学習

色々と迷ったがRTX2080Ti中古を購入しました。税込み79800円 新品だといまだに15万円ぐらいで売ってるので約半額ただ、RTX3080が10万円ぐらいで売ってるので微妙ではある RTX3070も10/29の深夜販売が予定されていて、価格もおそらく79800円ぐらい CUDA数は20…

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

神様になった日 神達に拾われた男 キミと僕(略 感想

神様になった日 1話 鍵の新作アニメ 前作のCharlotte(シャーロット)はヒロインもいい感じのツンデレだし、前半中盤までは好きだったんだけど、終盤になったら主人公は傭兵崩れみたいに世界を転々として、ヒロインはただの空気になって、ひたすら不幸のための…

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を登録し…