---
title: スクリプトでの 2D テクスチャ配列の作成
product: Unity Editor
version: '6000.0'
latest_version: '7000.0'
status: outdated
canonical: https://docs.unity.com/ja-jp/engine/6000.0/manual/materials-and-shaders/textures/class-texture2darray/create
latest_url: https://docs.unity.com/ja-jp/engine/7000.0/manual/materials-and-shaders/textures/class-texture2darray/create.md
last_updated: 2026-09-14
generated_at: 2026-11-03T14:00:35.551Z
locale: ja-jp
---

# スクリプトでの 2D テクスチャ配列の作成

> **Note:** This page documents version 6000.0. The latest version is 7000.0: https://docs.unity.com/ja-jp/engine/7000.0/manual/materials-and-shaders/textures/class-texture2darray/create.md

> Use the Texture2DArray API to initialize a 3D texture and set the pixel data.

スクリプトで 2D テクスチャ配列を作成するには、[`Texture2DArray`](/engine/6000.0/script-reference/unity-engine/texture-2-d-array.md) API を使用します。

例:

```csharp
// Set the 2D texture array parameters
int width = 32;
int height = 32;
int slices = 8;
TextureFormat format = TextureFormat.RGBA32;
bool mipChain = false;

// Create a 2D texture array with a width and height of 32 pixels, and 8 slices
Texture2DArray textureArray = new Texture2DArray(width, height, slices, format, mipChain);
```

## 例##example

以下の例では、2D テクスチャ配列クラスのインスタンスを作成し、各スライスを異なる色に設定して、2D テクスチャ配列をシリアライズされたアセットファイルとしてプロジェクトに保存します。

```csharp
using UnityEditor;
using UnityEngine;

public class ExampleEditorScript : MonoBehaviour
{
    [MenuItem("Examples/Create2DTextureArray")]
    static void Create2DTextureArray()
    {
        // Set the texture parameters
        int width = 32;
        int height = 32;
        int slices = 3;
        TextureFormat format = TextureFormat.RGBA32;
        bool mipChain = false;

        // Create the texture array and apply the parameters
        Texture2DArray textureArray = new Texture2DArray(width, height, slices, format, mipChain);

        // Create a 2D array of colors, to store color data for each pixel in a slice
        Color[] colors = new Color[width * height];

        // Loop through each slice
        for (int slice = 0; slice < slices; slice++)
        {
            // Generate a random color
            Color randomColor = new Color(Random.value, Random.value, Random.value, 1f);

            // Set all the pixels in the color array to the random color
            for (int color = 0; color < colors.Length; color++)
            {
                colors[color] = randomColor;
            }

            // Set the pixels of the slice to the color array
            textureArray.SetPixels(colors, slice);
        }

        // Apply the changes to the texture array by uploading the updated pixels to the GPU
        textureArray.Apply();

        // Save the texture array to your Unity project
        AssetDatabase.CreateAsset(textureArray, "Assets/Example2DTextureArray.asset");
    }
}
```
