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

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

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

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

Ответ
 
Опции темы
Старый 30.07.2012, 20:04   #526
pie
ПроЭктировщик
 
Аватар для pie
 
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений
(для 64 пользователей)
Ответ: Вопросы от новичка

2pax, Спасибо. Разобрался. Но а как сделать чтобы кнопки за боксом не нажимались?
И как можно регулировать размер GUI.Box в зависимости от размера текста?
(Offline)
 
Ответить с цитированием
Старый 30.07.2012, 20:10   #527
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от pie Посмотреть сообщение
Но а как сделать чтобы кнопки за боксом не нажимались?
Не рисовать бокс поверх кнопок.

Сообщение от pie Посмотреть сообщение
И как можно регулировать размер GUI.Box в зависимости от размера текста?
var labelSize GUI.skin.label.CalcSize(new GUIContent("Текст")); 
Далее задавать размер бокса.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 30.07.2012, 21:48   #528
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Вопросы от новичка

Посоветуйте нормальные реализации DeltaPitch/Yaw. Мои какие-то пока кривые..
__________________

EvilChaotic About
(Offline)
 
Ответить с цитированием
Старый 30.07.2012, 21:58   #529
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Вопросы от новичка

в unity же кажись в кватеринонах ориентация?

их же можно просто slerp-ить...

или тебе не для плавных поворотов?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (30.07.2012)
Старый 30.07.2012, 22:05   #530
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Может тебе они не нужны, если тебе надо плавно повернуть один объект на другой, то можно воспользоваться примерно таким способом:
public float speed 0.1F;
public 
Transform targetTransform;
...

var 
from transform.rotation;
var 
to Quaternion.LookRotation(targetTransform.position transform.position);
transform.rotation Quaternion.Slerp(from to Time.time speed); 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
EvilChaotic (30.07.2012), Gector (30.07.2012)
Старый 30.07.2012, 22:23   #531
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Вопросы от новичка

Не для плавных поворотов, мне надо потом просто нормализовать это значение и помножить на скорость разворотов Так что здесь главное, чтобы оно просто правильно выдавало -/+ у значения.
__________________

EvilChaotic About
(Offline)
 
Ответить с цитированием
Старый 30.07.2012, 23:01   #532
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

нашел вот такие, могу переписать на Unity...
http://www.blitzbasic.com/Community/...hp?topic=66209
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (30.07.2012)
Старый 30.07.2012, 23:22   #533
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Вопросы от новичка

var to = Quaternion.LookRotation(targetTransform.position - transform.position);
попробуй для определения направления поворота просто здесь проверять значение to.x(или to.w) (для оси Y), и to.y (для оси X) на меньше-больше нуля.
теоретически должно работать.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (30.07.2012)
Старый 30.07.2012, 23:53   #534
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Вопросы от новичка

Перевел, сейчас посмотрим что получится...
	float DeltaYaw( Transform p_eEntity1, Transform p_eEntity2) {
		float l_dx = p_eEntity2.position.x - p_eEntity1.position.x;
		float l_dz = p_eEntity2.position.z - p_eEntity1.position.z;
		return -Mathf.Atan2(l_dx,l_dz);
	}
	float DeltaPitch( Transform p_eEntity1, Transform p_eEntity2 ) {
		float  l_dx = p_eEntity2.position.x - p_eEntity1.position.x;
		float  l_dy = p_eEntity2.position.y - p_eEntity1.position.y;
		float  l_dz = p_eEntity2.position.z - p_eEntity1.position.z;
		return( -Mathf.Atan2(l_dy, Mathf.Sqrt(l_dx*l_dx + l_dz*l_dz)) );
	}
__________________

EvilChaotic About

Последний раз редактировалось EvilChaotic, 31.07.2012 в 01:10.
(Offline)
 
Ответить с цитированием
Старый 31.07.2012, 00:00   #535
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Можно чуть проще записать
float DeltaYawTransform p_eEntity1Transform p_eEntity2) {
   
float l_d p_eEntity2.position p_eEntity1.position;
   return -
Mathf.Atan2(l_d.x,l_d.z);

__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (31.07.2012)
Старый 31.07.2012, 01:04   #536
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Вопросы от новичка

Обе функции при определенных углах возвращают не правильное значение.
Ща отдохну и попробую вариант Олега.
__________________

EvilChaotic About
(Offline)
 
Ответить с цитированием
Старый 31.07.2012, 01:12   #537
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Я думаю они правильное значение возвращают с точки зрения блица, но не правильное для Unity. В Unity вращение часто меняет свое значение при переходе через 90/180 градусов.

Можешь попробовать использовать следующее:

// величина поворота на цель
var rotation Quaternion.FromToRotation(transform.forwardtargetTransform.position transform.position);

// углы Эйлера
var euler rotation.eulerAngles
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
EvilChaotic (31.07.2012)
Старый 31.07.2012, 02:29   #538
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Вопросы от новичка

т.е. конечно же надо смотреть не итоговый кватерион - а разницу

diff = Quaternion.Inverse(from) * to;
или как там в юнити
(Offline)
 
Ответить с цитированием
Старый 01.08.2012, 00:48   #539
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

пустые сабмеши дравкалов не вызывают.
а как можно в редакторе сделать свой редактор массива материалов? вывести список не сложно, но не пойму как сделать добавление материала. как-то можно, по нажатию на кнопку сразу открыть браузер? или может както по другому это сделать?
(Offline)
 
Ответить с цитированием
Старый 01.08.2012, 07:12   #540
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Увеличиваешь массив (на кнопку например), отображаешь пустое поле с типом материала, кликаешь по нему - выбираешь материал из "браузера".
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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