テクスチャとデカール

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Textureは、パーツユニオンの任意の面に配置できる画像で、表面のサイズに対して水平方向と垂直方向の両方に繰り返すことができます。それに対して、Decalは、パーツやユニオンの表面の面積に合わせて引き伸ばされる画像です。TextureまたはDecalオブジェクトをパーツまたはユニオンに追加した後、次の操作を行うことができます:

  • テクスチャまたはデカールのColor3プロパティを変更して、RGBカラーコードを使用して色のトーンを設定します。

  • テクスチャまたはデカールのTransparencyプロパティを、デフォルトの0(完全に表示)から1(不可視)までの値に変更します。

  • テクスチャの場合は、そのスケールオフセットを設定します。

暗い青い背景の上に光の青色の六角形の例のテクスチャ画像。
テクスチャ画像
ブロックパーツの上に8回繰り返された同じテクスチャ。
パーツに適用されたテクスチャ(繰り返し)
暗い紫の背景の上に光の紫色の六角形の例のデカール画像。
デカール画像
ブロックパーツの上に引き伸ばされた同じデカール。
パーツに適用されたデカール(引き伸ばし)

テクスチャまたはデカールの作成

テクスチャまたはデカールを作成するには、TextureまたはDecalオブジェクトをパーツまたはユニオンに追加する必要があります。テクスチャとデカールの画像をスタジオにインポートして、ゲーム間で使用したり、配布してクリエイター ストアに提供することができます。画像をインポートすると、スタジオはそれに一意のアセット ID を割り当てます。

パーツまたはユニオンにテクスチャまたはデカールを追加するには:

  1. Explorerウィンドウで、TextureまたはDecalをパーツまたはユニオンに追加します。空のテクスチャまたはデカールオブジェクトがオレンジのアウトラインでパーツまたはユニオンに表示されます。

  2. Propertiesウィンドウで、Faceプロパティに移動し、面(TopBottomFrontBackLeft、または Right)を選択します。

    • オプション
      正しい面を選択するのを助けるために、パーツ/ユニオンを右クリックし、オリエンテーション インジケーターを表示を選択します。これにより、オブジェクトの前面に取り付けられた青い線とオブジェクトの上面の方向を示す緑の矢印を持つサークル🅕が表示されます。

  3. ColorMapContentプロパティを選択し、次のいずれかの方法で画像を適用します:

    • 過去にアップロードしたテクスチャまたはデカールを選択します。
    • フィールドにアセットIDを入力します。
  4. オプション
    Color3プロパティの左側にある小さなボックスをクリックするか、RGBカラーコードを入力することで色のトーンを設定します。

    小さなカラーボックスが強調表示されたColor3プロパティのクローズアップビュー。
    RGBコードが強調表示されたColor3プロパティのクローズアップビュー。
    上面に繰り返された青色の六角形テクスチャを持つブロックパーツ。
    Color3: [255, 255, 255]
    深紫の背景に対してピンクの六角形が描かれたブロックパーツの上面に繰り返された六角形テクスチャ。
    Color3: [255, 0, 100]
  5. オプション
    Transparencyプロパティをデフォルトの0(完全に表示)と1(不可視)の間の任意の値に設定します。

テクスチャのカスタマイズ

デカールとは異なり、テクスチャは、ソース画像をスケール、オフセット、アニメーションさせるための追加機能を提供します。

テクスチャのスケール

パーツのサイズはテクスチャに影響しません。むしろ、パーツをスケーリングすると、テクスチャが繰り返される回数が増えたり減ったりします。

StudsPerTileUおよびStudsPerTileVプロパティは、スタッズ単位での各「タイル」のサイズを決定します。StudsPerTileUはテクスチャの水平方向のサイズを決定し、StudsPerTileVはテクスチャの垂直方向のサイズを決定します。

サイズが2x2の8x6スタッズの表面にあるテクスチャ。

テクスチャのオフセット

テクスチャの位置をさらに制御したい場合は、OffsetStudsU(水平)およびOffsetStudsV(垂直)プロパティを調整してテクスチャをオフセットします。これは、アニメーションにも役立ちます。

オフセットなしの8x6スタッズの表面にある2x2テクスチャ。

テクスチャのアニメーション

TweenServiceを使用すると、OffsetStudsUおよびStudsPerTileVのようなテクスチャプロパティをツイーンすることでアニメーション効果を得られます。たとえば、2つの霧テクスチャを1つのコンテナに適用し、次のスクリプトでアニメーションを適用することで、レイヤーが動く霧の外観を得ることができます。

動く霧効果をシミュレートするための2つのアニメートされたテクスチャ

local TweenService = game:GetService("TweenService")
local texture1 = script.Parent.Texture1
local texture2 = script.Parent.Texture2
local tweenInfo1 = TweenInfo.new(8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1)
local tween1 = TweenService:Create(texture1, tweenInfo1, {OffsetStudsV=50})
local tweenInfo2 = TweenInfo.new(7, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true)
local tween2 = TweenService:Create(texture2, tweenInfo2, {OffsetStudsU=50, StudsPerTileU=55, StudsPerTileV=45})
tween1:Play()
tween2:Play()

テクスチャストリーミング

テクスチャストリーミングは、距離とカメラビューに基づいてテクスチャを動的にロードするため、デバイス間でのスケーリングを心配することなく、より自由にテクスチャを使用できます。エンジンは、最初にベースライン品質のテクスチャを重要性の順にロードし、その後、デバイスの利用可能なメモリまで各テクスチャの品質を徐々に上げます。テクスチャストリーミングは自動的に有効になるため、これを利用するために特別なアクションを取る必要はありません。

テクスチャストリーミングの有無を示すゲームの視覚化。
テクスチャストリーミングの有無での同じシーン

利点

  • より早い読み込み時間と小さいダウンロード:テクスチャはベースライン品質でほぼすぐに表示され、エンジンは必要な詳細のみをダウンロードし、転送中およびローカルディスクキャッシュ上で圧縮します。
  • 重要なところに高品質:エンジンは、オブジェクトが占める画面のスペースなどの重要性を継続的に推定し、最も目立つオブジェクトが最高の詳細を得られるように、そのテクスチャに対するメモリ予算を使用します。
  • メモリエラーのクラッシュが減少:エンジンはメモリ予算内に留まり、メモリが不足しているときにはテクスチャの品質を下げることができるため、プレイヤーがテクスチャメモリの急増からクラッシュする可能性が大幅に減ります。

テクスチャストリーミングは、MeshPart(スキン付きおよびスキンなし)、SurfaceAppearanceTextureDecalMaterialVariantBeamParticleEmitter、およびPartOperationBasePartインスタンスに適用された基本的なマテリアルで機能します。

ベストプラクティス

  • アトラスがバッチ可能なパーツに適用されている場合を除き、テクスチャアトラスよりもユニークで個別のテクスチャを優先してください。アトラス内の1つのテクスチャに高解像度をリクエストすると、その解像度でアトラス全体がストリーミングされます。
  • UVマッピングされたメッシュにおいて、ほぼ均一なテクセル密度を維持し、エンジンが各テクスチャに対して最適な解像度を選択できるようにします。
  • テクスチャストリーミングがまだサポートしていないインスタンスタイプのために、テクスチャメモリを注意深く管理し続けます。
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。