Why the mesh has been marked as non-accessible when adding MeshCollider from assetBundle and how to solve it?

https://stackoverflow.com/questions/59300945/why-the-mesh-has-been-marked-as-non-accessible-when-adding-meshcollider-from-ass

Asked 11 months ago

Active 11 months ago

Viewed 1k times

 

1

I have a scriptable asset containing a fxbModel on a GameObject variable and with it i'am doing this:

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

Is the asset loaded from Ressources, everything works well.*

But is the asset from a AssetBundle** the following error occurs.

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);

unity3d assetbundle accessible scriptable

share improve this questionfollow

edited Dec 12 '19 at 9:58

asked Dec 12 '19 at 9:01

row

6311 silver badge88 bronze badges

add a comment

1 Answer

 

1

There's a read/write enabled property on fbx files on the model tab under mesh sub text if you tick that box it'll probably work. Check right corner on image for better understanding.enter image description here

share improve this answerfollow

answered Dec 12 '19 at 11:21

rob1997

13655 bronze badges

  • Yes, that makes the trick. Thank you. I found out, that unity further has this checkbox checked on fbx import. I have not found a way to edit this setting, but with docs.unity3d.com/ScriptReference/Mesh-isReadable.html it is possible to control the process of creating asset bundles by informing the user who is creating the asset. – row Dec 12 '19 at 12:04

 

 

 

 

 

Logo

一站式 AI 云服务平台

更多推荐