textures | アトラス内でパックされたテクスチャの配列 |
padding | パックされたテクスチャ間のパディングピクセル数。 |
maximumAtlasSize | 結果のテクスチャの最大サイズ |
makeNoLongerReadable | テクスチャをあらかじめ読みやすくマークしておくかどうか |
Rect[] アトラス内にある各テクスチャの UV 座標を含む長方形の配列、パッキングに失敗した場合は null。
テクスチャアトラスに複数のテクスチャをパックします
この関数は、指定されたテクスチャから作られたアトラスと現在のテクスチャに置き換えられます。
任意のテクスチャのサイズ・形式・ミップマップは、パッキング後に変更することができます。
結果のテクスチャアトラスは、すべての入力のテクスチャに合わせて、必要に応じて同じ大きさになります。
テクスチャアトラスに収まらない場合、入力テクスチャは必ずしも望んだサイズにはならず、
アトラス側でサイズに合うように縮小されます。
すべての入力テクスチャが DXT1 圧縮されている場合は、アトラスは DXT1 形式になります。
すべての入力テクスチャが DXT1 か DXT5 形式で圧縮されている場合は、アトラスは DXT5 形式になります。
任意の入力テクスチャが圧縮されていない場合には、
アトラスは ARGB32 非圧縮形式になります。
入力テクスチャのどれもミップマップを持っていない場合は、アトラスもミップマップがありません。
非 0 パディングを使用、アトラス圧縮、ミップマップを圧縮しているされている場合は、
下位レベルのミップマップは、圧縮による制限のために正確に元のテクスチャと同じでない可能性があります。
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); } }