FPS Tutorial 2.5. Перевод

Научился сам? Помоги начинающему.

FPS Tutorial 2.5. Перевод

Сообщение Zaicheg 23 июл 2009, 09:30

Подумал и решил, что стоит сделать отдельной темой.

Оригинал урока:
http://forum.unity3d.com/viewtopic.php? ... sc&start=0

Перевод и пакет с ресурсами (экспортировался в 2.5):
http://docs.unity3d.ru/Tutorials/FPS_Tu ... slated.rar
http://docs.unity3d.ru/Tutorials/FPS_Tu ... ityPackage

Изменения по сравнению с оригиналом:
  • ко всем новым функциям и операторам даю ссылку на Scripting Reference.
  • не хватает пары рисунков.

Перевод хороший.
Последний раз редактировалось Zaicheg 28 апр 2010, 22:55, всего редактировалось 9 раз(а).
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3019
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

вопросы

Сообщение Zaicheg 23 июл 2009, 09:36

Позволю себе некоторое количество вопросов из разряда «кури мануалы».

http://docs.unity3d.ru/ScriptReference/ ... Enter.html
In contrast to OnTriggerEnter, OnCollisionEnter is passed the Collision class and not a Collider.

Что OnCollisionEnter делает с классом Collision? Берёт из него информацию?
Можете вкратце пояснить, что такое «класс»?
Я с программированием не знаком, а на освоение пока не хватает меня.

Что такое Fixed Timestep (параметр в Edit→Project Settings→Time)? Я справку прочитал, но понял смутно. Это фиксированное время в секундах между двумя кадрами?

Что такое deltaTime? Справку читал.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3019
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: FPS Tutorial 2.5. Перевод

Сообщение Neodrop 23 июл 2009, 12:22

    1. Ничего не делает. Просто функция OnCollisionEnter при вызове системой, автоматически получает экземпляр класса Collision, который содержит различную информацию о событии столкновения, его участниках и их свойствах.
    2. Класс это программный объект. Может содержать переменные, структуры и функции. Конструкторы и Деструкторы. Являются основой "Объектно-Ориентированного" программирования.
    3. Fixed TimeStep - шаг времени между двумя вызовами FixedUpdate. От частоты вызовов зависит частота (и точность) физических расчётов.
    4. deltaTime - время, прошедшее с момента окончания рендеринга предыдущего кадра. То есть - время между кадрами.
    deltaTime : Плавающее значение - зависит только от текущего состояний программы.
    Крайне важный и востребованный параметр - он помогает избежать разницы в скорости движения/вращения/перемещения объектов на различных по мощности, компьютерах.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8398
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: FPS Tutorial 2.5. Перевод

Сообщение Zaicheg 23 июл 2009, 15:26

Скрипт для смены оружия.
Код: Выделить всё
function Awake ()
{
   // Select the first weapon
   SelectWeapon(0);
}

function Update ()
{
   // Did the user press fire?
   if (Input.GetButton("Fire1"))
      BroadcastMessage("Fire");
   
   if (Input.GetKeyDown("1"))
   {
      SelectWeapon(0);
   }   
   else if (Input.GetKeyDown("2"))
   {
      SelectWeapon(1);
   }   
}

function SelectWeapon (index : int)
{
   for (var i=0;i<transform.childCount;i++)   
   {
      // Activate the selected weapon
      if (i == index)
         transform.GetChild(i).gameObject.SetActiveRecursively(true);
      // Deactivate all other weapons
      else
         transform.GetChild(i).gameObject.SetActiveRecursively(false);
   }
}

SelectWeapon(0) — что за SelectWeapon? В Scripting Reference ничего такого нет.
function SelectWeapon — аналогично — в Scripting Reference ничего такого нет.
Как это понять?

И ещё. При выстреле выдаёт ошибку:
Код: Выделить всё
BroadcastMessage Fire has no receiver!
UnityEngine.Component:BroadcastMessage(String, Object, SendMessageOptions)
UnityEngine.Component:BroadcastMessage(String, Object, SendMessageOptions)
UnityEngine.Component:BroadcastMessage(String) (at C:\builds\unity-trunk\unity\Runtime\Export\Generated\BaseClass.cs:532)
PlayerWeapons:Update() (at Assets\WeaponScripts\PlayerWeapons.js:12)

[..\..\Runtime\Mono\MonoExportUtility.cpp line 480]
(Filename: Assets/WeaponScripts/PlayerWeapons.js Line: 12)
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3019
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: FPS Tutorial 2.5. Перевод

Сообщение Avatarchik 23 июл 2009, 19:13

function SelectWeapon Это ты сам пишешь функцию с нуля а SelectWeapon(0) ты вызываешь эту функцию :-B
ИзображениеИзображение
Добавить ava-karaban в Skype
Аватара пользователя
Avatarchik
UNITрон
 
Сообщения: 274
Зарегистрирован: 04 апр 2009, 15:36
Откуда: Украина(Донецк)
  • ICQ

Re: FPS Tutorial 2.5. Перевод

Сообщение Vsadnik 26 июл 2009, 02:23

Возможно мой косяк но не факт. 3 раза подряд случайным не бывает. Дело вот в чём: мой перс почему-то стреляет только горизонтаьно. все пули, независимо от оружия летают только в горизонтальной плоскости (гравитация не щитается) а если я захочу выстрелить пониже чем та самая "плоскость огня" то приходится поднимть саму цель. камера в верх/вниз двигается но пулемёт(как и все остальные пули и оружия...) не задирается повыше/пониже. где надо поправить?
Не просят - не делай, можешь только предложить...
официальный русский представитель Black Cable Team
Аватара пользователя
Vsadnik
UNIт
 
Сообщения: 142
Зарегистрирован: 21 июл 2009, 22:22

Re: FPS Tutorial 2.5. Перевод

Сообщение Zaicheg 26 июл 2009, 10:24

Vsadnik писал(а):Возможно мой косяк но не факт. 3 раза подряд случайным не бывает. Дело вот в чём: мой перс почему-то стреляет только горизонтаьно. все пули, независимо от оружия летают только в горизонтальной плоскости (гравитация не щитается) а если я захочу выстрелить пониже чем та самая "плоскость огня" то приходится поднимть саму цель. камера в верх/вниз двигается но пулемёт(как и все остальные пули и оружия...) не задирается повыше/пониже. где надо поправить?

Видимо, вы прикрепили скрипт, отвественный за стрельбу, к first persone controller.
MissileLauncher.js надо прикреплять к Launcher (который является дочерним к Main Camera в first persone controller)
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3019
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: FPS Tutorial 2.5. Перевод

Сообщение Neodrop 26 июл 2009, 10:32

Зайчег, хочешь прикол? Твои посты потёрли на http://www.unitydev.ru/forum
Им упоминание о нашем портале как кость в горле :ymparty:
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8398
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: FPS Tutorial 2.5. Перевод

Сообщение Zaicheg 26 июл 2009, 11:29

Neodrop писал(а):Зайчег, хочешь прикол? Твои посты потёрли на http://www.unitydev.ru/forum
Им упоминание о нашем портале как кость в горле :ymparty:

У меня там всего один пост и он на месте:
http://www.unitydev.ru/forum/viewtopic.php?f=19&t=17
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3019
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: FPS Tutorial 2.5. Перевод

Сообщение Vsadnik 26 июл 2009, 11:42

Zaicheg писал(а):Видимо, вы прикрепили скрипт, отвественный за стрельбу, к first persone controller.
MissileLauncher.js надо прикреплять к Launcher (который является дочерним к Main Camera в first persone controller)

я вот так и сделал (уже в туторе) но у меня всё равно не хочет уходить в верх/вниз http://s16.radikal.ru/i191/0907/9c/24acaa9a5cdc.jpg
к стати, робот тоже не может стрелять выше "плоскости огня" а пулемёт... ему всё равно. по любому попадает.
Не просят - не делай, можешь только предложить...
официальный русский представитель Black Cable Team
Аватара пользователя
Vsadnik
UNIт
 
Сообщения: 142
Зарегистрирован: 21 июл 2009, 22:22

Re: FPS Tutorial 2.5. Перевод

Сообщение Zaicheg 26 июл 2009, 12:01

Vsadnik писал(а):я вот так и сделал (уже в туторе) но у меня всё равно не хочет уходить в верх/вниз http://s16.radikal.ru/i191/0907/9c/24acaa9a5cdc.jpg
к стати, робот тоже не может стрелять выше "плоскости огня" а пулемёт... ему всё равно. по любому попадает.

Launcher должен быть дочерним по отношению к Main Camera.
Перемещения наследуются от родительского объекта, а капсула FPS-контроллера, от которой у вас наследует лаунчер, вверх-вниз не смотрит :)
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3019
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: FPS Tutorial 2.5. Перевод

Сообщение Neodrop 26 июл 2009, 12:15

Zaicheg писал(а):
Neodrop писал(а):Зайчег, хочешь прикол? Твои посты потёрли на http://www.unitydev.ru/forum
Им упоминание о нашем портале как кость в горле :ymparty:

У меня там всего один пост и он на месте:
http://www.unitydev.ru/forum/viewtopic.php?f=19&t=17


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

Re: FPS Tutorial 2.5. Перевод

Сообщение Vsadnik 26 июл 2009, 12:46

итак уже делал. всё равно горизонтально стреляет
Не просят - не делай, можешь только предложить...
официальный русский представитель Black Cable Team
Аватара пользователя
Vsadnik
UNIт
 
Сообщения: 142
Зарегистрирован: 21 июл 2009, 22:22

обновление

Сообщение Zaicheg 26 июл 2009, 13:17

Обновил перевод. Сделана половина второй части.
FPS_Tutorial_ru_2607.rar

Vsadnik писал(а):итак уже делал. всё равно горизонтально стреляет

Совсем забыл, что стрельба на этом этапе уже идёт из RocketLauncher.
Weapons тоже должен быть дочерним к Main Camera :)
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3019
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: FPS Tutorial 2.5. Перевод

Сообщение Vsadnik 26 июл 2009, 13:23

о! теперь заработало. спасибо
Не просят - не делай, можешь только предложить...
официальный русский представитель Black Cable Team
Аватара пользователя
Vsadnik
UNIт
 
Сообщения: 142
Зарегистрирован: 21 июл 2009, 22:22

След.

Вернуться в Уроки

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5