Страница 1 из 1

Курсор и объект[РЕШЕНО]

СообщениеДобавлено: 09 окт 2011, 10:38
Nachiket
Помогите пожалуйста с написанием скрипта(на яве). Есть примитив, как сделать так, чтобы он, после нажатия не нем лкм, следовал за курсором?
Заранее спасибо)

Re: Курсор и объект

СообщениеДобавлено: 09 окт 2011, 13:13
bomberest
Для движения за курсором - брать позицию курсора x,y и присваивать их кубику, а z у кубика оставлять прежним.
Ну, я бы сделал так, наверное: при нажатии на лкм пускается луч, если объект, с которым столкнулся луч, подходит (проверка на тэг), то мы начинаем его тягать.

Re: Курсор и объект

СообщениеДобавлено: 09 окт 2011, 13:41
Nachiket
Спасибо, сейчас попробую

Re: Курсор и объект

СообщениеДобавлено: 09 окт 2011, 14:11
Nachiket
Сделал все, но дело в том, что после нажатия на объекте мышью он просто исчезает. и его координаты равны глобальным. как сделать так, чтобы кубик следовал за мышью на экране
Вот скрипт, на всякий случай :
Синтаксис:
Используется javascript
function Update()
{
        if(Input.GetMouseButton(0))
        {
                 var hit : RaycastHit;
                 var ray : Ray = Camera.main.ScreenPointToRay (Input.mousePosition);
                 if(Physics.Raycast(ray,hit, 100))
                 {
                        if(hit.transform.tag == "box")
                        {
                                print("hit");
                                hit.transform.position = Input.mousePosition;
                        }
                 }
        }
}

Re: Курсор и объект

СообщениеДобавлено: 09 окт 2011, 14:19
bomberest
Возможно путаю, но ведь нужно присваивать только 2 оси кубику?

Re: Курсор и объект

СообщениеДобавлено: 09 окт 2011, 14:30
Neodrop
http://www.unity3d.com раздел Resources, демо проект Procedural Example - там есть готовый пример требуемой задачи. Изучите.

А так, в двух словах :
Луч от камеры.
Взять по лучу требуемую дистанцию (получаем Vector3).
Поставить объект в полученную точку.
Вот и вся любовь в быстром исполнении. Пример тут.

Re: Курсор и объект

СообщениеДобавлено: 09 окт 2011, 14:37
seaman
Вот это, конечно, потрясающая строчка:
hit.transform.position = Input.mousePosition;
1. Кроме метода ScreenPointToRay у камеры есть ScreenToWorldPoint. Используйте его.
2. Если у Вас не для мобилок, то проще использовать не Raycast, а OnMouseDown

Re: Курсор и объект

СообщениеДобавлено: 09 окт 2011, 21:41
Nachiket
Всем спасибо, получилось! :-bd \m/

Re: Курсор и объект

СообщениеДобавлено: 09 окт 2011, 22:52
seaman
Добавьте в название темы [РЕШЕНО].