void DoWalking() { double v = 0.12; Vector3d vo = model.transform.Forward() * v; //OPENGL camera has inverse z _physics.SetActive(true); _physics._rigidBody.ApplyCentralImpulse(vo); }
public void SetTarget(Vector3d tpos, Quaterniond tRot) { TargetPosition = tpos; TargetRotation = tRot; Idle = false; if (po != null) { po.SetActive(true); } }
//private MSceneObject parent; public MTeleportOneShot(MSceneObject inparent, Vector3d inTargetPos, Quaterniond inTargetRot) : base(EType.Teleport, "TeleportAnim") { Parent = inparent; StartPosition = inparent.transform.Position; StartRotation = inparent.transform.Rotation; TargetPosition = inTargetPos; TargetRotation = inTargetRot; MPhysicsObject po = (MPhysicsObject)Parent.FindModuleByType(EType.PhysicsObject); if (po != null) { po.SetActive(false); } Start = 0; }
public void TeleportComplete() { MPhysicsObject po = (MPhysicsObject)Parent.FindModuleByType(EType.PhysicsObject); MSceneObject msp = (MSceneObject)Parent; msp.SetPosition(TargetPosition); msp.SetRotation(TargetRotation); if (po != null) { po.SetActive(true); po.StopAllMotion(); } if (TeleportCompleteHandler != null) { TeleportCompleteHandler(this, new MoveEvent(Parent.InstanceID, TargetPosition, TargetRotation)); } Parent.Remove(this); Dispose(); }
public void InputH(double h) { if (_physics == null) { return; } _physics.SetActive(true); Vector3d vo = MScene.Camera.transform.Right() * h; _physics._rigidBody.ApplyCentralImpulse(vo); }