如何在Unity3d中以编程方式在Camera View上显示图像

时间:2013-01-02 14:01:31

标签: unity3d textures

我在app中工作,使用Vuforia Library,我正在使用相机(设备相机)。我想在相机上渲染2d纹理(任何.png或.jpg)来定义它的坐标和大小。我试过,但我的应用程序总是崩溃。我不知道我做错了什么。请帮助我,这对我来说很棒。

string tempPath = "/Assets/Images/119642-samsung-galaxy-note-2-picture-large.jpg";

Texture2D tex = new Texture2D(400,350);
Resources.LoadAssetAtPath(tempPath, typeof(Texture2D));
renderer.material.mainTexture = tex as Texture2D;

上面是我正在做的事情。提前谢谢。

1 个答案:

答案 0 :(得分:0)

据我所知,没有必要使用Resources.LoadAssetAtPath。根据文件:

  

返回资产路径上的资源(仅限编辑器)。

     

此函数始终在独立播放器或Web中返回null   播放器。这对于快速访问资产以供在中使用非常有用   仅限编辑。

假设renderer是您想要显示的GameObject的正确渲染器,假设tempPath正确,此代码应该工作:

WWW www = new WWW("file://" + path);
yield www;
Texture2d texture = www.texture;
texture.Resize(400, 350);
renderer.material.mainTexture = texture;

您必须使用WWW来获取实际文件,然后将其分配给实际的Texture2d。然后你可以将它调整到你喜欢的任何宽度/高度,然后将其分配给mainTexture。

如果有效,请提高并接受!否则告诉我它的错误是什么!