【发布时间】:2019-03-25 17:56:24
【问题描述】:
在以代码将 .png 文件导入我的项目时遇到问题。 这是我导入前的 .png 文件:
在这段代码之后:
var pngImage = LoadPNG(pngPath);
string pngPath2 = Application.persistentDataPath + "/images/testImage.png";
var meshRenderer = GameObject.Find("SimInput").GetComponent<MeshRenderer>();
meshRenderer.material.mainTexture = pngImage;
public static Texture2D LoadPNG(string filePath)
{
Texture2D tex = null;
byte[] fileData;
if (File.Exists(filePath))
{
fileData = File.ReadAllBytes(filePath);
tex = new Texture2D(2, 2);
tex.LoadImage(fileData);
}
return tex;
}
我在哪里做错了?
我一直在尝试将此文件再次保存为 .png,但结果与第一张图片相同。 Unity 中是否有需要更改的属性?
提前谢谢你。
【问题讨论】:
-
这是您尝试将图像显示为平面或四边形的模型吗?您使用的是默认材质和着色器吗?
-
这是飞机。我正在使用默认材质和着色器
-
似乎这里的问题是底层材料。它是黑色的,因此您的文本不会显示,一个好的开始是将 png 的背景绘制为白色,这样您就可以摆脱 alpha,或者尝试在材质下添加一点
-
我想也可以是着色器,因为您的光源似乎在对象上方,将这一侧置于阴影中。
-
@Vanethrane - 我改变了光源的位置,但没有效果。我想这可能是材料的问题。我可以在代码中设置 .png bg 颜色吗?
标签: c# android image unity3d import