7-2. HumanoidをもつModel「キャラクター」
HumanoidをもつModel「キャラクター」
HumanoidをもつModel「キャラクター」
プレイヤーアバターやNPC(Non-Player Character)などの「キャラクター」は、HumanoidをもったModelで構成されます。これらは通常、人型の形状で複数のパーツとリグによって構成されています。キャラクターは服装やアクセサリーなどによる外見のカスタマイズも可能です。さらに、Humanoidにより、アニメーションやHP(Health値)の表示など、リッチなエクスペリエンス構築に必要な機能を提供します。
キャラクターモデルのパーツ構成
キャラクターモデルは、胴体、頭、腕、脚などの人型を形成するパーツと、Motor6Dを使用したパーツの接続(リグ)、そしてModelのPivotとなるHumanoidRootPartで構成されています。これらの要素は、キャラクターの動きや表現の基礎を形成します。
HumanoidDescriptionによる見た目構成
HumanoidDescriptionはキャラクターの見た目を構成するための機能です。これにより、服装やスキンの色、体型、髪型など、キャラクターの外観を細かくカスタマイズすることが可能になります。また、HumanoidDescriptionはプログラムで動的に変更することもでき、キャラクターの外観をゲームプレイ中に変更することも可能です。これにより、キャラクターの外観を多様化し、プレイヤーによりリッチなエクスペリエンスを提供できます。
Humanoidによる機能
Humanoidにより、以下のような多くの機能がキャラクターでは利用可能です。以下でいくつかの例をコード例とともに紹介します。ここに上げた機能以外にも多数のAPIが用意されているので、適宜Humanoidクラスを参照して確認してください。
移動
Humanoidはメソッドで特定方向へキャラクターを歩行移動させることができます。また、メソッドで特定位置まで移動させる(到達すると停止する)ことも可能です。はMoveToFinishedイベントで移動終了を検知することなども可能です。
コード例:
HP(Health)管理
HumanoidはHealthプロパティでいわゆる「HP」を管理しています。これにより、キャラクターがダメージを受けたり、回復したりする際の挙動を制御できます。HPの表示制御に関してはName Health Disoplayを参照ください。
コード例:
アニメーション制御
Humanoidは、Animatorを保持しておりアニメーション再生が可能です。これは歩行、走行、ジャンプなどの基本的な動作から、特定のアクションのアニメーション再生も含みます。
コード例:
エモート再生
エモートアニメーションの再生ができます。また、任意のアニメーションをエモート登録しておく、なども可能です。
コード例:
ツール(武器)の装備
ツールの装備、装備を外すことがBackpackなどを操作せずとも簡単に可能となっています。
コード例:
状態変化の追跡
Humanoidは、キャラクターの状態変化を追跡し、それに応じて異なる反応を示すことができます。例えば、キャラクターが攻撃を受けた時の反応や、特定の状態になった時の挙動などです。
コード例: