キャラクターは、プレイヤーが操作または対話するフィギュアであり、ゲームを進行させ、挑戦を提供し、世界を生き生きと感じさせる役割を果たします。Robloxにおいて、キャラクターは、動き、コミュニケーション、環境とのインタラクションを行う任意の Model、ヒューマノイドまたはそれ以外のものです。クエストのための重要な情報を提供する光るオーブのようにシンプルなものから、顔のアニメーションを持ち、剛体およびレイヤー付きのアクセサリーを取り付けることができる完全にリグされたドラゴンのようにリッチなものまで、さまざまです。
このプラットフォームは、軽量な非プレイヤーキャラクターを環境の一部として使用するための特定のデザイン要件に応じて、構築できるキャラクタータイプのスペクトルをサポートしています。標準化されたアバターキャラクターは、化粧品を着用し、アニメーションを再生するための組み込み機能を持ち、また、ユニバーサルアニメーションライブラリにアクセスできるカスタムリグもあります。あなたの選択肢を探ってみましょう。
タイプ
広義には、キャラクターには2つの主要なタイプがあります:プレイヤーキャラクターと非プレイヤーキャラクターです。両方のタイプのキャラクターは視覚的には同じに見えることがありますが、それぞれのキャラクターがゲーム内で何をする必要があるかに応じて、内部構成は大きく異なる場合があります。
プレイヤーキャラクター
プレイヤーキャラクターは、プレイヤーがゲームをプレイするために操作するキャラクターです。一部のゲーム開発者は、ゲームデザインの美学に合ったカスタムプレイヤーキャラクターをゼロから作成しますが、多くはプレイヤーが自分のプラットフォームアバターをプレイヤーキャラクターとして保持できるように選択します。


プレイヤーにとって、アバターは非常に個人的なものであり、デジタルアイデンティティを象徴しています。これは、マーケットプレイスやゲーム内での個別の購入、またはギブアウェイから独自に作成されたものです。ゲーム開発者にとって、アバターは、以下のプラットフォーム互換性を解放する標準化された、機能が完全なキャラクターを提供します。
- ボディおよび顔のアニメーション
- 剛体アクセサリー、レイヤー付きアクセサリー、クラシック衣服、メイクアップアセット
- 表示名、ヘルスバー、基本的な移動状態などのコアキャラクターの動作とプロパティ
アバターは、クリエイターがマーケットプレイスにアップロードするために、以下のコンポーネントシステムを含む必要があるため、この機能を提供できます。
| コンポーネント | 機能 |
|---|---|
| 15のMeshPartボディパーツ(標準化された命名規則) | 各キャラクターに対して一貫した肢の数を持ち、アクセサリー、化粧品、アニメーションのための均一なパーティションを提供します。 |
| 標準化された命名規則と関節階層を持つリギングアーマチュア | アニメーションサポートのための一貫した可動関節の数。15の可動関節が必要ですが、高忠実度リグのために最大37の追加関節を追加できます。 |
| Humanoidオブジェクト | キャラクターの名前とヘルスをHeadボディパーツの上に表示するなど、一貫したキャラクターの動作とプロパティを提供します。
|
| 少なくとも17の標準化された顔の基本ポーズを持つFaceControlsオブジェクト | 一貫した表情を提供します。 |
| 15のWrapTargetオブジェクト | キャラクターの体に伸び、フィットし、レイヤーされるレイヤー付きアクセサリーのための一貫した変形ターゲットを提供します。 |
| 19のAttachmentポイント | キャラクターの体に取り付けるための剛体アクセサリーやゲーム内で装備可能なオブジェクトのための一貫したターゲットを提供します。 |
標準アバタリグは、R15リグと呼ばれ、キャラクターの15のボディパーツを動かすために15の可動関節を必要とします。しかし、より高いレベルのリアリズムを持つ高忠実度リグを作成したい場合、アーティキュレートされた手、肩、脊椎の動きのために最大37の追加オプションの関節を作成できます。
これらのオプションの関節には以下が含まれます:
- 脊椎: SpineおよびChestのサブディビジョン
- 鎖骨: 肩のアーティキュレーションのためのLeftClavicleおよびRightClavicle
- 頭: 首と顔のアーティキュレーションのためにHeadボディパーツの下に親子関係を持つHeadBase
- 指: 手ごとに最大15の関節(3つの指節×5本の指)
- つま先: 足のアーティキュレーションのためのLeftToeBaseおよびRightToeBase
詳細については、ボディ仕様 - 高忠実度リグを参照してください。
StarterPlayer.AvatarJointUpgradeを有効にすると、アップグレードは自動的に各キャラクターの関節に力とトルクが制限されたAnimationConstraintオブジェクトを導入し、Motor6Dオブジェクトを置き換えます。これにより、完全にシミュレートされた四肢や動力を持つラグドールなど、リアルな物理駆動の動きやインタラクションを作成できます。
非プレイヤーキャラクター
非プレイヤーキャラクター(NPC)は、ゲーム内のシステムがプレイヤーをサポートまたは挑戦するために制御するキャラクターであり、味方や敵、または環境を埋めることで没入感を提供します。プレイヤーキャラクターがゲームの目的を達成するために多様な属性や機能を必要とするのに対し、非プレイヤーキャラクターは通常、歩く、ダメージを受ける、プレイヤーの行動に反応するなどの1つまたは2つの単純なタスクを実行するだけで済みます。

彼らはプレイヤーキャラクターと同じコンポーネントセット、リギングアーマチュア、または機能の深さを必要としないため、最も基本的な非プレイヤーキャラクターは、ジオメトリといくつかのスクリプトを持つModelだけで目的を果たすことができます。実際、多くのゲーム開発者は、NPCをModelとして作成し、子メッシュを1つか2つ持ち、基本的なキャラクターの動作とプロパティを実装およびアクセスするためにHumanoidオブジェクトを使用することを選択します。
作成ツール
キャラクターを作成するために使用するツールとプロセスは、作成している各キャラクターのタイプと複雑さによって異なる場合がありますが、一般的に、多くのゲーム開発者はキャラクターのボディのためにサードパーティのモデリングツールで少なくとも生のメッシュを作成することから始めます。以下は、クリエイターがカスタムキャラクターボディ、テクスチャ、リギングアーマチュア、アクセサリー、アニメーションを作成するために一般的に使用する人気のあるサードパーティソフトウェアの例です。
![]() | ![]() | ![]() |
| Blenderは、モデリング、スカルプティング、テクスチャリング、リギング、アニメーションツールの幅広い機能を持つ無料のオープンソース3D作成スイートです。 | Autodesk Mayaは、3D制作パイプライン全体をカバーするサブスクリプションベースの業界標準のプロフェッショナルツールセットです。 | GNU Image Manipulation Program(GIMP)は、2Dアセット作成をサポートする無料のオープンソース画像編集ソフトウェアです。 |
キャラクターの基盤ができたら、インポートして、Robloxが提供するすべてのファーストパーティツールにアクセスできます。これには、生のメッシュをキャラクターに変換するための完全なパイプラインが含まれており、プラットフォームポリシーおよび技術基準を満たすためにマーケットプレイスに準備が整います。以下は、すべてのスキルレベルのゲーム開発者がキャラクターアセットを作成、構成、テストするために使用できる主要なツールの詳細です。
以下の機能は、キャラクター作成プロセスのさまざまな段階をサポートします:
| ツール | 説明 |
|---|---|
| アバター設定 | グローバルゲームレベルのアバター動作、衝突、アニメーションパック、およびキャラクターコントローラライブラリのトグルを有効にします。 |
| インポーター | キャラクター用のPBRテクスチャ、リギング、スキニング、アニメーションデータを持つカスタムメッシュをインポートします。 |
| アニメーションエディタ | キャラクターのためのアニメーション(ジェスチャーや反応など)をインポート、デザイン、公開します。 |
| アクセサリーフィッティングツール | 複数のキャラクターボディ、アニメーション、アクセサリーの組み合わせでカスタムモデルをテストします。 |
| 自動スキニング転送 | レイヤー付きおよび顔のアクセサリーにスキニングデータを転送または生成し、それらが取り付けられたキャラクターの体に沿って変形するようにします。 |
アバターセットアップ
アバターセットアップは、生のメッシュからプレイヤーキャラクターへの最速の道であり、カスタムモデルをアバターキャラクターアセットに自動的に処理します。キャラクターが移動、アニメーション、アクセサリーを着用するために必要なすべてのコンポーネントを持っていない場合、アバターセットアップは以下のようなすべての欠落コンポーネントを生成できます:
- パーティション - キャラクターの体を標準の15のボディパーツに分けます。
- リギングデータ - キャラクターの体に標準または高忠実度のリギングアーマチュアを追加し、動きとアニメーションを可能にします。
- スキニングデータ - キャラクターの体のさまざまな表面にウェイトと影響を追加し、動きの際に有機的で自然な柔軟性を確保します。
- 顔のアニメーション - 顔のアニメーションに必要なFACSポーズ、顔のリギング、スキニング、アニメーションデータを生成します。
- ケージ - キャラクターのボディパーツに必要な内側と外側のケージを追加し、レイヤー付きアクセサリーを着用できるようにします。
- 取り付けポイント - キャラクターの体に適切な取り付けポイントを追加し、剛体アクセサリーを着用できるようにします。
ゲーム開発者がキャラクターをマーケットプレイスにアップロードすることを目指す場合、アバターセットアップは、以前はマルチツール、マルチイテレーションのワークフローを単一のパスに圧縮します:


アダプティブアニメーション
アダプティブアニメーションは、異なるボディタイプ間で1つのアニメーションライブラリを機能させるという難しい問題を解決します。HumanoidRigDescriptionおよびDigitsRigDescriptionオブジェクトを使用して、アダプティブアニメーションは、キャラクターの関節をRobloxの標準化されたリギングアーマチュア仕様にマッピングできます。これは双方向で機能します:
- アバター要件 > カスタムリグ - カスタムリグは、エモートや移動状態の完全なアニメーションライブラリを即座に使用できます。
- カスタムリグ > アバター要件 - カスタムリグで作成したアニメーションは、標準のリギングアーマチュアを持つアバターに即座にリターゲットできます。
これは高忠実度リグの手や指にも適用されます。アダプティブアニメーションシステムを使用してキャラクターの手の関節を割り当てると、1つの手の比率に対する指のアニメーションが異なる手のジオメトリに即座に適応します。

アニメーショングラフエディタ
アニメーショングラフエディタは、個々のアニメーションクリップをランタイムロジックに構成する視覚的なノードベースのツールであり、アニメーションコントローラスクリプトを手動で記述する必要がありません。ブレンドツリー、ステートマシン、パラメータ化されたアニメーション動作を構築しながら、アニメーショングラフノードにプログラム的にアクセスして直接制御することができます。

キャラクターの最適化
ゲームがより多くのプレイヤー、広大な環境、リッチなアニメーションで成長するにつれて、キャラクターシステムには最適化をサポートするアーキテクチャが必要です。これに直接対処する2つのシステムがあります:キャラクターの移動と動作のためのキャラクターコントローラライブラリと、レンダリングパフォーマンスのためのSLIMです。
キャラクターコントローラライブラリ
プレイヤーキャラクター内のデフォルトのHumanoidオブジェクトは、機能する状態マシンを提供しますが、硬直しています。これは、固定された遷移ロジックで1回に1つの状態しかトリガーできず、構成が難しく、スケールでの設定が困難です。
これらの課題に対処するために、キャラクターコントローラライブラリ(CCL)は、能力駆動のアーキテクチャを提供します:
- 能力は、キャラクターができること(走る、ジャンプする、登る、泳ぐなど)を動的に決定します。
- コントローラは、そのキャラクターの動きがどのようにシミュレートされるか(地面の摩擦、加速曲線、キャラクターがジャンプする際の線形および角運動量の現実的な保存など)を動的に処理します。
アバター設定でCCLをオプトインすると、ゲームが実行中に能力構成を実験し、キャラクターの物理シミュレーションと環境との相互作用を調整するために特定のコントローラを変更できます。たとえば、キャラクターの基本的な移動速度などです。

SLIMによるレンダリング
キャラクターは、特にレイヤー付きアクセサリーや物理ベースのレンダリング(PBR)テクスチャを持つ高解像度キャラクターの場合、レンダリングコストが高くなる可能性があります。NPC、建物、小道具、車両など、多くのモデルやキャラクターを含むゲームでは、プレイヤーは低フレームレートやパフォーマンスの低下を経験する可能性があります。
レンダリングパフォーマンスのこれらの課題に対処するために、スケーラブル軽量インタラクティブモデル(SLIM)は、クラウドベースのトランスコーディングを使用して、アバターキャラクターやモデルの軽量で最適化された表現を生成する自動最適化システムを提供します。ランタイム中、エンジンは距離、デバイスの能力、ストリーミング状態に基づいて最適な表現を選択します。


SLIMは3つの主要な利点を提供します:
- 視覚品質 - 遠くのモデルは、従来のモデルの詳細レベルシステムよりも詳細に見え、元のモデルに近い忠実度を維持します。
- 一貫した遷移 - モデル内のすべての部分が同時に詳細レベルを切り替え、部分ごとの不自然な遷移を排除します。
- パフォーマンス - 複合メッシュは描画呼び出し、三角形数、メモリ使用量を大幅に削減し、すべてのデバイスタイアにわたってリッチなシーンを可能にします。
さらに、アバターキャラクターのためにSLIMを構成すると、エンジンは:
- 実際のアバターモデルがストリーミングアウトされると、SLIMバージョンをレンダリングします。
- 利用可能なリソースに基づいて、SLIMとフル解像度の表現を切り替えます。ストリーミング半径内でも同様です。
- シーンの重要性と利用可能な帯域幅に基づいてSLIMアニメーションを制限します。




