如何在Unity 3d中的纹理上设置图像

时间:2012-11-22 13:00:51

标签: iphone ios unity3d textures

我是Unity 3D的新手,我想完成一项小任务:在Unity 3D中的Texture实例上设置图像。我不知道如何在运行时这样做,我也想知道如何设置透明度低。

我不需要Texture2D - 我只需要纹理。我的图片格式为.png。我还想将文档目录中的图像设置为此纹理。

3 个答案:

答案 0 :(得分:7)

  • 首先将图片放入项目窗口,然后将其导入项目。

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

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

  • 接下来,您想要将immage分配给此材料,您可以通过将图像(在项目窗口中)拖放到新创建的材料上来实现此目的。

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

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

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

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

现在,每当您需要在运行时调用材质时(例如,如果您想要更改应用于游戏对象的纹理),只需使用以下命令:

renderer.material

这将影响脚本附加到的gameObject上的材质。因此,例如,如果您希望在运行时从change the texture开始,您可以说:

// 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

希望这会有所帮助。如果有任何需要澄清,请告诉我。

答案 1 :(得分:3)

图片一旦出现在资产中

  1. 创建新材料。
  2. 将“材质”的着色器更改为“未照明/纹理”。您将获得以下内容

New Material ready for texture

  1. 将图像拖到显示“无(纹理)”的位置,或单击选择按钮,然后选择图像。然后您将获得纹理

Final texture

答案 2 :(得分:1)

首先您需要将图像导入到您的 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 一个 _texture