void Shoot() { muzzleflash.Play(); RaycastHit hit; device = SteamVR_Controller.Input((int)obj.index); device.TriggerHapticPulse(3000); if (Physics.Raycast(muzzleTransform.position, muzzleTransform.forward, out hit, range)) { ControlSpider control = hit.transform.GetComponent <ControlSpider>(); if (control != null) { control.TakeDamage(damage); } if (hit.rigidbody != null) { hit.rigidbody.AddForce(-hit.normal * impactForce); } if (Vector3.Distance(hit.point, gameObject.transform.position) > 1f) { GameObject obj = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal)); Destroy(obj, 1f); } } }
private void FixedUpdate() { MoveSpiderLegs.DoFixedUpdate(); ControlSpider.DoFixedUpdate(); _fixJoints.DoFixedUpdate(); for (int i = 0; i < _legTargets.Length; i++) { _legTargets[i].DoFixedUpdate(); } for (int i = 0; i < _inverseKinematics.Length; i++) { _inverseKinematics[i].DoInverseKinematics(); } }