アセットライブラリを構築する は、エクスペリエンス内の中央位置の場所でアセットコレクションをインポートし、構成するプロセスです。このプロセスは、環境を構築する準備の間、特に各アセットの値を構成してパフォーマンスを向上させ、メモリ使用を最小限に抑えるデバイスの場合、大きな時
環境アート - アセンブル を使用して、環境アート - アセンブル ファイルを参照として示し、この環境アート教科のセクションでは、.rbxlを含む、あなたの磨き上げられたアセットライブラリをアセンブルする方法を示しています:
- タイル可能なテクスチャから自分の地形にカスタムマテリアルを作成する。
- あなたのトリムシート用の表面特性オブジェクトを作成し、アセットライブラリのアンラップされたメッシュに適用します。
- アセットのレンダリングパラメータを設定して、すべてのデバイスで最高のパフォーマンスを保証します。
- アセットをパックに変換して、プロジェクト間で更新して再利用できるようにします。
このセクションを完了すると、アセットライブラリをクリエイティブな方法で使用して、グレーボックス環境を置き換えたり、3D スペースを最適化したりする方法を学びます。

カスタムマテリアルを作成
Studio は、MaterialVariant 内の Class.Materialrant オブジェクトを MaterialService オブジェクトと組み合わせて、物理的な特性を持つ高品質のカスタムマテリアルを作成します。これらの Class.Materialrant オブジェクトには、四つのタイル可能なテクスチャマップを組み合わせて、物理的な特性を持つカスタム
- MaterialVariant.ColorMap – アルベドテクスチャマップを表示します。
- MaterialVariant.MetalnessMap – 金属のテクスチャマップを表示します。
- MaterialVariant.NormalMap – 通常のテクスチャマップを表示します。
- MaterialVariant.RoughnessMap – 不明瞭なテクスチャマップを表示します。
これらのプロパティにテクスチャマップを供給した後、新しいカスタムマテリアルを両方のパーツ、メッシュ、および地形に適用できます。サンプルテクスチャマップ .png ファイルを使用または変更して、ランプイモス、花のランプイモス、ランプイ
タイル可能なテクスチャのオブジェクトを作成するには: To create MaterialVariant オブジェクト for your tileable textures:
メニューバーの ホーム または モデル タブで、 マテリアルマネージャー ボタンをクリックします。1>マテリアルマネージャー1> ウィンドウが開きます。
In the マテリアルズ list, select the base material that most aligns with your tileable texture. For example, if you were creating a MaterialVariant object for the Lumpy Moss tileable texture, choose the default ground material so the material inherits its physical properties.
In the ツールバー , click the ⊕ アイコン. A new MaterialVariant がパレットに表示され、右下隅にあるアイコンで指示しているように、カスタムマテリアルです。
In the インスペクター , ナビゲート to the 一般 section, then rename the material to マップルのテクスチャの名前と一致するように再名.
In the テクスチャマップ section, on the right-hand side of カラー , click the インポート ボタン. A file browser displays.
ファイルブラウザで、対応するタイルベクスチャのための Albedo テクスチャマップ .png ファイルを選択し、開く ボタンをクリックします。ファイルブラウザが閉じ、新しい色マップがアセットID で表示されます。
このプロセスを 金属性 、 ノーマル 、および 粒度 テクスチャマップのために繰り返します。カスタムマテリアルは、テクスチャマップに反映されるように更新されます。
In the オーバーライド セクション, enable the オーバーライドを設定 toggle to ensure that when you apply ground to your terrain, Studio uses this custom material.
(オプション)) 有機物質を表示するカスタムマテリアルを作成している場合、
- In the タイル section, click the パターン dropdown.
- Select オーガニック を選択して、出力をランダム化し、表示されるタイルを減少させます。
エクスペリエンスに含めたいタイル可能なテクスチャのために、このプロセスを繰り返します。
SurfaceAppearance パックを作成する
Studio は、SurfaceAppearance オブジェクトの中のトリミングシートを使用して、MeshParts 内の UV データを含む、高品質の 3D ビジュアル表示処理を作成できます。カスタム素材と同様、SurfaceAppearance オブジェクトには 4つのプロパティがあり、トリミン
SurfaceAppearance.ColorMap – アルベドオテクスチャマップを表示します。 SurfaceAppearance.MetalnessMap – メタルネステクスチャマップを表示します。 SurfaceAppearance.NormalMap – 標準テクスチャマップを表示します。 0> Class.SurfaceSurface.Roughness
これらのプロパティにテクスチャマップを供給する後、SurfaceAppearance オ

サンプルテクスチャマップ .png ファイルを使用または変更して、サンプルモジュールアセットとプロップのサンプルレーザータグ環境内の uv データに対応する SurfaceAppearance オブジェクトを作成できます。または、自分が設計したモジュールアセットとプロップのサンプルテ
Class.Surface パックを作成して、モジュールキットとプロップに子供できるパックを作成します:
ワークスペースに サーフェス形状 オブジェクトを挿入します。
Select the サーフェススキンフィギュア object, then in the プロパティ window, select the カラーマップ property. A pop-up displays.
クリックする 画像を追加… ボタン。ファイルブラウザが表示されます。
対応するタイル可能なテクスチャの Albedo テクスチャマップを選択し、開く ボタン。ファイルブラウザが閉じ、ColorMap プロパティが新しいアセットID で更新されます。
ファイルブラウザからそれぞれのテクスチャマップを選択して、MetalnessMap、NormalMap、および RoughnessMap プロパティのためにこのプロセスを繰り返します。
In the Explorer ウィンドウ, right-click the サーフェス形状 オブジェクト, then select パックに変換 e from the contextual menu. The 1> パックに変換1> ダイアログが表示されます。
タイトルと説明のフィールドに記入し、所有者を自分またはグループに設定し、Submit ボタンをクリックします。完了したら、サーフェス形状オブジェクトのアイコンの上にチェーンリンクシンボルが表示され、Submit ボタンをクリックします。
(オプション) 選択する サーフェス形状 オブジェクトの子 パッケージリンク オブジェクト、然後 0>プロパティ0> ウィンドウで、 3>自動更新 3> を有効にして、サーフェス形状オブジェクトに変更を適用した場合、パッケ
モジュールアセットとプロップをインポート
Studio は、アセットのモジュールアセットとプロップを Class.Model

3D インポーターを使用すると、サンプルのモジュールキットとプロップをスタジオにインポートしたり、以前のセクションの 「タブルのエクスポート」で作成したアセットを使用することができます。このツールの機能については、「3D インポーター」を参照してください。
モジュールアセットとプロップをエクスペリエンスにインポートするには:
In the ホーム または アバター タブ, click the 3D インポート ボタン. A ファイルブラウザが表示されます。
Select a .fbx ファイル for either a modular アセット or prop.
オブジェクトプレビューを確認し、インポート設定がオブジェクトに正しいかどうかをチェックします。
任意の 警告またはエラーメッセージ を検証します。
クリックします インポート 。アセットは エクスプローラー ウィンドウに表示され、ビューポートに表示されます。
これをモジュールごとのアセットとプロップのために繰り返します。
グレーボックスのジオメトリの近くにあるエリアにすべてのアセットを移動します。この領域は、アセットライブラリです。
サーフェススタイルデータを適用
メッシュの UV をサードパーティのモデリングソフトウェアで取り出すプロセスを通過すると、ソフトウェアはUVデータをメッシュの .fbx または .obj ファイルに保存します。当
アセットライブラリに SurfaceAppearance のテクスチャマップデータを適用するには:
- In the Explorer window, click your サーフェス形状 package, then press Ctrl 0> D0> ( 3>⌘3> 5>D5> ) to duplicate it.
- 子 SurfaceAppearance パックをモジュールアセットまたはプロップにドラップします。アセットは、テクスチャマップに UV データを適用し、その視覚的な処理を表示します。
- これをモジュールごとのアセットとプロップのために繰り返します。
物理とレンダリングパラメータを設定
Studio の中にアセットがあることになると、メモリとグラフィックスの制限を持つデバイス間でアセットの最高ビジュアル品質を維持できる物理パラメーターとレンダリングパラメーターを設定することは重要です。一全般的に、このセクションのガイドラインに従っていることで、
アンカー
Class.BasePart.Anchored プロパティは、Roblox エンジンの物理システムがオブジェクトの位置に影響を与えるかどうかを決定します。Part または MeshPart のプロパティを有効にすると、オブジェクトはダイナミックシミ
物理応答をシミュレートしないオブジェクトは、GPU が必要なこれらの物理計算に必要なグラフィックプロセッサーを占有しないため、レンダリングが安くなります。当該物理計算に必要なグラフィックプロセッサーを解放すると、エクスペリエンスのパフォーマンスが向上し、特に低端デバイスの
CanCollide
Class.BasePart.CanCollide プロパティは、オブジェクトが他のオブジェクトと物理的に交流できるかどうかを決定します。このプロパティを Part または MeshPart のために有効にすると、オブジェクトは不透明であり、Roblox エ
この履行響を軽減するために、ユーザーがインタラクトしないオブジェクトにこのプロパティを無効にします。たとえば、最終サンプルレーザータグ環境は、すべての葉っぱにこのプロパティを無効にします。

CanTouch
Class.BasePart.CanTouch プロパティは、Touched および TouchEnded イベントがオブジェクトに発生するかどうかを決定します。1>Class
このプロセスは、エンジンが多くのオブジェクトを一度にチェックする必要がある場合、またはエンジンがオープンな状態で多くのオブジェクトをチェックする必要がある場合に発生します。このプロパティの影響を減らすために、オブジェクトがイベントをトリガーする必要がある場合にのみこのプロパティを有効にします。
CanQuery
Class.BasePart.CanQuery プロパティは、Roblox エンジンがレイキャストなどの空間クエリ操作中にオブジェクトを検討するかどうかを決定します。Part または MeshPart のデフォル
この理由で、Roblox エンジンが空間クエリーオペーションを考慮しないオブジェクトには、このプロパティを無効にすることをお勧めします。当該プロパティを無効にすると、エンジンはそのオブジェクトの位置に対してレーザーを発射し
キャストシャドウ
Class.BasePart.CastShadow プロパティは、オブジェクトがシャドウをキャストするかどうかを決定します。Part または MeshPart の場合、Roblox エンジンは、オブジェクトのランタイム時のベクスル位置を計算し、次のオブジェクトにレイ
これらの計算は、特に多くのジオメトリックな複雑さのオブジェクトを持っている場合に、パフォーマンスコストになる可能性があります。これは、ジオメトリックな複雑さのオブジェクトには多くのポリゴンがあるため、エンジンがオブジェクトのシャドーを計算するために必要なポリゴンを持っている必要があるためです。オブジェ

シャドウは、3D 幾何学的な深さのオブジェクトに 3D のリアル感を提供することができますので、このプロパティを無効にする場所を決定するときは、オブジェクトが環境に与える重要なビジュアルインプレッションを考慮し、ユーザーが見逃


ダブルサイド
Class.MeshPart.DoubleSided プロパティは、メッシュ内の両方の顔またはポリゴンをレンダリングするかどうかを決定します。MeshPart のように、葉、髪、


このプロパティは、エンジンがオブジェクトのポリゴンを 2 倍にレンダリングする必要があるため、環境にリアリズムを追加するのに便利ですが、パフォーマンスコストがかかります。このプロパティは、ユーザーのカメラから離れたメッシュに対するレンダリングの 2
CollisionFidelity
Class.MeshPart.CollisionFidelity プロパティは、メッシュの視覚表現との物理的ヒットボックスの一致度を決定します。デフォルトでは、この設定は、メッシュのポリゴン形状とユーザーがコリジョンする場所がメッシュの実際の形状と似ていることを意味するた


このプロパティを別の値に設定して、メッシュのヒットボックスの精度を減少できます。たとえば、Hull にこのプロパティを設定すると、Roblox エンジンはメッシュのヒッ



Roblox エンジンのレンダリングに必要なベクトル数は、BasePart.CastShadow と同様です。エンジンのレンダリングに必要なベクトル数が増えると、パフォーマンスコストが上昇します。このため、ユーザーがメッシュにどの
このコンセプトを示すには、壁のモデルのヒットボックスを示す次の画像を参照してくださ環境。このモデルのメッシュのすべてのヒットボックスには、ユーザーが移動する方向を防ぐための表面を提供する必要がありません。メインウォールのデフォルトのヒッ



これらの決定を行うときには、デフォルトの値を変更すると、壁の環境をナビゲートするユーザーに悪影響を与える可能性があることを考慮してください。たとえば、壁の環境のトリミングメッシュの場合、ユーザーが壁にジャン


メッシュの形状に正確に従う必要があるヒットボックスを持つことは、特にユーザーがメッシュの形状とどのように正確に対話するかを制御する必要がある場合に重要です。たとえば、最終サンプルレーザータグ環境では、ユーザーがメッシュの形状とどのように正確に対話するかを制御する必要があり、そうしないと

RenderFidelity
Class.MeshPart.RenderFidelity プロパティは、ユーザーがメッシュを表示するレベルのメッシュの詳細を決定します。 Enum.RenderFidelity.Automatic を設定すると、Roblox エンジンはメッシュの純粋
エンジンがユーザーに任意の距離から精密にオブジェクトをレンダリングするために必要なオブジェクトの数が増えるにつれて、パフォーマンスコストが上昇します。この影響を軽減するために、Enum.RenderFidelity.Performance
アセットをパッケージに変換する
すべてのモジュールアセットが Studio に配置され、レンダリングパラメーターが設定されているため、高品質のビジュアルをすべてのユーザーに保持するようになっています。それらのアセットをパックに変換することは、あなたの現在のエクスペリエンスと他のプロジェクトでその高品��
あなたの SurfaceAppearance オブジェクトはすでにパッケージです、Model オブジェクトをパッケージに変換すると、子オブジェクトの複数のネストされたパッケージになります。ネストされたパッケージは、Model オブジェクトパッケージを変更することなく、

Modular Assets と Prop をパックに変換するには:
In the エクスプローラー window, right-click a modular asset or a prop, then select パッケージに変換 from the contextual menu. The パッケージに変換 ダイアログが表示されます。
タイトルと説明のフィールドに記入し、所有者を自分またはグループに設定し、Submit ボタンをクリックします。完了したら、モデルのアイコンの上にチェーンリンクのシンボルが表示され、それをパッケージとしてマークします。
これをモジュールごとのアセットとプロップのために繰り返します。
アセットライブラリの全体レイアウトに満足したら、新しく整理されたアセットを使用して環境を装飾し、3D 空間の追加要素を構成して、世界を生きているようにすることができます。