Проблема с raycast
Чингисхан Дата: Вс, 21 Дек 2014, 02:01 | Сообщение # 1
Сообщений: 4
Награды:
0
Репутация:
0
Статус: Offline
Написал скрипт по удалению объекта через raycast, беда в том что если я смотрю на дерево или ландшафт то он берет и удаляется. Можно ли как нибудь внести объекты исключения,чтоб они не удалялись? Код
using UnityEngine; using System.Collections; public class lesorub : MonoBehaviour { private float dist = 5f; // Use this for initialization void Start () { } // Update is called once per frame void Update () { Ray ray = new Ray (transform.position, transform.forward); RaycastHit hit; if(Physics.Raycast(ray,out hit,dist)) { if(Input.GetMouseButtonDown(0)) Destroy(hit.collider.gameObject); } } }
Сообщение Написал скрипт по удалению объекта через raycast, беда в том что если я смотрю на дерево или ландшафт то он берет и удаляется. Можно ли как нибудь внести объекты исключения,чтоб они не удалялись? Код
using UnityEngine; using System.Collections; public class lesorub : MonoBehaviour { private float dist = 5f; // Use this for initialization void Start () { } // Update is called once per frame void Update () { Ray ray = new Ray (transform.position, transform.forward); RaycastHit hit; if(Physics.Raycast(ray,out hit,dist)) { if(Input.GetMouseButtonDown(0)) Destroy(hit.collider.gameObject); } } }
Автор - Чингисхан Дата добавления - 21 Дек 2014 в 02:01
seaman Дата: Вс, 21 Дек 2014, 11:29 | Сообщение # 2
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Проверяем layer tag
Сообщение Проверяем layer tag Автор - seaman Дата добавления - 21 Дек 2014 в 11:29
Чингисхан Дата: Вс, 21 Дек 2014, 22:20 | Сообщение # 3
Сообщений: 4
Награды:
0
Репутация:
0
Статус: Offline
если я правильно понял, а я надеюсь что это так, то скрипт должен выглядеть вот так Код
using UnityEngine; using System.Collections; public class lesorub : MonoBehaviour { private float dist = 5f; void Example() { gameObject.tag = "terrain"; } // Update is called once per frame void Update () { Ray ray = new Ray (transform.position, transform.forward); RaycastHit hit; if(Physics.Raycast(ray,out hit,dist)) { if(Input.GetMouseButtonDown(0)) Destroy(hit.collider.gameObject); } } }
Но все равно терраин удаляется, я создал тег "terrain" и присвоил это тег террайну,однако он все равно удаляется,может я делаю что то не так?
Сообщение если я правильно понял, а я надеюсь что это так, то скрипт должен выглядеть вот так Код
using UnityEngine; using System.Collections; public class lesorub : MonoBehaviour { private float dist = 5f; void Example() { gameObject.tag = "terrain"; } // Update is called once per frame void Update () { Ray ray = new Ray (transform.position, transform.forward); RaycastHit hit; if(Physics.Raycast(ray,out hit,dist)) { if(Input.GetMouseButtonDown(0)) Destroy(hit.collider.gameObject); } } }
Но все равно терраин удаляется, я создал тег "terrain" и присвоил это тег террайну,однако он все равно удаляется,может я делаю что то не так? Автор - Чингисхан Дата добавления - 21 Дек 2014 в 22:20
ilyakos Дата: Пн, 22 Дек 2014, 01:16 | Сообщение # 4
Сообщений: 171
Награды:
0
Репутация:
8
Статус: Offline
После if(Physics.Raycast(ray,out hit,dist)) { напиши : if(hit.collider && hit.collider.tag!="твой таг"){
Сообщение После if(Physics.Raycast(ray,out hit,dist)) { напиши : if(hit.collider && hit.collider.tag!="твой таг"){ Автор - ilyakos Дата добавления - 22 Дек 2014 в 01:16
Чингисхан Дата: Пн, 22 Дек 2014, 22:51 | Сообщение # 5
Сообщений: 4
Награды:
0
Репутация:
0
Статус: Offline
спасибо, щас буду творитьДобавлено (22 Дек 2014, 20:01) --------------------------------------------- Ах да и еще один вопрос. Деревья которые поставлены через terrain, так же будут идти под тегом "terrain", если да то придеться вручную их ставить?
Добавлено (22 Дек 2014, 22:51) --------------------------------------------- Спасибо, все работает
Сообщение спасибо, щас буду творитьДобавлено (22 Дек 2014, 20:01) --------------------------------------------- Ах да и еще один вопрос. Деревья которые поставлены через terrain, так же будут идти под тегом "terrain", если да то придеться вручную их ставить?
Добавлено (22 Дек 2014, 22:51) --------------------------------------------- Спасибо, все работает
Автор - Чингисхан Дата добавления - 22 Дек 2014 в 22:51