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イベントで移動終了を検知することなども可能です。
なおPlayerに移動命令を使う場合は、プレイヤーの入力制御による移動との兼ね合いを考慮する必要があります。詳しくはHumanoid Moveを参照ください。
コード例:

HP(Health)管理

HumanoidはHealthプロパティでいわゆる「HP」を管理しています。これにより、キャラクターがダメージを受けたり、回復したりする際の挙動を制御できます。HPの表示制御に関してはName Health Disoplayを参照ください。
コード例:

アニメーション制御

Humanoidは、Animatorを保持しておりアニメーション再生が可能です。これは歩行、走行、ジャンプなどの基本的な動作から、特定のアクションのアニメーション再生も含みます。
コード例:

エモート再生

エモートアニメーションの再生ができます。また、任意のアニメーションをエモート登録しておく、なども可能です。
コード例:

ツール(武器)の装備

ツールの装備、装備を外すことがBackpackなどを操作せずとも簡単に可能となっています。
コード例:

状態変化の追跡

Humanoidは、キャラクターの状態変化を追跡し、それに応じて異なる反応を示すことができます。例えば、キャラクターが攻撃を受けた時の反応や、特定の状態になった時の挙動などです。
コード例:

参照すべき情報