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


プレイヤーにとって、アバターは非常に個人的なものであり、デジタルアイデンティティを象徴しています。これは、マーケットプレイスやゲーム内での個別の購入、またはギブアウェイから独自に作成されたものです。ゲーム開発者にとって、アバターは、以下のプラットフォーム互換性を解放する標準化された、機能が完全なキャラクターを提供します。
- ボディおよび顔のアニメーション
- 剛体アクセサリー、レイヤー付きアクセサリー、クラシック衣服、メイクアップアセット
- 表示名、ヘルスバー、基本的な移動状態などのコアキャラクターの動作とプロパティ
アバターは、クリエイターがマーケットプレイスにアップロードするために、以下のコンポーネントシステムを含む必要があるため、この機能を提供できます。
| コンポーネント | 機能 |
|---|---|
| 標準化された命名規則を持つ15のMeshPartボディパーツ | 各キャラクターに対して一貫した肢の数を持ち、アクセサリー、化粧品、アニメーションのための均一なパーティションを提供します。 |
| 標準化された命名規則と関節階層を持つリギングアーマチュア | アニメーションサポートのための一貫した可動関節の数。標準R15リグには15の可動関節が必要ですが、進化したR15リグには最大37の追加関節を追加できます。 |
| Humanoidオブジェクト | キャラクターの動作とプロパティの一貫性、例えば:
|
| 少なくとも17の標準化された顔の基本ポーズを持つFaceControlsオブジェクト | 一貫した表情。 |
| 15のWrapTargetオブジェクト | キャラクターの体に伸び、フィットし、レイヤーされるレイヤー付きアクセサリーのための一貫した変形ターゲット。 |
| 19のAttachmentポイント | キャラクターの体に取り付けるための剛体アクセサリーやゲーム内で装備可能なオブジェクトのための一貫したターゲット。 |
標準アバターリグは、キャラクターの15のボディパーツを動かすために15の可動関節を必要とします。しかし、より高い忠実度のキャラクターを作成したい場合、手、肩、脊椎の動きを表現するために、進化したR15リグのために最大37の追加のオプション関節を作成できます。
これらのオプション関節には以下が含まれます:
- 脊椎: SpineおよびChestのサブディビジョン
- 鎖骨: 肩の可動性のためのLeftClavicleおよびRightClavicle
- 頭: 首と顔の可動性のためにHeadボディパーツの下に親子関係を持つHeadBase
- 指: 手ごとに最大15の関節(3つの指節×5本の指)
- つま先: 足の可動性のためのLeftToeBaseおよびRightToeBase
詳細については、ボディ仕様 - 進化したR15リグを参照してください。
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のボディパーツに分けます。
- リギングデータ - キャラクターの体にリ15リギングアーマチュアを追加し、動きとアニメーションを可能にします。
- スキニングデータ - キャラクターの体のさまざまな表面に重みと影響を追加し、動きの際に有機的で自然な柔軟性を確保します。
- 顔のアニメーション - 顔のアニメーションに必要なFACSポーズ、顔のリギング、スキニング、アニメーションデータを生成します。
- ケージ - キャラクターのボディパーツに必要な内側と外側のケージを追加し、レイヤー付きアクセサリーを着用できるようにします。
- 取り付けポイント - キャラクターの体に適切な取り付けポイントを追加し、剛体アクセサリーを着用できるようにします。
ゲーム開発者がキャラクターをマーケットプレイスにアップロードしようとする場合、アバターセットアップは、以前はマルチツール、マルチイテレーションのワークフローだったものを単一のパスにまとめます:


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

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

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

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


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




