2D-shooter, помогите разобраться с мышкой.

Программирование на Юнити.

2D-shooter, помогите разобраться с мышкой.

Сообщение Dan1g3r 22 май 2010, 15:12

Приветствую вас, гуру сего бесовского творения. Я пришел к вам с миром и с просьбой о помощи.
Я упорно пытаюсь создать 2D Shooter, но никак не могу разобраться с управлением мышью.
В теории, камера находится на определенной высоте над персонажем и упорно пялится ему на макушку.
Вопрос заключается в следующем: каким образом, можно заставить сего персонажа поворачиваться "лицом" к курсору мыши, без нажатия дополнительных клавиш.
Помогите пожалуйста, мой черствый умишко не может самостоятельно обрести сею великую мудрость. Заранее премного благодарен.
Аватара пользователя
Dan1g3r
UNец
 
Сообщения: 35
Зарегистрирован: 18 май 2010, 23:50

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение Neodrop 22 май 2010, 16:46

Луч из камеры через mousePosition и LookAt объекту в эту точку. Задача банальная, если пройти базовые туториалы. :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение Dan1g3r 22 май 2010, 19:45

А можно немного подробней, пожалуйста?
Аватара пользователя
Dan1g3r
UNец
 
Сообщения: 35
Зарегистрирован: 18 май 2010, 23:50

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение gnoblin 22 май 2010, 20:28

Код: Выделить всё
Collider.Raycast(), Input.mousePosition, transform.LookAt()
в мануале :ympeace:
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение logero 22 май 2010, 22:02

Блин, у меня такая самая проблема... Юнити пишет такую ошибку "Cannot convert 'UnityEngine.Ray' to 'UnityEngine.Transform'."
logero
UNец
 
Сообщения: 1
Зарегистрирован: 22 май 2010, 21:47

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение Dan1g3r 23 май 2010, 00:52

Уважаемые, выручайте... Все как угодно, только не так, как надо. Есть у кого хоть что-то похожее на скрипт или ссылка где его найти?
Аватара пользователя
Dan1g3r
UNец
 
Сообщения: 35
Зарегистрирован: 18 май 2010, 23:50

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение Serge 23 май 2010, 06:09

Dan1g3r писал(а):Уважаемые, выручайте... Все как угодно, только не так, как надо. Есть у кого хоть что-то похожее на скрипт или ссылка где его найти?

1. Unity не «бесовское творение».
2. Поискать можно здесь http://www.unifycommunity.com/wiki/index.php?title=Scripts
3. Если хотите получить помощь, задавайте вопрос корректно. Писать скрипты вместо вас желающие врятли найдутся. Для исключения гадания на кофейной гуще выкладывайте проблемный скрипт. :)
О, сколько нам открытий чудных Готовят просвещенья дух И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель.
Аватара пользователя
Serge
UNIверсал
 
Сообщения: 476
Зарегистрирован: 20 мар 2009, 15:53
Откуда: Сибирь г. Омск
  • Сайт
  • ICQ

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение Serge 23 май 2010, 06:11

logero писал(а):Блин, у меня такая самая проблема... Юнити пишет такую ошибку "Cannot convert 'UnityEngine.Ray' to 'UnityEngine.Transform'."

Смотреть сообщение выше, п. 3. :)
О, сколько нам открытий чудных Готовят просвещенья дух И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель.
Аватара пользователя
Serge
UNIверсал
 
Сообщения: 476
Зарегистрирован: 20 мар 2009, 15:53
Откуда: Сибирь г. Омск
  • Сайт
  • ICQ

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение Avatarchik 23 май 2010, 09:23

Уважаемые, выручайте... Все как угодно, только не так, как надо. Есть у кого хоть что-то похожее на скрипт или ссылка где его найти?

На! :D Ну ты не думай,что за тебя кто-то будет делать. :-B
Синтаксис:
Используется csharp
using UnityEngine;
using System . Collections;

public class LookAtMouse : MonoBehaviour
    {
    public float speed = 4.0f;
    public float hitdist = 0.0f;
    void Update ( )
        {
      Plane playerPlane = new Plane ( Vector3 . up , transform . position );
        Ray ray = Camera . main . ScreenPointToRay ( Input . mousePosition );
     
        if ( playerPlane . Raycast ( ray , out hitdist ) )
             {
             
             Vector3 targetPoint = ray . GetPoint ( hitdist );

           
             Quaternion targetRotation = Quaternion . LookRotation ( targetPoint - transform . position );

           
             transform . rotation = Quaternion . Slerp ( transform . rotation , targetRotation , speed * Time . deltaTime );
             }
        }
    }
Добавить ava-karaban в Skype
Аватара пользователя
Avatarchik
UNITрон
 
Сообщения: 274
Зарегистрирован: 04 апр 2009, 15:36
Откуда: Украина(Донецк)
  • ICQ

Re: 2D-shooter, помогите разобраться с мышкой.

Сообщение Dan1g3r 23 май 2010, 10:16

Огромное спасибо вам! Наконец-то сие творение обрело человеческий вид.
Р.S. Для тех, кто может еще попадет в эти сети, то-же самое, только на Java:
Код: Выделить всё
var speed = 4.0;

function Update () {
    var playerPlane = new Plane(Vector3.up, transform.position);
    var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
    var hitdist = 0.0;
    if (playerPlane.Raycast (ray, hitdist)) {
        var targetPoint = ray.GetPoint(hitdist);
        var targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
        transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, speed * Time.deltaTime);
    }
}
Аватара пользователя
Dan1g3r
UNец
 
Сообщения: 35
Зарегистрирован: 18 май 2010, 23:50


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 11