本文整理汇总了Java中com.jme3.animation.SkeletonControl.getAttachmentsNode方法的典型用法代码示例。如果您正苦于以下问题:Java SkeletonControl.getAttachmentsNode方法的具体用法?Java SkeletonControl.getAttachmentsNode怎么用?Java SkeletonControl.getAttachmentsNode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.jme3.animation.SkeletonControl
的用法示例。
在下文中一共展示了SkeletonControl.getAttachmentsNode方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: simpleInitApp
import com.jme3.animation.SkeletonControl; //导入方法依赖的package包/类
@Override
public void simpleInitApp() {
flyCam.setMoveSpeed(10f);
cam.setLocation(new Vector3f(6.4013605f, 7.488437f, 12.843031f));
cam.setRotation(new Quaternion(-0.060740203f, 0.93925786f, -0.2398315f, -0.2378785f));
DirectionalLight dl = new DirectionalLight();
dl.setDirection(new Vector3f(-0.1f, -0.7f, -1).normalizeLocal());
dl.setColor(new ColorRGBA(1f, 1f, 1f, 1.0f));
rootNode.addLight(dl);
Spatial model = (Spatial) assetManager.loadModel("Models/Oto/Oto.mesh.xml");
model.center();
control = model.getControl(AnimControl.class);
control.addListener(this);
channel = control.createChannel();
for (String anim : control.getAnimationNames())
System.out.println(anim);
channel.setAnim("stand");
SkeletonControl skeletonControl = model.getControl(SkeletonControl.class);
Box b = new Box(.25f,3f,.25f);
Geometry item = new Geometry("Item", b);
item.move(0, 1.5f, 0);
item.setMaterial(assetManager.loadMaterial("Common/Materials/RedColor.j3m"));
Node n = skeletonControl.getAttachmentsNode("hand.right");
n.attachChild(item);
rootNode.attachChild(model);
inputManager.addListener(this, "Attack");
inputManager.addMapping("Attack", new KeyTrigger(KeyInput.KEY_SPACE));
}
示例2: onInitScene
import com.jme3.animation.SkeletonControl; //导入方法依赖的package包/类
@Override
public void onInitScene(Scene scene) {
super.onInitScene(scene);
// Trace设置需要放在effectInstance初始化之前
if (traceEntity >= 0) {
Entity target = scene.getEntity(traceEntity);
if (target != null) {
Spatial targetSpatial = target.getSpatial();
Spatial targetBoneSpatial = null;
if (traceBone != null) {
SkeletonControl sc = targetSpatial.getControl(SkeletonControl.class);
if (sc != null) {
Bone bone = sc.getSkeleton().getBone(traceBone);
if (bone != null) {
targetBoneSpatial = sc.getAttachmentsNode(traceBone);
}
}
}
Spatial traceSpatial = targetBoneSpatial != null ? targetBoneSpatial : targetSpatial;
effectInstance.setLocalTranslation(traceSpatial.getWorldTranslation());
effectInstance.setLocalRotation(traceSpatial.getWorldRotation());
if (effectInstance instanceof TraceEffect) {
((TraceEffect) effectInstance).setTraceObject(traceSpatial);
}
}
}
if (!effectInstance.isInitialized()) {
effectInstance.initialize();
}
// 在特效结束时,同时将EffectEntity移除出场景
effectInstance.addListener(effectListener);
}
示例3: takeArrow
import com.jme3.animation.SkeletonControl; //导入方法依赖的package包/类
private void takeArrow() {
SkeletonControl sc = actor.getSpatial().getControl(SkeletonControl.class);
if (sc != null && arrowNode != null) {
Bone abb = sc.getSkeleton().getBone(arrowBindBone);
if (abb != null) {
Node abbNode = sc.getAttachmentsNode(arrowBindBone);
abbNode.attachChild(arrowNode);
}
}
}