言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Texture2D.PackTextures

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

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);
public def PackTextures(textures as Texture2D[], padding as int, maximumAtlasSize as int = 2048, makeNoLongerReadable as bool = false) as Rect[]

Parameters

textures アトラス内でパックされたテクスチャの配列
padding パックされたテクスチャ間のパディングピクセル数。
maximumAtlasSize 結果のテクスチャの最大サイズ
makeNoLongerReadable テクスチャをあらかじめ読みやすくマークしておくか? アトラス内にある各テクスチャのUV座標を含む長方形の配列、パッキングに失敗した場合はnull。

Description

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

この関数は、指定されたテクスチャから作られたアトラスと現在のテクスチャに置き換えられます。 任意のテクスチャのサイズ・フォーマット・ミップマップは、パッキング後に変更することができます。 結果のテクスチャアトラスは、すべての入力のテクスチャに合わせて、必要に応じて同じ大きさになります。\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)