Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 14.04.2012, 19:17   #286
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

Это не прицел, это визуальное представление направления выстрела. Привязан к mousePosition.
http://clip2net.com/s/1OdGX
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 15.04.2012, 19:11   #287
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Спасибо, разобрался. Еще один вопрос по Locomotion. Я хочу сделать что бы игрок поворачивался лицом к мыши, но незнаю как.
(Offline)
 
Ответить с цитированием
Старый 15.04.2012, 19:41   #288
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

На курсор повесить пустой GameObject. Сделать target rotation на него.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 08:19   #289
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Не совсем понял. А можно кусочком кода?

Онлайн смотреть
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 11:50   #290
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

В общих чертах. Повесить на обьект, который должен следить за курсором.

Transform target;
RaycastHit hit;

void Update()
{
  
Ray ray Camera.main.ScreenPointToRay(Input.mousePosition);

  if (
Physics.Raycast(ray out hit))
  {
   
target.positoin=hit.point;
  }

  
Quaternion targetRotation=Quaternion.LookRotation(target.position-transform.position);
  
transform.rotation=targetRotation;

__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 15:14   #291
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Все равно до меня не дошло.
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 15:50   #292
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

До меня много чего не доходит, но я как минимум корректно составляю вопросы, что именно не понятно.
Для того чтобы поворачивать обект в каком то направлении, нужно знать это направление. В нашем случае направлением служит курсор.
1.Пускаем луч из камеры в точку, где находится курсор
Ray ray Camera.main.ScreenPointToRay(Input.mousePosition); 
2.Получаем координаты точки на площадке(в вашем случае), соответствующие позиции курсора, если курсор находится над площадкой(луч пересекает коллайдер)
if (Physics.Raycast(ray out hit))
  {
   
target.positoin=hit.point;
  } 
3.Поворачиваем обьект по направлению к курсору.
Quaternion targetRotation=Quaternion.LookRotation(target.position-transform.position);
  
transform.rotation=targetRotation
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 16:10   #293
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Assets/Scripts/Player/Player.cs(18,29): error CS1525: Unexpected symbol `out'
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 16:26   #294
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

if (Physics.Raycast(rayout hit,Mathf.Infinity)) 
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 16:54   #295
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Ну тогда так уж.

public Camera cam;

void Update () {
		
		Ray ray = cam.ScreenPointToRay (Input.mousePosition);
        RaycastHit hit = new RaycastHit();
        if (Physics.Raycast (ray, out hit))
        {
            Vector3 rot = transform.eulerAngles;
            transform.LookAt(hit.point);
            transform.eulerAngles = new Vector3(rot.x, transform.eulerAngles.y+90, rot.z);
        }
		
	}
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 18:52   #296
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Вот что получилось. Смотреть Только мне не нравится резкие движения игрока когда мышка прямо на нем. Попробовал сделать через проверку на расстояние (то есть не поворачивает если дистанция < 1), но тогда получается другой баг - если провести мышью через игрока и вывести его с другой стороны то он резко повернется назад. Как Вы посоветуете сделать?
(Offline)
 
Ответить с цитированием
Старый 16.04.2012, 22:08   #297
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

Здесь ты в каждом фрейме ориентируешь обьект на таргет точку.
transform.LookAt(hit.point); 
А ты в Update() просто поворачивай обьект на таргет точку с определенной скоростью.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 17.04.2012, 16:15   #298
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Ну хорошо. Допустим я буду делать через вот это:

transform.rotation Quaternion.Slerp(transform.rotationпозиция мышискорость поворота); 
Как определить позицию мыши в пространстве?

Ray ray cam.ScreenPointToRay (Input.mousePosition); 
Не катит, т.к. нужен трансформ или Vector3.
(Offline)
 
Ответить с цитированием
Старый 17.04.2012, 16:21   #299
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Очевидно же: Physics.Raycast
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 17.04.2012, 17:27   #300
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

Ray ray cam.ScreenPointToRay(Input.mousePosition); //
        
RaycastHit hit;
        
        if (
Physics.Raycast(rayout hit)) {
            
float rot hit.point;
            
transform.rotation Quaternion.Slerp(transform.rotationrotturnSpeed Time.deltaTime);
        } 
В функцию на место rot нужна переменная float, а hit.point - Vector3 и не может быть float. (((
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 17:43.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com