現在)で以下のようにMagneticとObjectPoolerを含めたアイテムを作ります。その後、Loot(敵が落とすアイテム設定)を使って敵からドロップしたアイテムを再利用するとアクティブにならない事象が発生しています。一瞬、アクティブになるのですが、すぐに非アクティブになるためプレイヤーがアイテムを取得することができません。Stateで指定したオブジェクトと同じActive/非Activeに設定してくれます。今回で言うと”DropYellowCoinModel”を設定しています。以下のように動くことを想定していました。MagneticのCopyStateに”DropYellowCoinModel”を設定してアイテムを取得してなくなると同時にMagneticも非活性にする(1.を実行しないと画面上にMagneticだけが残ってしまい処理が重たくなるから)Lootで”01_DropYellowCoin”を再利用するときにMagneticと”DropYellowCoinModel”が同時に活性化するただし、上にある動画で示したように一時的に活性化しますが、最終的には、Magnetic含めて、”01_DropYellowCoin”が活性化しない状態となっていました。一言でいうと、TopDownEngineの”Loot”スクリプトの仕様です。“Loot”スクリプトの実装を見るとLootで生成したObjectを再利用する場合、「親オブジェクトのみを活性にする」という仕様があります。Magnetic(親オブジェクト)のCopyStateに”DropYellowCoinModel”(子オブジェクト)を設定しているとLootを用いてアイテムを再利用するMagnetic(親オブジェクト)が活性、DropYellowCoinModel(子オブジェクト)が非活性になるMagnetic(親オブジェクト)が実行されるときにCopyStateを見に行って、DropYellowCoinModel(子オブジェクト)は非活性状態のままであるため、Magneticが非活性になるといった順番で処理が行われるため、Magnetic(親オブジェクト)が一時的に活性になりますが、最終的に非活性になってしまい処理が終了します。Magneticの場合は子オブジェクトも活性にする」という風に修正することでMagneticをLootで呼び出したとしても活性状態で再利用することができます。いう場合ソースを載せるかどうか悩みましたが一旦、文章での表現とさせていただきます。まとめ今回はLootスクリプトの動きについて紹介しました。TopDownEngineを触っていると、ときたま、あれっ?っといったことがあったりします。実装を見てみると自分の思った通りに動かないところがあったりするので直して自分のやりたいようにやれるカスタマイズ性は良いかなと思います。歩いたり、走ったり、攻撃したりとキャラクターに何かしらのアクションをさせるためにはいろいろな処理が必要になります。自分で実装するとなるとアクションごとに処理を実装する必要がありとても大変です。Engineを使って敵キャラクターが攻撃する方法を紹介しましたが、1つの攻撃方法だけでは敵キャラクターの行動が単調になり、バリエーションに欠けてしまいます。第5回となる今回は弾薬の有無の設定について紹介していこうと思います。Engineでは以下のように弾薬の有無を設定した遠距離武器を作成することができます。今回は遠距離武器の「弾薬の作り方」について紹介していこうと思います。Brain"というコンポーネントを使用してAIの行動を決定しています。Brain"が作られているのか理解する必要があります。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。最近のコメント表示できるコメントはありません。免責事項等ホーム検索トップサイドバータイトルとURLをコピーしました。