7

私はUnity3Dを初めて使用しTextureますが、Unity3Dのインスタンスに画像を設定するという小さなタスクを実行したいと思います。実行時にこれを行う方法がわかりません。また、透明度を低く設定する方法も知りたいです。

Texture2Dは必要ありません-必要なのはTextureだけです。私の画像は.pngフォーマットされています。また、ドキュメントディレクトリからこのテクスチャに画像を設定したいと思います。

4

3 に答える 3

14
  • まず、画像をプロジェクトウィンドウにドロップするだけで、画像をプロジェクトにインポートします。

  • プロジェクトウィンドウに表示されたら画像を選択し、インスペクターでテクスチャタイプのテクスチャに設定されていることを確認します。

  • 次に、プロジェクトウィンドウを右クリックして、新しいマテリアルを作成します。

  • 次に、画像をこのマテリアルに割り当てます。これを行うには、画像(プロジェクトウィンドウにあります)を新しく作成したマテリアルにドラッグアンドドロップします。Unityの最近のバージョンでは、「Albedo」の左側の正方形にドロップする必要があります。

  • 次に、新しいマテリアルをクリックすると、インスペクターウィンドウに、イメージがアクティブなテクスチャであり、シェーダーがデフォルトで拡散するように設定されていることが表示されます。

  • 透明度をアクティブにするには、インスペクターウィンドウのシェーダードロップダウンメニューをクリックし、[透明/拡散](または目的の外観に応じて任意の透明度オプション)を選択して、シェーダータイプを変更します。

  • この後、透明度を変更するには、メインの色見本をクリックするだけで、新しいウィンドウが開き、すべての種類のモディファイヤ(赤、緑、青、アルファを調整するための4つの水平スライダー付き)が表示されます。

  • アルファスライダーを調整して、素材の透明度に影響を与えます。

これで、実行時にマテリアルを呼び出す必要がある場合(たとえば、ゲームオブジェクトに適用されるテクスチャを変更する場合)は、次のコマンドを使用して行うだけです。

renderer.material

これは、スクリプトがアタッチされているgameObjectの素材に影響します。したがって、たとえば、実行時にスクリプトからテクスチャを変更したい場合は、次のように言うことができます。

// Assign the texture exposed in the inspector the renderer's material

var texture : Texture;
renderer.material.mainTexture = texture;

アルファチャンネルを変更したい場合:

renderer.material.color.a = 0 // For example

お役に立てれば。明確にする必要がある場合はお知らせください。

于 2012-11-22T20:06:27.510 に答える
3

アセットに画像を入れたら

  1. 新しいマテリアルを作成します。
  2. マテリアルのシェーダーを「Unlit/Texture」に変更します。次のようになります

テクスチャの準備ができた新素材

  1. 「なし(テクスチャ)」と表示されている場所に画像をドラッグするか、選択ボタンをクリックして画像を選択します。次に、テクスチャを取得します

最終的な質感

于 2020-08-06T12:16:32.423 に答える
0

assetまず、画像をフォルダにインポートする必要があります。

Textureコードを使用してランタイムにイメージを設定する場合は、以下のコードを使用してください

[SerializeField] private Texture _texture;
[SerializeField] private GameObject _gameObject;


void Start()
{
    Material m = GetComponent<MeshRenderer>().material;
    m.color = new Color(1,1,1,.5f);
    m.mainTexture = _texture;
}    

まず、Gameobjectテクスチャを変更するを割り当てます。次に、で画像を割り当て_textureます。

次に、そのオブジェクトからを取得し、materialそのオブジェクトにを取得します。assign_texturematerial.mainTexture

于 2021-05-30T07:23:09.820 に答える