//Si dejamos de tocar el arco en la espalada vibra poco para notar que ya no lo tenemos cerca private void OnTriggerExit(Collider other) { if (!arcoAgarrado && other.transform.gameObject.name == "CogerObjetos") { VibracionManager.vibracion(20, 1, 200, other.transform.gameObject.GetComponent <CogerObjetos>().BotonAgarre); } }
//Control de el movimiento de la cuerda void moverCentroCuerda() { distanciaManos = (manos[1].transform.position - manos[0].transform.position).magnitude; if (distanciaManos > limiteDistanciaManosCuerda) { distanciaManos = limiteDistanciaManosCuerda; } centroCuerda.localPosition = pos_puntoCentralInicio.localPosition - new Vector3(0, distanciaManos * 325, 0); //Vibracion //Debug.Log("<color=purple>" + distanciaManos + "</color>"); int porciento = (int)((distanciaManos * 100) / 0.65f); int vibracion = (int)((porciento * 255) / 100); VibracionManager.vibracion(1, 1, vibracion / 2, controlador); VibracionManager.vibracion(1, 1, vibracion, controladorContrario); }
void Disparar(OVRInput.Controller controlador) { VibracionManager.vibracion(30, 2, 255, controlador); //Colisiona con solo el ultimo numero int layerMask = 1 << 14; //Invierte y da a todos menos al ultimo numero layerMask = ~layerMask; //EMPUJE OBJETO COLISIONADO CON BALA if (Physics.Raycast(salidaBala.position, transform.TransformDirection(Vector3.right), out RaycastHit hit, 500, layerMask)) { if (hit.transform.gameObject.GetComponent <Rigidbody>()) { Rigidbody rb = hit.transform.gameObject.GetComponent <Rigidbody>(); rb.AddForce(salidaBala.forward * 500); if (hit.transform.gameObject.GetComponent <Rompible>()) { hit.transform.gameObject.GetComponent <Rompible>().cambiar(); } else { //PARTICULAS COLISION DECORADO Instantiate(chispasImpacto, hit.point, Quaternion.identity); } if (hit.transform.gameObject.GetComponent <diana>()) { hit.transform.gameObject.GetComponent <diana>().golpeo(); } else if (hit.transform.gameObject.GetComponent <pirata>()) { hit.transform.gameObject.GetComponent <pirata>().golpe(); } } } //CASQUETES GameObject casqueteNuevo = Instantiate(casquete, salidaCasquete.position, Quaternion.identity, salidaCasquete); Rigidbody rbCn = casqueteNuevo.GetComponent <Rigidbody>(); rbCn.AddForce(salidaCasquete.forward * Random.Range(125f, 225f)); rbCn.maxAngularVelocity = 1000; casqueteNuevo.transform.SetParent(null); Destroy(casqueteNuevo, 4); //TExtoBalas setBalasTexto(true); //Animacion animator.Play("disparo", -1, 0f); //Efectos fuegoDisparo.Play(); audioSource.Play(); }