0

我在应用程序中工作,使用 Vuforia 库,我在其中使用相机(设备相机)。我想在相机上渲染 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;

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

4

1 回答 1

0

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

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

此函数在独立播放器或网络播放器中始终返回 null。这对于快速访问仅在编辑器中使用的资产很有用。

假设renderer您要在其上显示的 GameObject 是正确的渲染器,则此代码应该可以工作,假设您tempPath是正确的:

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

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

如果这有效,请升级并接受!否则告诉我它有什么不正确的!

于 2013-01-03T00:50:42.117 回答