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

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

学校シミュレーター #5

学校シミュレーター#5です。

今回の追加要素は、まず

トイレと鏡

トイレと鏡。鏡というか大画面TVって感じも(´・ω・`)
f:id:yasu9780:20170121102858p:plain



主人公キャラの目をジト目にしました。BlendShapeをやっています。
もこっちっぽいw
f:id:yasu9780:20170121104854j:plain

自転車

次が、自転車。まだペダルはこげないんだけど(なぜかペダルとチェーンが一体のメッシュなっていてペダルを回転できないw)
ハンドルも軸がなかなか合わずにまだ動きません。
一応前輪は回転してます。
手はIKで伸ばしてますが、腰をまげてくれないので微妙に届きません。
重心を調整しても一切腰を曲げてくれない。視線誘導で無理やり曲げましたが、うつむき加減になるのでよろしくない。
さすがにIKだけでポージングは厳しいので、PMXでポーズ作るしかないかも
しかし、はやくIKでペダルをこがせたい!
f:id:yasu9780:20170121102906p:plain
予想外に自転車は楽しいことが分かりましたw


そうか! 右手と左手はFixedJointでハンドルに接着して、TorsoとHipmasterの間にHingeかCharacterなJointを付ければうまくいくかも?
ラグドール自作のおかげで、joint系はかなり強くなりました( ゚Д゚)

武器追加

そのほか、斧・金属バット・ナイフなど武器が増えたことと、行列する購買部などが追加要素です。


学校シミュレーター #5


武器は、右手の骨の子供にセットして、いったん動かしてみて、座標を調整して、LocalPositonとLocalRotationをプログラムに打ち込んでます。
これはすごい楽です。どんどん武器が増やせます。
モーションも適当に変えとけなOKでしょう

アイテム拾うなんてたったこれだけですよ。FindDeep大活躍。キャッシュしておいた方がいいんでしょうけど、FPSで毎回動く処理じゃないので、高速化する意味は薄いです。
楽に書けたら十分。

            if (isItemHave==-1) // アイテム拾う
            {
                for(int i=0;i<=6;i++)
                {
                    if (items[i] == null) continue;
                    dis = Vector3.Distance(transform.position, items[i].transform.position);
                    if (dis < 1.2f || (i==6 && dis<3f) )
                    {
                        if(i>=5)
                            showActionText1("(A)Ride #" + i);
                        else
                            showActionText1("(A)Pickup #"+i);
                        if (Input.GetKeyUp("joystick button 0")) //A
                        {
                            isItemHave = i;
                            GameObject rhand = FindDeep(this.gameObject, "joint_RightWrist");
                            itemEquipRightHand(i,rhand);
                        }
                        return;
                    }
                }
            }

逆に、自転車や車は、自分が乗り物の子要素になります。乗り物もNavMeshAgentにしてあります。
子要素になる前に、agentはstopしてenableをfalseにします。そうすれば重力の呪縛がなくなるので自由に移動できます。

名前自動生成

名前生成サイトからデータをもらって名前のストック300個もちました。
初回にランダムに生成して、シードを保存しようと思います(設定画面から再生成が選べるように)

f:id:yasu9780:20170121170321p:plain


銃撃戦か?

KUMA GAMESさんついに銃撃戦を追加する模様。期待ですね。
YandereSimulatorにも銃はいっさい出てこないんですよね。なぜか。