• アセットのアップデートの予定

    2019-08-13 15:58
    古や村をリリースしてから一月以上経ちました。
    そろそろ残りの町(ガレキ町とカモメ町)か、アセットのアップデートを進めないといけない頃合いですが、

    ガレキ町とヒャッハーか?
    華やかなカモメ町か?
    古や村の技術をフィードバックしたい昭和町セットか?
    古や村か?

    Unity勉強とゲーム開発も進めたい。
    ※一方、ステージに合うキャラも自前で揃えたいということで、モブモデルも作ってます
    ヒャッハーよりは多目的に役立つはず。あわよくば売れんかなーと

    体は一つしかないので、
    村の内装を充実させる方向のアップデートでいこうと思います。

    …昭和町モデルの方も、いろいろ作りなおしたいんですけどね。今なら村と同様に民家を内部も作れるはずだし、店セットは操作性を気にしてドアがデカすぎたし電柱と工場が
    カモメ町は、もともと完成度が高かったからすぐUnity版が作れそうだし需要も高そうだし
    ガレキ町は破壊前デザインから見直しで(愚直にやるとFO並の超技術とボリュームが必要)寄って後回しだけど、ヒャッハーは、今なら丁寧にキャラモデリングできるはずだし…

    なんで体は一つしかないん


  • 広告
  • 重要:アセットの利用規約の見解

    2019-07-28 16:50
    アセットストアで販売してる、私の制作したアセット
    「昭和町モデルセット」
    「古や村-Japanese Old Village environment」
    あとヒャッハー
    利用規約について説明します。

    基本は、Unityアセットストアの利用規約に準じます。

    アセットストアの利用規約については、
    ユニティジャパン公式がTwitterと記事で説明してます。
    https://twitter.com/assetstore_jp/status/721912153200955397 http://assetstore.info/howto/howto-point/#point4 http://assetstore.info/howto/asset_faq/

    とくにこのへん
    >Q01: Unity以外で使っても良いですか?
    >A: Unityで最終的なビルドをする、あるいはUnityをレンダリングエンジンとして使う、
    >ゲームもしくはインタラクティブメディア、ノンインタラクティブメディアへ組み込むためにのみお使いいただけます。

    >なお、Unityを全く使用しない場合には、アセットの開発者(パブリッシャー)と直接交渉いただいて許諾を得ることができれば例外的にご利用可能となります。
    >許可してくださるパブリッシャーさまも多いようですので、お試しください。

    (Q1にあるってのがいろいろと察せられますね)

    これを鑑みるに、ゲームのMODやその他コンテンツ(VRチャットとかStylyとか)に使いたい時は…

    いいのか悪いのか明言しますと、

    私のアセットは、ゲームのMOD製作目的での使用と配布は、基本OKです。

    迷ったら、トラブルを避けるために事前に連絡をください。作者公認とすればトラブルはないはず

    世のすべてのゲームやMod用ツールの仕様を把握してはないので、使用目的のコンテンツと使用するツールの情報もいただけるとさらにいいです。

    昭和町モデルと古や村にはサンプルシーンをつけてますが、
    サンプルシーンはすぐ使える見本で作ったものであり、また再変換しづらいように作ってもある。そのまま使っても問題なしですが、改造するとトラブルが減ります。



    配布物についてですが

    >Q07: アセットを自分のプロジェクトに組み込んで、成果物を有償で販売したり無償で配布しても良いですか?
    >A: アセットを容易に取り出すことができない状態にしてあれば問題ありません。


    とあって、どこまで「ツールで簡単にデータ抜ける」と解釈するかも問題になりそうです。
    建物モデルの場合は、メッシュが統合されてパーツ分けできない状態なら、
    私としては問題ありません。

    ※パーツのローカル座標が消えたりパーツ同士頂点が結合したり面が著しく割れたりとか、3Dツールで編集しても分解が困難な状態になってればいいです
    ※統合しようのない小物やテクスチャは、黙認です


    キャラモデルの場合は、
    UnityでVRCやVRMなどに変換して使うのは当然セーフですが、Unity用のモデルを非Unityに使うとなると、現時点では、なんとも言えません。
    まあアセットストアに出す以上、黙認でいいかなと思います。



    まとめると

    アセットはUnityゲーム開発に使うのはOK
    ゲームのMODや静画・動画の素材に組み込むために使うのはOK、
    Unityを全く使わないものに使いたい場合は私にお問い合わせ

    アセットを元に作品を作って配布・販売するのもOK、

    ただし、配布物がツールによる再変換で簡単に元
    データ抜ける状態なのはNG、
    改変・改造は自由

    私個人の規約は、
    アセットをMMDやゲームMOD用に変換して仕様・公開・配布するのはOKです。
    作者の承諾済みにできればトラブルを避けられるので、事前にお問い合わせする事を奨励します。

    これを利用規約とします。



    最後に、

    MMD版のケロリン町と古や村と違い、
    Unityアセット版は「作品」というより「素材」です。
    Unityアセットはすべて素材扱いであり、購入者がアセットを組んで自作した建物・ステージは、その人の「作品」として扱えるし自由に改変していい。販売もしていい。

    そういうわけなので、似た見た目のモデルが使われてるのを見かけても、MMDモデルと混同しないように、誤解されないように、慎重な対応をお願いします。




  • Corgi EngineのNPCのAIを細かく砕く

    2019-07-15 11:41

    アセットリリースで気分転換、ゲームづくりのためにCorgi Engineの解析を再開しました。

    最低限のシューティングが成立する直前てとこまでは進んだ…

    が、それはおいといて、

    コーギーエンジンで検索しても、プレイヤーキャラの動かし方まではぼちぼちあっても
    NPCのAIの制御に関する記事が出てこないんですよね…

    先人たちはそこから先に進めず頓挫したんかと勘ぐってしまうほど困りましたが、
    自力でなんとなくわかったので忘備。
    あまりに記事が見つからないので逆にEnty有料記事にできないわい…


    AIのサンプルシーンはCorgiEngine/Demo/Retro/RetroAIにあります。

    AI Brainスクリプト…これがNPCのAI部分というのはわかる。


    そして各行動を実装・制御してると思しきスクリプト群



    これで普段左右に動いてパトロールし、プレイヤーが視界に入ると銃を撃ってくるが、大して追ってこず(段差を超えない)、視界から外れるとまたパトロールに戻るという行動を取るのですが、どういう原理で行動を組み合わせてるのかが長らくわからなかった。



    AIの実装方法(推測)

    1.NPCにはすでにHealthやcorgi controllerなどコア部分がアタッチされてるとして、
    そこにAI系コンポーネントを必要な分だけアタッチします。

    AI WalkとかAI ShootとかはBrainを必要とせずそれ単独でキャラを動かせます(左右に反復するか機械的に弾を撃つ程度)が、これらではなくて

    必須なのはAI Brain、それと、AI Action xxxxAI Decision xxxxx
    AI Action(行動)とAI Decision(決定)と名前のついた二種類は、AI Brainと組み合わせないと機能しないものです。
    わからなかったらAI Action 、AI Decision とつくスクリプト全部アタッチでもいいんじゃないかなーいくら入れようがAI Brainに設定しなければ全く機能しないはず

    2.キャラにさせたい行動の数だけAI Brainにステートを作る


    State Namesにステート名…パトロール、エイム、シュートとか。自分で命名します
    ActionsにAI Actionスクリプト名を割り当てます。

    空欄にAIのスクリプトを割り振る…
    この、スクリプトを割り振るというのが超わかりませんでした。いつもの空欄右の○ポタンは役に立たず、名前を手動で記入できるでもない。
    コンポーネントとしてアタッチしたスクリプトの名前欄をD&Dすることでしか割り当てられないというね。

    ステートは+で増やせます


    3.TansitionsにAI Decisionを割り当てて、各ステートをつなぐ
    Tansitionsの欄、Decisionには
    行動分岐させるためのAI Decisionスクリプト名と、遷移先のステート名を入れます。
    AI Decisionは、判定条件が成立するとTrueを返すやつですね(例外あり)



    Detect Target Line

    NPCの向いてる向き、射線上にターゲット(プレイヤー)がいるか判定 扇上の判定もできる

    Detect Target Radius

    半径内にターゲットがいるか判定

    Distance To Target

    (ターゲット発見後)、ターゲットとの距離が設定数値に達したか判定
    Strictly Greater Thanは、>=とか<のこと

    Health
    自分の体力が一定数になったか判定

    Time In State

    設定した時間だけ今の行動を維持して待つ(待ち時間はMin-Maxの間でランダムに)

    最初のステートのActionsに割り振られた行動をしながらTransitionsで判定、
    Decisionの条件を満たさない間はその行動を取り続け、
    条件が成立したら指定のステートに遷って別のアクションしながら別の判定…

    こんなのを組み合わせて、パトロール中にプレイヤーを見たら足を止めて数秒間射撃、とか
    体力が減ったら武器を切り替えて発狂攻撃、とかできるという理屈のようです。

    理論上は。

    自分でやったら、赤エラー

    何がいけないってんだ
    AIにはそれぞれ見えない制約があるのか?
    (どうも特に飛行移動に関するAIがいかんみたい)



    まあ、アニメーションでないと無理な伝統的編隊飛行して弾をばらまくシューティングやりたいんで、めんどいAIとか弾撃つ行動以外ひとまずいらないんだけど
    こんなんいらんやろというスクリプトを取り除いたら何かが参照して連動してるのか、動かなくなるのでしかたなく入れたまま、という現状。
    すべてのスクリプトの解析を果たさないとまともに動かせないのか。