Why the mesh has been marked as non-accessible when adding MeshCollider from assetBundle and how to solve it?
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
asked Dec 12 '19 at 9:01
6311 silver badge88 bronze badges
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
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