当前位置: 首页>>代码示例>>Java>>正文


Java SkeletonControl.getAttachmentsNode方法代码示例

本文整理汇总了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));
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:38,代码来源:TestOgreAnim.java

示例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);

}
 
开发者ID:huliqing,项目名称:LuoYing,代码行数:36,代码来源:EffectEntity.java

示例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);
        }
    }
}
 
开发者ID:huliqing,项目名称:LuoYing,代码行数:11,代码来源:ShotBowSkill.java


注:本文中的com.jme3.animation.SkeletonControl.getAttachmentsNode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。