私はUnity3.5.5fで小さなゲームのプロトタイプを開発しています。このプロトタイプでは、プレイヤーがエイリアンを制御する小さなマインドを制御します。プレイヤーは、対象の人間のNPCを制御し、すべてのカメラとコントロールを問題の人間に切り替えることができる必要があります。
NBこれまでのところ、私のコードはすべてC#です。
進歩する方法について2つのアイデアがありますが、どちらがより実現可能ですか?(私は別のアイデアを聞いてうれしいです)
- レベル内の各人間には、非アクティブ化されたFPSコントローラースクリプト(および付随するスクリプト)があります。これらのスクリプトは、制御されるとアクティブになります(その間、エイリアンのスクリプトを無効にします)。
- エイリアンから現在のスクリプトを切り離し、ターゲットの人間に添付します。
私が思う限り、賛否両論:
- 別々のエイリアン/人間のコントロールスクリプトを持つことができます(つまり、入力に状態を使用する必要はありません-たとえば、LMBでエイリアンとして近接する代わりに、人間の間に銃を発射することができます)。この方法は非常にクラスターファッキーです。
- この方法はクリーンですが、入力コードを簡単に分離できないため、プレーヤーのコードファイルははるかに大きくなります。
編集:友人が指摘しました、はい、NPCには無効にする必要がある独自のスクリプトがあります。