unity3d - 为什么从assetBundle添加MeshCollider时mesh已经被标记为不可访问,如何解决?

标签 unity3d assetbundle accessible scriptable

我有一个可编写脚本的 Assets ,其中包含 GameObject 变量上的 fxbModel,我正在这样做:

model = Instantiate(caAsset.model, origin);
fbxComponents.All(fbxComponent => fbxComponent.gameObject.AddComponent<MeshCollider>());

资源是否从资源加载,一切正常*

但是如果是AssetBundle中的 Assets **会出现以下错误。

CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. 
Mesh asset path "" Mesh name "Flanschdeckel_low"
UnityEngine.GameObject:AddComponent()

(*)
MyScriptableAsset caAsset = Resources.Load(scriptableObjectName);

(**)
MyScriptableAsset caAsset = bundle.LoadAsset<MyScriptableAsset>(scriptableObjectName);

最佳答案

在网格子文本下的模型选项卡上的 fbx 文件上有一个读/写启用属性,如果您勾选该框,它可能会起作用。检查图像的右角以便更好地理解。 enter image description here

关于unity3d - 为什么从assetBundle添加MeshCollider时mesh已经被标记为不可访问,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59300945/

相关文章:

c# - 如何编码音频文件并统一保存?

javascript - 公告结束后切换 aria-live?

c# - 调整旋转方面的正确方法

c# - 如何通过 C# 代码在 Android 上的 Unity3D 中创建图像缩略图?

c# - 如何使光线转换与物理管理器中的图层发生碰撞

c# - 使用 iText 7 和 C# 在可访问的 pdf 中将标题添加为 H1

html - 我需要在实际的复选框上进行 aria-checked 吗

c# - 脚本之间未保存 Unity 实例

android - UnityWebRequest.SendWebRequest 不在移动设备上发送

yii2 Assets 包 - 单个文件位置