gpt4 book ai didi

unity3d - HoloLens - 统一 : How to change color of cursor?

转载 作者:行者123 更新时间:2023-12-03 23:51:52 26 4
gpt4 key购买 nike

我尝试在光标运行时通过脚本更改颜色,结果达到 75%:
enter image description hereMesh_top是唯一不改变颜色的部分,我不知道为什么。
所有 4 个零件都使用相同的材​​料,命名为“cursormaterial”。
我试过的:

  • 通过引用 cursormaterial 更改颜色
  • 通过获取组件更改颜色 SkinnedMeshRenderer
  • 正在尝试使用 ProptertyBlock

  • 在所有三种情况下,我都得到了相同的结果。唯一有效的是在点击播放之前我可以改变颜色,这将改变整个光标的颜色。在运行时更改它仅适用于 4 个部分中的 3 个......'

    - 编辑 -
        public SkinnedMeshRenderer cursorRendererOne, cursorRendererTwo, cursorRendererThree, cursorRendererFour;
    private MaterialPropertyBlock _propBlock;
    public Material material;

    void Start()
    {
    _propBlock = new MaterialPropertyBlock();
    }

    public void OnInputDown(InputEventData eventData)
    {
    if (!isActivated)
    {
    //#1
    material.color = Color.blue;
    //#2
    cursorRendererOne.sharedMaterial.color = Color.blue;
    //#3
    cursorRendererOne.GetPropertyBlock(_propBlock);
    _propBlock.SetColor("_Color", Color.blue);
    cursorRendererOne.SetPropertyBlock(_propBlock);
    cursorRendererTwo.SetPropertyBlock(_propBlock);
    cursorRendererThree.SetPropertyBlock(_propBlock);
    cursorRendererFour.SetPropertyBlock(_propBlock);
    isActivated = true;
    }

    在这里你看到改变的 Material ,但 mesh_top看起来但不同:
    enter image description here
    enter image description here

    最佳答案

    这是一个“错误”(可能是有意为之?)。

    打开 Animation窗口 (CTRL + 6)

    并在层次结构中选择 CursorVisual
    如果您现在转到名为 CursorWaitingAnim 的动画您可以看到 top_mesh 颜色有一个关键帧。

    enter image description here

    此单个关键帧导致无法在运行时更改该图块的颜色。原因是动画师跑了after OnInputDown因此它会还原任何关键帧属性的更改。

    因此,如果您不需要等待动画,只需删除该关键帧。

    enter image description here

    => 您可以再次在运行时操作颜色!

    或者,您可以将其替换为一个,而不是固定颜色只是禁用 SkinnedMeshRenderer相反,它基本上具有或多或少相同的效果,但不会破坏颜色:

    enter image description here

    关于unity3d - HoloLens - 统一 : How to change color of cursor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56477150/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com