我们使用jme3,但是BetterCharacterControl存在一个问题,就是没有实现setMaxSlope方法。引擎的开发者说我们可以使用新的控制器自己解决此问题:http://hub.jmonkeyengine.org/forum/topic/setmaxslope-for-bettercharactercontrol/。因为我的游戏需要此功能,所以我真的需要一个解决方案。之前我们曾询问过此问题,但并没有解决:How to improve character control for my 3D game?。您能帮助我们解决吗?我录制了一个视频来展示问题:http://www.youtube.com/watch?v=PF_UzoOXD0E。这里有一些文档:http://hub.jmonkeyengine.org/wiki/doku.php/jme3:advanced:walking_character?s[]=bettercharactercontrol#bettercharactercontrol。这是我添加此功能的努力:
package adventure;
import com.jme3.math.Vector3f;
import com.jme3.bullet.control.BetterCharacterControl;
public class GameCharControl extends BetterCharacterControl {
protected Vector3f lastlocation = new Vector3f();
public GameCharControl(float x, float y, float z) {
super(x, y, z);
}
@Override
public void update(float tpf) {
super.update(tpf);
System.out.println("location " + location);
System.out.println("lastlocation " + lastlocation);
if (location.equals(lastlocation)) {
System.out.println("update2");
this.setHeightPercent(101);
}
rigidBody.getPhysicsLocation(location);
applyPhysicsTransform(location, rotation);
lastlocation = location;
}
}
但是以上的更改并没有产生任何效果,如果我将高度设置为101,则游戏角色的移动会变得更加困难。您能帮助我们看看应该怎么做吗?