Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Texture2D.PackTextures

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function PackTextures(textures: Texture2D[], padding: int, maximumAtlasSize: int = 2048, makeNoLongerReadable: bool = false): Rect[];
public Rect[] PackTextures(Texture2D[] textures, int padding, int maximumAtlasSize = 2048, bool makeNoLongerReadable = false);

パラメーター

textures アトラス内でパックされたテクスチャの配列
padding パックされたテクスチャ間のパディングピクセル数。
maximumAtlasSize 結果のテクスチャの最大サイズ
makeNoLongerReadable テクスチャをあらかじめ読みやすくマークしておくかどうか

戻り値

Rect[] アトラス内にある各テクスチャの UV 座標を含む長方形の配列、パッキングに失敗した場合は null。

説明

テクスチャアトラスに複数のテクスチャをパックします

この関数は、指定されたテクスチャから作られたアトラスと現在のテクスチャに置き換えられます。 任意のテクスチャのサイズ・形式・ミップマップは、パッキング後に変更することができます。

結果のテクスチャアトラスは、すべての入力のテクスチャに合わせて、必要に応じて同じ大きさになります。 テクスチャアトラスに収まらない場合、入力テクスチャは必ずしも望んだサイズにはならず、 アトラス側でサイズに合うように縮小されます。

すべての入力テクスチャが DXT1 圧縮されている場合は、アトラスは DXT1 形式になります。 すべての入力テクスチャが DXT1DXT5 形式で圧縮されている場合は、アトラスは 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); } }