public void setTarget(Object3D target) { mTarget = target; setLookAt(mTarget.getPosition()); }
(mPickedObject != null && o.getPosition().z < mPickedObject.getPosition().z)) mPickedObject = o; (mPickedObject != null && o.getPosition().z < mPickedObject.getPosition().z)) mPickedObject = o;
@Override public Matrix4 getViewMatrix() { Matrix4 m = super.getViewMatrix(); if (mTarget != null) { mScratchMatrix.identity(); mScratchMatrix.translate(mTarget.getPosition()); m.multiply(mScratchMatrix); } mScratchMatrix.identity(); mScratchMatrix.rotate(mEmpty.getOrientation()); m.multiply(mScratchMatrix); if (mTarget != null) { mScratchVector.setAll(mTarget.getPosition()); mScratchVector.inverse(); mScratchMatrix.identity(); mScratchMatrix.translate(mScratchVector); m.multiply(mScratchMatrix); } return m; }
public boolean isLookingAtObject(Object3D target, float maxAngle) { mHeadViewQuaternion.fromMatrix(mHeadViewMatrix); mHeadViewQuaternion.inverse(); mForwardVec.setAll(0, 0, 1); mForwardVec.rotateBy(mHeadViewQuaternion); mHeadTranslation.setAll(mHeadViewMatrix.getTranslation()); mHeadTranslation.subtract(target.getPosition()); mHeadTranslation.normalize(); return mHeadTranslation.angle(mForwardVec) < maxAngle; } }
public void setTarget(Object3D target) { mTarget = target; setLookAt(mTarget.getPosition()); }
(mPickedObject != null && o.getPosition().z < mPickedObject.getPosition().z)) mPickedObject = o; (mPickedObject != null && o.getPosition().z < mPickedObject.getPosition().z)) mPickedObject = o;
@Override public Matrix4 getViewMatrix() { Matrix4 m = super.getViewMatrix(); if(mTarget != null) { mScratchMatrix.identity(); mScratchMatrix.translate(mTarget.getPosition()); m.multiply(mScratchMatrix); } mScratchMatrix.identity(); mScratchMatrix.rotate(mEmpty.getOrientation()); m.multiply(mScratchMatrix); if(mTarget != null) { mScratchVector.setAll(mTarget.getPosition()); mScratchVector.inverse(); mScratchMatrix.identity(); mScratchMatrix.translate(mScratchVector); m.multiply(mScratchMatrix); } return m; }