我有两个物体基地和武器,我需要设置武器的旋转点到基地的位置.
public Test(){
position1 = new Vector3(0,0,0);
baseModel = modelLoader.loadModel(Gdx.files.getFileHandle("data/models/tower/bases/base1.g3db", FileType.Internal));
base = new Base(baseModel, position1);
position2 = new Vector3(3,10,5);
weaponModel = modelLoader.loadModel(Gdx.files.getFileHandle("data/models/tower/weapons/weapon2.g3db", FileType.Internal));
weapon = new Weapon(weaponModel, position2);
}
Run Code Online (Sandbox Code Playgroud)
这是更新方法
public void update(float delta){
weapon.transform.rotate(0, 1, 0, 45*(delta/2));
base.transform.rotate(0, 1, 0, 45*(delta/2));
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的答案
围绕点的旋转与平移到该点,旋转然后平移.
所以这个过程包括3个步骤:
rotationPoint,例如translate(3, 0, 0)rotationPoint)旋转rotate(0,1,0, 45*delta) translate(-3, 0, 0);在这种情况下,代码看起来像这样:
weapon.transform.translate(3, 0, 0).rotate(0,1,0, 45*delta).translate(-3, 0, 0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1705 次 |
| 最近记录: |