Hej, może wie ktoś z Was w jaki sposób odbić laser, który jest zrobiony z raycasta i linerenderera. Mam rozpoznanie obiektu po tagu, ale dalej kompletnie nie wiem co wykombinować. Na razie mam tylko coś takiego, jeżeli ktoś mógłby pomóc lub polecić jakąś książkę/tutorial, gdzie byłoby to opisane to byłbym dozgonnie wdzięczny :) (skrypt podczepiony do pustego obiektu na końcu pistoletu, wszytko działa oprócz tego)
using UnityEngine; using System.Collections; public class LaserGunScript : MonoBehaviour { LineRenderer line; public Vector3 reflectDir; void Start () { line = gameObject.GetComponent<LineRenderer> (); line.enabled = false; } void Update () { if (Input.GetMouseButton(0)) { StopCoroutine ("FireLaser"); StartCoroutine ("FireLaser"); } } IEnumerator FireLaser(){ line.enabled = true; while (Input.GetMouseButton (0)) { Ray ray = new Ray (transform.position , transform.forward); RaycastHit hit; line.SetPosition (0, ray.origin); if (Physics.Raycast (ray, out hit, 100)) { line.SetPosition (1, hit.point); if (hit.collider.tag=="Mirror") { reflectDir = Vector3.Reflect (ray.direction, hit.normal); transform.rotation.SetFromToRotation (ray.direction, reflectDir); } } else { line.SetPosition(1, ray.GetPoint(100)); } yield return null; } line.enabled = false; } }