在运行时更改增强对象(AR 核心)的颜色



我正在使用AR Core SDK中的图像目标检测示例。我想在运行时通过脚本更改对象的颜色。材质将附着到该对象。

// Create an anchor to ensure that ARCore keeps tracking this augmented image.
Anchor anchor = image.CreateAnchor(image.CenterPose);
visualizer = (AugmentedImageVisualizer)Instantiate(
AugmentedImageVisualizerPrefab, anchor.transform);
visualizer.Image = image;
m_Visualizers.Add(image.DatabaseIndex, visualizer);
Renderer rend = visualizer.GetComponent<Renderer>();
rend.sharedMaterial.shader = Shader.Find("BaseColor");
Color red = new Color(255,0,0);
rend.sharedMaterial.SetColor("_Color", red);

这是我当前的代码,在从不同的答案中获取提示后,我试图实现它,但似乎没有任何效果。

我可以通过创建一个具有相应颜色的材质并为AR对象提供这种类型的组件来做到这一点(显然您需要在检查器中分配对renderercolorMaterial的引用(:

using UnityEngine;
public class ARObjectController : MonoBehaviour
{
public Renderer renderer;
public Material colorMaterial;
public SetMaterial()
{
renderer.material = colorMaterial;
}
}

最新更新