What is the meaning of this exception and how can I solve it?


#1
Dec 24, 2018 6:49:29 PM com.jme3.app.LegacyApplication handleError
SEVERE: Uncaught exception thrown in Thread[jME3 Main,5,main]
java.lang.UnsupportedOperationException: The geometry base_0 (Geometry) buffer HWBoneIndex has different number of components than the rest of the meshes (this: 0, expected: 4)
	at jme3tools.optimize.GeometryBatchFactory.mergeGeometries(GeometryBatchFactory.java:141)
	at logic.translation.navmesh.NavMeshState.createNavMesh(NavMeshState.java:141)
	at logic.translation.navmesh.NavMeshState.<init>(NavMeshState.java:50)

#2

Something is wrong with your Bone Mesh:

  1. You don’t want your Skinned Geometry to be part of the Nav Mesh
  2. For batching you need geometries which are comparable (have the same number of bones)
  3. Usually you have meshes consisting of no bones, but your rigged mesh uses 4, which to me seems uncommon, but could be a fancy mesh thing. Either way doesn’t matter because of 1.

#3

your reply looks quite too similar to @Darkchaos reply on another thread… :laughing:


#4

Heheh… all related to the same problem:
createNavMesh(myWholeSceneIncludingEverythingEvenTheTotallyIrrelevantStuff)

…instead of:
createNavMesh(theNagivableShapes)


#5

Well he asked basically the same thing so I thought I’d be a good programmer and reuse old solutions :wink:


#6

D.R.Y. in action.