モデルは、物理オブジェクトのコンテナであり、ワークスペースを整理し、パーツ、溶接、またはジョイントなどのアセットをグループ化するために使用できます。モデルは、アセンブリとして知られる接続されたパーツを含むことが多いですが、スクリプト、アタッチメント、または他のモデルなど、任意の数の個別のパーツやオブジェクトを含むこともできます。
例として、アバターキャラクターは、ランタイム動作に必要な適切なヒューマノイドパーツ、ジョイント、およびスクリプトを含む単一の Model です。


モデルの作成
モデルを作成する方法は2つあります:
グループ化方法を使用してモデルを作成するには:
エクスプローラーウィンドウまたは3Dビューポートで、モデルにグループ化したいすべてのオブジェクトを選択します。
オブジェクトの1つを右クリックし、グループを選択するか、Windowsでは CtrlG、Macでは ⌘G を押します。新しい Model オブジェクトが表示され、モデルを構成するすべてのオブジェクトがその下にネストされます。

プライマリパートの設定
物理ジョイント(WeldConstraints や Motor6Ds)を介して結合されたパーツを持つモデルがある場合、モデル内で BasePart を指定して PrimaryPart にする必要があります。モデルの PrimaryPart は、モデルが位置や向きを変更する際に、ピボットポイントとバウンディングボックスがどの BasePart に従うかを指定する物理的な参照です。
プライマリパートを設定するには:
- エクスプローラーウィンドウでモデルを選択します。
- プロパティウィンドウで、PrimaryPartプロパティを選択します。カーソルが変わります。
- エクスプローラーウィンドウに戻り、プライマリパートにしたいパーツを選択します。
モデルの選択
ビューポートでモデルにカーソルを合わせると、選択可能性を示すためにアウトラインが表示されます。アウトラインのあるモデルをクリックすることで選択できます。また、Shift、Ctrl、または ⌘ を押しながらカーソルを合わせてクリックすることで、複数のモデルを選択することもできます。

モデルには通常、複数の子パーツやメッシュが含まれているため、一部の子は表示されない場合があります。カメラを動かしたり、エクスプローラー階層で子を見つけたりせずに特定の子を選択するには、Windowsでは Alt を押しながら、Macでは ⌥ を押しながらクリックして選択サイクリングを実行します。
モデルの変形
スタジオの変形ツールを使用して、モデルを移動、スケール、または回転させることができます。プライマリパートを設定していない限り、モデルはそのバウンディングボックスの中心に基づいて変形します。
さらに、Script または LocalScript 内で、次のメソッドを使用してモデルを移動または回転させることができます:
| メソッド | 説明 |
|---|---|
| MoveTo() | モデルの PrimaryPart を指定された位置に移動します。プライマリパートが指定されていない場合、モデルのルートパートが使用されます。 |
| PivotTo() | モデルとそのすべての子孫 PVInstances を指定された CFrame にピボットを配置するように変形します。 |
| TranslateBy() | 指定された Vector3 オフセットでモデルをシフトし、モデルの向きを保持します。 |
モデルの動作
モデルは、ゲーム内のほとんどの目的において Folder オブジェクトと似たように動作しますが、いくつかのユニークな動作も示します。
キャラクターモデル
Humanoid が Head という名前の Part を含むモデル内に存在する場合、Robloxはそのパーツの上に名前やヘルスバーを表示します。詳細については、キャラクター名/ヘルス表示を参照してください。

破壊高さ
ゲームのマップから落下したパーツが永遠に落ち続けるのを防ぐために、スタジオは Workspace.FallenPartsDestroyHeight 値を下回ったパーツを自動的に破壊します。この動作により破壊されたパーツがモデル内の最後のパーツである場合、そのモデルも破壊されます。
モデルストリーミング
インスタンスストリーミングは、プレイヤーのデバイス上でキャラクターが3Dワールドを探索する際に Models を動的にロードおよびアンロードします。ストリーミングが有効になっている場合、各モデルがストリーミング動作の下でどのように扱われるべきかを指定できます。たとえば、Persistentに設定されたモデルは決してストリーミングアウトせず、Atomicに設定されたモデルは、そのすべての子孫とともに単一のユニットとしてストリーミングインおよびアウトします。詳細については、モデルごとのストリーミング制御を参照してください。
ストリーミングが有効なゲームでは、クライアント上の3Dコンテンツが動的に変化するため、モデルが突然消えることがあり、プレイヤーにとって視覚的に衝撃的です。この状況を避けるために、特定のモデルをストリーミングアウト時に最適化された「スリム」メッシュまたは低解像度の「インポスター」メッシュとしてレンダリングするように設定できます。詳細については、モデルの詳細レベルを参照してください。
モデルのアップロード
.gltf、.fbx、および .obj モデルファイルをインポーターを使用してクラウドにアップロードまたはインポートすると、Robloxはそれを一意の対応するIDを持つクラウドベースのアセットとして表現します。このクラウドベースのアセットシステムにより、Robloxを通じてモデルを保存し、プラットフォーム全体でさまざまなコンテキストで再利用できるようになり、各保存されたスタジオゲームの一部としてローカルコピーを維持する必要がなくなります。
スタジオで作成したモデルをアップロードするには:
エクスプローラーウィンドウでモデルを右クリックします。コンテキストメニューが表示されます。
Robloxに保存を選択します。アセット設定ウィンドウが表示されます。
アセット設定ウィンドウで、
コンテンツタイプを開発アイテムに設定します。
アセットカテゴリをモデルに設定します。
次のフィールドを入力します:
- タイトル - モデルの名前。
- 説明 - モデルの簡単な説明。
- クリエイター - ドロップダウンを使用して、このアセットを個人として公開するか、関連するグループの一部として公開するかを選択します。
- ジャンル - モデルのジャンル。
保存ボタンをクリックします。しばらくすると、アセット設定ウィンドウにモデルのアセットIDが表示され、プロジェクトで使用したり、他のクリエイター、グループ、またはゲームと共有したりできます。モデルを使用できるようにコラボレーターやゲームに許可を与える方法については、アセットのプライバシーを参照してください。
モデルの配布と販売
自分のモデルをアメリカドル(USD)でクリエイターストアで公開配布および販売できます。ただし、モデルの依存関係が15,000未満である必要があります。これらの依存関係はすべて次のいずれかでなければなりません:
- オープン使用アセットまたは、オーディオおよびビデオを除く、あなたが作成した制限されたアセット。
- クリエイターストアから取得したオーディオまたはビデオアセット。
このマネタイズ方法により、プラットフォーム手数料やDevExレートを回避して、取引の100%の純利益を得ることができます。アセットおよび販売者の要件、価格設定や支払いを受け取るための販売者アカウントの設定方法については、クリエイターストア - アセットの配布と販売を参照してください。
クリエイターストア用のモデルを作成する際は、次のことを確認してください:
- モデルが適切なスケールと向きに設定されており、クリエイターストアから挿入したときにすぐに使用できること。
- モデルのすべての依存関係が警告なしにスタジオにインポートされること。
- 各メッシュ依存関係が20,000三角形を超えないこと。
- 各テクスチャ依存関係がRobloxのテクスチャ仕様を満たしていること。