【问题标题】:Unity3D - Mesh Collider in imported blender mesh doesn't workUnity3D - 导入的搅拌机网格中的网格碰撞器不起作用
【发布时间】:2018-10-26 17:38:36
【问题描述】:

我正在尝试应用一个在光标位于对象顶部时更改材质颜色的脚本。这是脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ChangeColor : MonoBehaviour {

    public Color startColor;
    public Color mouseOverColor;
    bool mouseOver = false;

    void OnMouseEnter(){
        Debug.Log("START");
        mouseOver = true;
        GetComponent<Renderer>().material.SetColor("_Color",mouseOverColor);
        Debug.Log("TESTE");
    }

    void OnMouseExit(){
        mouseOver = false;
        GetComponent<Renderer>().material.SetColor("_Color", startColor);
    }

}

对象是一个简单的三角形:

该脚本仅在对象具有 Sphere Collider 时才有效(我正在寻找的是使用 Mesh Collider)。

有人可以帮我了解如何将它与 Mesh Collider 一起使用吗?

谢谢

【问题讨论】:

  • 将 MeshCollider 附加到一个对象并不意味着这个对象现在有一个碰撞器。目前还没有 MeshCollider,因为 Unity 无法生成。仔细看,你会看到这个错误。单击“控制台”选项卡以了解更多信息
  • 您的控制台中是否有任何与脚本相关的错误?我可以从这里看到一些。请告诉我们
  • @Narevar Failed to create Convex Mesh from source mesh "Icosphere_204". Source mesh is likely have too many smooth surface regions. Please reduce the surface smoothness of the source mesh. Alternatively turn on Inflate Mesh and increase the Skin Width sufficiently for this mesh.。我尝试了Inflate Mesh 选项,但它仍然不起作用
  • 这是你唯一的错误?

标签: c# unity3d blender


【解决方案1】:

根据 Unity 的文档,OnMouseEnter() 函数仅在您的 Collider 被标记为触发器时才有效。

尝试激活该属性并检查文档。

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseEnter.html

【讨论】:

  • 您可以从屏幕截图中看到该属性已激活
  • 我的坏主意我脑子里想凸出@vasco_t 尝试检查属性
猜你喜欢
  • 2021-06-19
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
  • 2017-07-08
  • 2021-12-15
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多