freezy / VisualPinball.Engine

:video_game: Visual Pinball Engine for Unity
https://docs.visualpinball.org
GNU General Public License v3.0
398 stars 62 forks source link

Not allowed to access vertices or normals on mesh (isReadable is false; Read/Write must be enabled in import settings. VPX10 blank table import. #415

Closed shntat closed 2 years ago

shntat commented 2 years ago

primitives from an imported basic table sling1, sling2, primitive 13 and 52 have the following errors when trying to play table in editor. also plunger and ball create works after the above 4 gameobjects are removed. You have to duplicate or create a new primitive and add the primitive mesh back. then it work but not after initial import.

Not allowed to access vertices on mesh 'Sling1' (isReadable is false; Read/Write must be enabled in import settings)
UnityEngine.Mesh:get_vertices ()
VisualPinball.Unity.MeshExtensions:ToVpMesh (UnityEngine.Mesh) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Extensions/MeshExtensions.cs:34)
VisualPinball.Unity.MainRenderableComponent1<VisualPinball.Engine.VPT.Primitive.PrimitiveData>:GetDefaultMesh () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/MainRenderableComponent.cs:72) VisualPinball.Unity.PrimitiveComponent:GetMesh () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveComponent.cs:243) VisualPinball.Unity.PrimitiveColliderGenerator:GenerateColliders (single,System.Collections.Generic.List1<VisualPinball.Unity.ICollider>) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveColliderGenerator.cs:47)
VisualPinball.Unity.PrimitiveApi:CreateColliders (System.Collections.Generic.List1<VisualPinball.Unity.ICollider>,single) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveApi.cs:50) VisualPinball.Unity.CollidableApi3<VisualPinball.Unity.PrimitiveComponent, VisualPinball.Unity.PrimitiveColliderComponent, VisualPinball.Engine.VPT.Primitive.PrimitiveData>:VisualPinball.Unity.IApiColliderGenerator.CreateColliders (System.Collections.Generic.List1<VisualPinball.Unity.ICollider>,single) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/CollidableApi.cs:59) VisualPinball.Unity.QuadTreeCreator:Create (Unity.Entities.EntityManager,Unity.Collections.NativeHashMap2<Unity.Entities.Entity, bool>&) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Physics/Collision/QuadTreeCreator.cs:57)
VisualPinball.Unity.SimulateCycleSystemGroup:OnStartRunning () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Physics/SystemGroup/SimulateCycleSystemGroup.cs:71)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:103)
VisualPinball.Unity.VisualPinballSimulationSystemGroup:OnUpdate () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Game/VisualPinballSimulationSystemGroup.cs:112)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:114)
Unity.Entities.ComponentSystemGroup:UpdateAllSystems () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystemGroup.cs:472)
Unity.Entities.ComponentSystemGroup:OnUpdate () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystemGroup.cs:417)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:114)
Unity.Entities.ScriptBehaviourUpdateOrder/DummyDelegateWrapper:TriggerUpdate () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ScriptBehaviourUpdateOrder.cs:333)

Not allowed to access normals on mesh 'Sling1' (isReadable is false; Read/Write must be enabled in import settings)
UnityEngine.Mesh:get_normals ()
VisualPinball.Unity.MeshExtensions:ToVpMesh (UnityEngine.Mesh) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Extensions/MeshExtensions.cs:35)
VisualPinball.Unity.MainRenderableComponent1<VisualPinball.Engine.VPT.Primitive.PrimitiveData>:GetDefaultMesh () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/MainRenderableComponent.cs:72) VisualPinball.Unity.PrimitiveComponent:GetMesh () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveComponent.cs:243) VisualPinball.Unity.PrimitiveColliderGenerator:GenerateColliders (single,System.Collections.Generic.List1<VisualPinball.Unity.ICollider>) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveColliderGenerator.cs:47)
VisualPinball.Unity.PrimitiveApi:CreateColliders (System.Collections.Generic.List1<VisualPinball.Unity.ICollider>,single) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveApi.cs:50) VisualPinball.Unity.CollidableApi3<VisualPinball.Unity.PrimitiveComponent, VisualPinball.Unity.PrimitiveColliderComponent, VisualPinball.Engine.VPT.Primitive.PrimitiveData>:VisualPinball.Unity.IApiColliderGenerator.CreateColliders (System.Collections.Generic.List1<VisualPinball.Unity.ICollider>,single) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/CollidableApi.cs:59) VisualPinball.Unity.QuadTreeCreator:Create (Unity.Entities.EntityManager,Unity.Collections.NativeHashMap2<Unity.Entities.Entity, bool>&) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Physics/Collision/QuadTreeCreator.cs:57)
VisualPinball.Unity.SimulateCycleSystemGroup:OnStartRunning () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Physics/SystemGroup/SimulateCycleSystemGroup.cs:71)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:103)
VisualPinball.Unity.VisualPinballSimulationSystemGroup:OnUpdate () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Game/VisualPinballSimulationSystemGroup.cs:112)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:114)
Unity.Entities.ComponentSystemGroup:UpdateAllSystems () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystemGroup.cs:472)
Unity.Entities.ComponentSystemGroup:OnUpdate () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystemGroup.cs:417)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:114)
Unity.Entities.ScriptBehaviourUpdateOrder/DummyDelegateWrapper:TriggerUpdate () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ScriptBehaviourUpdateOrder.cs:333)
freezy commented 2 years ago

Yes, it's a known problem. Workaround is to select the fbx files under Models and enable write manually.

Vroonsh commented 2 years ago

There's a little workaround until ModelImporter Read/Write default settings is fixed

After Importing your table select your table directory in the Project window and look for all Models using "t:Model" in the searchbar.

image

Select all of them, you'll have a merged Model Import Settings inspector window where you can check Read/Write.

image

Then press Apply and all Models will be now readadble when running the table.