|
@@ -45,9 +45,17 @@ import com.jme3.scene.plugins.blender.file.Structure;
|
|
|
public boolean validate() {
|
|
|
if (targetOMA != null) {
|
|
|
Spatial nodeTarget = (Spatial) blenderContext.getLoadedFeature(targetOMA, LoadedFeatureDataType.LOADED_FEATURE);
|
|
|
+ if(nodeTarget == null) {
|
|
|
+ LOGGER.log(Level.WARNING, "Cannot find target for constraint: {0}.", name);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
// the second part of the if expression verifies if the found node
|
|
|
// (if any) is an armature node
|
|
|
- if (nodeTarget == null || nodeTarget.getUserData(ArmatureHelper.ARMETURE_NODE_MARKER) != null) {
|
|
|
+ if (nodeTarget.getUserData(ArmatureHelper.ARMATURE_NODE_MARKER) != null) {
|
|
|
+ if(subtargetName.trim().isEmpty()) {
|
|
|
+ LOGGER.log(Level.WARNING, "No bone target specified for constraint: {0}.", name);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
// if the target is not an object node then it is an Armature,
|
|
|
// so make sure the bone is in the current skeleton
|
|
|
BoneContext boneContext = blenderContext.getBoneContext(ownerOMA);
|