private void OnCollisionEnter(Collision collision) { if (controllerActions && controllerEvents && IsGrabbed()) { collisionForce = controllerEvents.GetVelocity().magnitude *impactMagnifier; controllerActions.TriggerHapticPulse((ushort)collisionForce, 0.5f, 0.01f); } else { collisionForce = collision.relativeVelocity.magnitude * impactMagnifier; } }
void OnTriggerEnter(Collider collided) { Debug.Log(collided.name); if (collided.tag == "Mallet" && notes.Count > 0) { float amountOff = Vector3.Distance(notes[0].transform.position, transform.position); float percentAccurate = (0.6f - amountOff) / 0.6f; if (percentAccurate > 0) { Instantiate(particles, transform.position, particles.transform.rotation); Debug.Log(percentAccurate); if (percentAccurate > 0 && percentAccurate <= 0.3) { Instantiate(poor, transform.position, Quaternion.identity); } else if (percentAccurate > 0.3 && percentAccurate <= 0.6) { Instantiate(good, transform.position, Quaternion.identity); } else if (percentAccurate > 0.6 && percentAccurate <= 0.9) { Instantiate(excellent, transform.position, Quaternion.identity); } else if (percentAccurate > 0.9) { Instantiate(fantastic, transform.position, Quaternion.identity); } else { Instantiate(miss, transform.position, Quaternion.identity); } int multiplier = 1; if (notes[0].GetComponent <Note>().type == 2) { multiplier = Mathf.RoundToInt(Mathf.Max(leftController.GetVelocity().magnitude, rightController.GetVelocity().magnitude)); GameObject multiplierText = Instantiate(multiplierBase, transform.position, Quaternion.identity); multiplierText.GetComponent <TextMesh>().text = multiplier + "x"; Debug.Log(multiplier); } player.Score(Mathf.FloorToInt(Mathf.Max(0, 50f - amountOff)) * multiplier); Destroy(notes[0]); notes.RemoveAt(0); } } }
private void ThrowBomb() { //更新炸弹数量 AmmoUI.Instance.UpdateBombNumber(); GrabedObject.transform.parent = null; GrabedObject.AddComponent <Rigidbody>(); Hand_animator.SetBool("Catch", false); this_grabedObjectType = GrabedObjectType.None; Vector3 velocity = controllerEvents.GetVelocity(); Vector3 angularVelocity = controllerEvents.GetAngularVelocity(); GrabedObject.GetComponent <Rigidbody>().velocity = transform.parent.parent.TransformDirection(velocity) * m_ThrowMulitiple; GrabedObject.GetComponent <Rigidbody>().angularVelocity = transform.parent.parent.TransformDirection(angularVelocity); GrabedObject.GetComponent <Bomb>().IsThrow = true; GrabedObject = null; m_IsUseBomb = false; //UsePistol(); }