本文整理匯總了Java中com.jme3.scene.Spatial.setLocalTranslation方法的典型用法代碼示例。如果您正苦於以下問題:Java Spatial.setLocalTranslation方法的具體用法?Java Spatial.setLocalTranslation怎麽用?Java Spatial.setLocalTranslation使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.jme3.scene.Spatial
的用法示例。
在下文中一共展示了Spatial.setLocalTranslation方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: translateObjects
import com.jme3.scene.Spatial; //導入方法依賴的package包/類
/**
* Process of moving objects.
*
* @param pickedAxis the moving axis.
* @param toTransform the moving object.
* @param transform the transform's center.
* @param distance the moving distance.
*/
private void translateObjects(@NotNull final PickedAxis pickedAxis, @NotNull final Spatial toTransform,
@NotNull final Transform transform, final float distance) {
final Node parentNode = getParentNode();
final Node childNode = getChildNode();
final EditorTransformSupport editorControl = getEditorControl();
final Quaternion rotation = parentNode.getLocalRotation();
final LocalObjects local = LocalObjects.get();
final Vector3f currentLocation = local.nextVector(parentNode.getLocalTranslation());
if (Config.DEV_TRANSFORMS_DEBUG) {
System.out.println("distance " + distance);
}
if (pickedAxis == PickedAxis.X) {
currentLocation.addLocal(getLeft(rotation, local.nextVector()).multLocal(distance));
} else if (pickedAxis == PickedAxis.Y) {
currentLocation.addLocal(getUp(rotation, local.nextVector()).multLocal(distance));
} else if (pickedAxis == PickedAxis.Z) {
currentLocation.addLocal(getDirection(rotation, local.nextVector()).multLocal(distance));
}
parentNode.setLocalTranslation(currentLocation);
toTransform.setLocalTranslation(childNode.getWorldTranslation());
editorControl.notifyTransformed(toTransform);
}
示例2: updateObject
import com.jme3.scene.Spatial; //導入方法依賴的package包/類
@Override
protected void updateObject(Spatial object, Entity e) {
//only position will be updated during test
PhysicsPosition pos = e.get(PhysicsPosition.class);
object.setLocalTranslation(pos.getLocation());
object.setLocalRotation(pos.getRotation());
}
示例3: applyPhysicsTransform
import com.jme3.scene.Spatial; //導入方法依賴的package包/類
protected void applyPhysicsTransform(@NotNull final Vector3f worldLocation, @NotNull final Quaternion worldRotation,
@Nullable final Spatial spatial) {
if (spatial == null) return;
final Vector3f localLocation = spatial.getLocalTranslation();
final Quaternion localRotation = spatial.getLocalRotation();
final Node parent = spatial.getParent();
if (parent == null) {
spatial.setLocalTranslation(worldLocation);
spatial.setLocalRotation(worldRotation);
} else {
localLocation.set(worldLocation)
.subtractLocal(parent.getWorldTranslation());
localLocation.divideLocal(parent.getWorldScale());
inverseWorldRotation.set(parent.getWorldRotation())
.inverseLocal()
.multLocal(localLocation);
localRotation.set(worldRotation);
inverseWorldRotation.set(parent.getWorldRotation())
.inverseLocal()
.mult(localRotation, localRotation);
spatial.setLocalTranslation(localLocation);
spatial.setLocalRotation(localRotation);
}
}
示例4: updateObject
import com.jme3.scene.Spatial; //導入方法依賴的package包/類
@Override
protected void updateObject(Spatial object, Entity e) {
Vector3f loc = e.get(PhysicsPosition.class).getLocation();
object.setLocalTranslation(loc);
}
示例5: applyViewLocation
import com.jme3.scene.Spatial; //導入方法依賴的package包/類
private static void applyViewLocation(Entity entity, Spatial spatial){
spatial.setLocalTranslation(entity.get(ViewLocation.class).getLocation());
}