lviguier 7 ヶ月 前
コミット
56c94564a3
2 ファイル変更3 行追加2 行削除
  1. 2 1
      h3d/prim/ModelDatabase.hx
  2. 1 1
      h3d/scene/Skin.hx

+ 2 - 1
h3d/prim/ModelDatabase.hx

@@ -158,6 +158,7 @@ class ModelDatabase {
 			newJ.resistance = jConf.resistance;
 			newJ.resistance = jConf.resistance;
 			newJ.slackness = jConf.slackness;
 			newJ.slackness = jConf.slackness;
 			newJ.stiffness = jConf.stiffness;
 			newJ.stiffness = jConf.stiffness;
+			newJ.globalForce = jConf.globalForce;
 			skinData.allJoints[j.index] = newJ;
 			skinData.allJoints[j.index] = newJ;
 
 
 			j.parent?.subs.remove(j);
 			j.parent?.subs.remove(j);
@@ -207,7 +208,7 @@ class ModelDatabase {
 			if (dynJ == null)
 			if (dynJ == null)
 				continue;
 				continue;
 
 
-			dynamicJoints.push({ name: dynJ.name, slackness: dynJ.slackness, stiffness: dynJ.stiffness, resistance: dynJ.resistance, damping: dynJ.damping });
+			dynamicJoints.push({ name: dynJ.name, slackness: dynJ.slackness, stiffness: dynJ.stiffness, resistance: dynJ.resistance, damping: dynJ.damping, globalForce: dynJ.globalForce });
 		}
 		}
 
 
 		if (dynamicJoints.length == 0) {
 		if (dynamicJoints.length == 0) {

+ 1 - 1
h3d/scene/Skin.hx

@@ -306,7 +306,7 @@ class Skin extends MultiMaterial {
 			var expectedPos = absPos.getPosition().clone();
 			var expectedPos = absPos.getPosition().clone();
 
 
 			// Resistance (force resistance)
 			// Resistance (force resistance)
-			var globalForce = new h3d.Vector(0, 0, 0);
+			var globalForce = dynJoint.globalForce;
 			dynJoint.speed += globalForce * (1.0 - dynJoint.resistance);
 			dynJoint.speed += globalForce * (1.0 - dynJoint.resistance);
 
 
 			// Damping (inertia attenuation)
 			// Damping (inertia attenuation)