7

我是 Unity 3D 的新手,我只想做一点小任务:Texture在 Unity 3D 中的实例上设置图像。我不知道如何在运行时执行此操作,我也想知道如何将其透明度设置为低。

我不需要 Texture2D - 我只需要 Texture。我的图像是.png格式的。我还想将我的文档目录中的图像设置到这个纹理上。

4

3 回答 3

14
  • 首先将您的图像导入您的项目,只需将其拖放到项目窗口中即可。

  • 在项目窗口中选择图像,并确保在检查器中将其设置为纹理类型。

  • 接下来,通过右键单击项目窗口来创建新材料。

  • 接下来,您要将图像分配给此材质,您可以通过将图像(位于项目窗口中)拖放到新创建的材质上来执行此操作。在最新版本的 Unity 中,您需要将其放在“Albedo”左侧的方格上。

  • 然后单击新材质,在检查器窗口中它应该会显示您的图像是活动纹理,并且默认情况下应该将着色器设置为漫反射。

  • 要激活透明度,您需要通过单击检查器窗口中的着色器下拉菜单并选择透明/漫反射(或任何透明度选项,具体取决于您想要的外观)来更改着色器类型。

  • 在此之后更改它的透明度,只需单击主色样,应该会打开一个新窗口,为您提供各种修改器(带有 4 个水平滑块来调整红色、绿色、蓝色和 Alpha)。

  • 调整 Alpha 滑块以影响材质的透明度。

现在,无论何时您需要在运行时调用您的材质(例如,如果您想更改应用到游戏对象的纹理),只需使用:

renderer.material

这将影响脚本附加到的游戏对象的材质。例如,如果您想在运行时从脚本更改纹理,您可以说:

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

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

如果你想改变 alpha 通道:

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

然后从该对象获取 amaterial并从该对象获取assigna 。_texturematerial.mainTexture

于 2021-05-30T07:23:09.820 回答