textures | アトラス内でパックされたテクスチャの配列 |
padding | パックされたテクスチャ間のパディングピクセル数。 |
maximumAtlasSize | 結果のテクスチャの最大サイズ |
makeNoLongerReadable | テクスチャをあらかじめ読みやすくマークしておくか? アトラス内にある各テクスチャのUV座標を含む長方形の配列、パッキングに失敗した場合はnull。 |
テクスチャアトラスに複数のテクスチャをパックします
この関数は、指定されたテクスチャから作られたアトラスと現在のテクスチャに置き換えられます。 任意のテクスチャのサイズ・フォーマット・ミップマップは、パッキング後に変更することができます。 結果のテクスチャアトラスは、すべての入力のテクスチャに合わせて、必要に応じて同じ大きさになります。\n テクスチャアトラスに収まらない場合、\n入力テクスチャは必ずしも望んだサイズにはならず、\n アトラス側でサイズに合うように縮小されます。 すべての入力テクスチャがDXT1圧縮されている場合は、アトラスはDXT1フォーマットになります。 すべての入力テクスチャがDXT1またはDXT5形式で圧縮されている場合は、アトラスはDXT5形式になります。 任意の入力テクスチャが圧縮されていない場合には、 アトラスはARGB32非圧縮形式になります。 入力テクスチャのどれもミップマップを持っていない場合は、アトラスもミップマップがありません。 非ゼロパディングを使用、アトラス圧縮、ミップマップを圧縮しているされている場合は、 下位レベルのミップマップは、圧縮による制限のために正確に元のテクスチャと同じでない可能性があります。 makeNoLongerReadableがtrueの場合、すでに読み書きメモリはGPUにアップロードした後に解放されませんように、テクスチャがマークされます。 デフォルトではmakeNoLongerReadableはfalseに設定されている。 makeNoLongerReadableのデフォルト設定はFalseにセットされている
// Source textures. var atlasTextures: Texture2D[]; // Rectangles for individual atlas textures. var rects: Rect[]; function Start () { // Pack the individual textures into the smallest possible space, // while leaving a two pixel gap between their edges. var atlas = new Texture2D(8192, 8192); rects = atlas.PackTextures(atlasTextures, 2, 8192); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Texture2D[] atlasTextures; public Rect[] rects; void Start() { Texture2D atlas = new Texture2D(8192, 8192); rects = atlas.PackTextures(atlasTextures, 2, 8192); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public atlasTextures as (Texture2D) public rects as (Rect) def Start() as void: atlas as Texture2D = Texture2D(8192, 8192) rects = atlas.PackTextures(atlasTextures, 2, 8192)