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


Java ClosestRayResultCallback.getHitPointWorld方法代码示例

本文整理汇总了Java中com.badlogic.gdx.physics.bullet.collision.ClosestRayResultCallback.getHitPointWorld方法的典型用法代码示例。如果您正苦于以下问题:Java ClosestRayResultCallback.getHitPointWorld方法的具体用法?Java ClosestRayResultCallback.getHitPointWorld怎么用?Java ClosestRayResultCallback.getHitPointWorld使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.badlogic.gdx.physics.bullet.collision.ClosestRayResultCallback的用法示例。


在下文中一共展示了ClosestRayResultCallback.getHitPointWorld方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: closestRayTest

import com.badlogic.gdx.physics.bullet.collision.ClosestRayResultCallback; //导入方法依赖的package包/类
public static Vector3 closestRayTest(btCollisionWorld world, ClosestRayResultCallback callback) {
    callback.getRayFromWorld(rayFrom);
    callback.getRayToWorld(rayTo);
    callback.setCollisionObject(null);
    callback.setClosestHitFraction(1f);
    world.rayTest(rayFrom, rayTo, callback);
    if (callback.hasHit()) {
        callback.getHitPointWorld(tmp);
        return tmp;
    }
    return null;
}
 
开发者ID:justinmarentette11,项目名称:Tower-Defense-Galaxy,代码行数:13,代码来源:Tools.java

示例2: touchDown

import com.badlogic.gdx.physics.bullet.collision.ClosestRayResultCallback; //导入方法依赖的package包/类
@Override
public boolean touchDown (int screenX, int screenY, int pointer, int button) {
	boolean result = false;
	if (button == Buttons.LEFT) {
		Ray ray = camera.getPickRay(screenX, screenY);
		tmpV1.set(ray.direction).scl(10f).add(ray.origin);
		ClosestRayResultCallback cb = new ClosestRayResultCallback(ray.origin, tmpV1);
		world.collisionWorld.rayTest(ray.origin, tmpV1, cb);
		if (cb.hasHit()) {
			btRigidBody body = (btRigidBody)(cb.getCollisionObject());
			if (body != null && !body.isStaticObject() && !body.isKinematicObject()) {
				pickedBody = body;
				body.setActivationState(Collision.DISABLE_DEACTIVATION);

				cb.getHitPointWorld(tmpV);
				tmpV.mul(body.getCenterOfMassTransform().inv());

				pickConstraint = new btPoint2PointConstraint(body, tmpV);
				btConstraintSetting setting = pickConstraint.getSetting();
				setting.setImpulseClamp(30f);
				setting.setTau(0.001f);
				pickConstraint.setSetting(setting);

				((btDynamicsWorld)world.collisionWorld).addConstraint(pickConstraint);

				pickDistance = tmpV1.sub(camera.position).len();
				result = true;
			}
		}
		cb.dispose();
	}
	return result ? result : super.touchDown(screenX, screenY, pointer, button);
}
 
开发者ID:Matsemann,项目名称:eamaster,代码行数:34,代码来源:RayPickRagdollTest.java


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