我在https://www.youtube.com/watch?v=1cwm6sCcV_o&list=PLKIKuXdn4ZMhwJmPnYI0e7Ixv94ZFPvEP
使用本教程构建了一个AR门户网站AR Portal工作正常。 但现在,我想添加一个新的gameObject(比如说Quad),它将作为横幅屏幕。我希望这个横幅在门户网站内。 我想将WWW.LoadImagesintoTexture脚本(https://docs.unity3d.com/ScriptReference/WWW.LoadImageIntoTexture.html)添加到此横幅并将在线图像渲染到其上。
现在,我可以将在线图像放到横幅上,但是一旦我进入门户网站,横幅就会消失。那是什么原因?我该如何找到解决方案呢?
请注意:我们使用了Unity上资产商店的Park Assets。
检查我正在使用的OnlineIMage脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
public class onlineimage : MonoBehaviour
{
public Material[] materials;
public string url = “https://docs.unity3d.com/uploads/Main/ShadowIntro.png“;
IEnumerator Start()
{
foreach (var mat in materials)
{
mat.SetInt (“_StencilTest”, (int)CompareFunction.NotEqual);
}
Texture2D tex;
tex = new Texture2D(4, 4, TextureFormat.DXT1, false);
using (WWW www = new WWW(url))
{
yield return www;
www.LoadImageIntoTexture(tex);
GetComponent<Renderer>().material.mainTexture = tex;
}
}
}
答案 0 :(得分:1)
首先猜测是使用的材质/着色器。 本教程要求每个材质都有一个带有“_StencilTest”属性的特殊着色器,该属性将根据设备是否在“其他世界”内部进行切换。 这将仅允许在通过测试时绘制对象的像素。 还要确保门户网站脚本知道在转换时应该更改的材料。