|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
17.04.2012, 19:08
|
#301
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Эх....
Ray ray = cam.ScreenPointToRay(Input.mousePosition); // RaycastHit hit; if (Physics.Raycast(ray, out hit)) { var lookDirection = hit.point - transform.position; lookDirection.y = 0; var targetRotation = Quaternion.LookRotation(lookDirection); transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation , turnSpeed * Time.deltaTime); }
|
(Offline)
|
|
17.04.2012, 20:28
|
#302
|
ПроЭктировщик
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений (для 64 пользователей)
|
Ответ: Вопросы от новичка
Спасибо большое! Просто я не дружу с C#. Мне легче на Java. А на нем я незнаю как это будет выглядеть)
|
(Offline)
|
|
18.04.2012, 13:42
|
#303
|
ПроЭктировщик
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений (для 64 пользователей)
|
Ответ: Вопросы от новичка
Вопрос по поводу Biped Edition. Как модельке на которой висит скрипт Biped (т.е. он и будет являться куклой тряпичной) сообщить что нужно начать генерировать физику куклы. То что можно нажать кнопку в окне screene не предлагать. Нужно именно как то сказать чтобы кукла начала работать.
|
(Offline)
|
|
18.04.2012, 16:05
|
#304
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Вопросы от новичка
Сделать на основе модели регдол и в нужный момент заменить модель регдолом. Если я правильно понял суть вопроса.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
06.05.2012, 17:03
|
#305
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
if (Rotate) {
var ang = Vector3.Angle (Physics.gravity, new Vector3 (0, 1, 0));
CamPivot.transform.localRotation = new Quaternion (0, 0, 1, ang*Mathf.Deg2Rad);
}
Хотел развернуть камеру на угол,равный углу вектора гравитации, работает только от PI/4 до PI/4+PI, не знаю почему, где косяк?
|
(Offline)
|
|
06.05.2012, 23:52
|
#306
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Вопросы от новичка
Physics.gravity это сила тяжести. Какое она имеет отношение к определению угла между двумя векторами?
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
22.05.2012, 11:44
|
#307
|
ПроЭктировщик
Регистрация: 04.11.2011
Сообщений: 176
Написано 19 полезных сообщений (для 64 пользователей)
|
Ответ: Вопросы от новичка
Вопрос по поводу CarTutorial. В примере вроде бы все нормально. Заменил модель машины на свою, все скрипты добавил, все параметры настроил как надо. когда поворачиваешь колеса в одну сторону они плавно поворачиваются. Если резко повернуть в другую сторону то они с рывком поворачиваются в другую. Как это можно исправить?
|
(Offline)
|
|
28.05.2012, 13:32
|
#308
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопросы от новичка
Как сделать так, что бы OnGUI запускалась только один раз за цикл?
|
(Offline)
|
|
28.05.2012, 15:47
|
#309
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Вопросы от новичка
to is.SarCasm:
Никак. Но можно детектить, зачем в очередной раз Юнити решила вызвать эту функцию. Если у тебя внутри нее есть какие-то вычисления (хотя в справке настоятельно рекомендуют этого не делать), то можешь их "обернуть" вот в такое условие:
void OnGUI() {
...
if (Event.current.type == EventType.Repaint)
{
// Весь код, который лежит тут, вызывается только один
// раз за кадр.
Debug.Log("Current frame: "+Time.frameCount);
}
...
}
|
(Offline)
|
|
29.05.2012, 10:30
|
#310
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
1. Можно отключить GUILayout если он не используется например в Start или Awake. Это снизит количество вызовов на 1.
2. Как сказал cahekp - можно выполнять действие один раз за кадр например в событии Repaint, но там другие события не обработать.
|
(Offline)
|
|
29.05.2012, 10:36
|
#311
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Вопросы от новичка
У кого-нибудь получалось привязывать мауслок к правому стику геймпада? Сколько гуглил - ничего полезного не нашел, в Input ось x и y всего одна, и по умолчанию X и Y оси привязываются к левому стику, а второй X и Y оси в настройках нет. Пробовал дублировать MouseX/Y оси и настраивать их для геймпада - та же проблема, единственное, что получилось - привязывание левого-же стика и на движение, и на мауслок :c
|
(Offline)
|
|
29.05.2012, 15:06
|
#312
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Не взял в деревню геймпад к сожалению, но вероятно в инпут менеджере надо во вторых Horizontal и Vertical (хотя нет, надо править Mouse X и Mouse Y оси) выставить третью и четвертую оси джойстика, вместо x и y
Последний раз редактировалось pax, 29.05.2012 в 18:34.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.05.2012, 21:57
|
#313
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Скажите, yield return new WaitForSeconds(0.01f); прервет работу ровно на 0.01 секунды? Или может на более долгое время прервать, если игра будет тормозить?
Что бы выполнение сложного алгоритма разделить на несколько кадров обязательно в самом алгоритме вставлять строчку yield return new WaitForSeconds?
Хочется сделать, чтобы не тормозила при выполнении этого алгоритма и в алгоритм ничего лишнего не писать.
|
(Offline)
|
|
30.05.2012, 10:49
|
#314
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
Скажите, yield return new WaitForSeconds(0.01f); прервет работу ровно на 0.01 секунды? Или может на более долгое время прервать, если игра будет тормозить?
Что бы выполнение сложного алгоритма разделить на несколько кадров обязательно в самом алгоритме вставлять строчку yield return new WaitForSeconds?
Хочется сделать, чтобы не тормозила при выполнении этого алгоритма и в алгоритм ничего лишнего не писать.
|
Нет, к сожалению, не ровно. Может прерваться как на 0.01, так и на 0.02, или вообще 0.038 какое-нибудь. Юнити выполняет все скрипты и сопрограммы в одном потоке, по этому прерывание зависит от суммарного количества выполняющихся скриптов в кадре.
Очень хорошее объяснение того, как работают корутины, есть тут:
http://answers.unity3d.com/questions...confusion.html
Прям пошаговое объяснение процесса.
К слову, только FixedUpdate выполняется строго по времени.
|
(Offline)
|
|
30.05.2012, 20:38
|
#315
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
А FixedUpdate в другом потоке выполняется?
Ладно, если я в свой алгоритм вставлю "yield return new WaitForSeconds(time)" То как вычислить это time, чтобы алгоритм работал максимально быстро и не создавал тормозов?
И как определить, что алгоритм уже закончил свою работу?
Надо, чтобы в фоне создавались новые куски уровня.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:22.
|