Автор Тема: ФПС шутер старт. Конкретный вопрос.  (Прочитано 20513 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Июнь 09, 2012, 02:11:23 am
Прочитано 20513 раз

Skript47

  • Пользователь

  • Оффлайн
  • **

  • 52
  • Репутация:
    0
    • Просмотр профиля
    • LiveToWin34
Я совсем не давно скачал юнити до этого я разбирал много разных других игровых движков.
Пока что у меня один вопрос: с чего правильно начинать создание ФПС шутера на юнити,
то есть как создать систему управления игроком?
Достаточно просто чтоб вид был от первого лица ну и видно было руки допустим. Можно подробней конкретно об этом, может есть готовые примеры которые можно использовать или изучить, или практичные видио туториалы. По примеру мне конешно понятней будет. Меня интересует как можно более конкретный ответ по этому поводу от человека который знает с чего именно начать это (мне не надо стартовые туториалы про небо и карту) пожалуйста обьясните
Изивните за глупый вопрос. Спасибо за не злой и содержательный ответ ::)
Find me on GOOGLE.com

Июнь 09, 2012, 07:24:18 am
Ответ #1

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio
Вы видели мой курс по юнити? советую его посмотреть. это даст базовые знания, без этого игру не сделать. так же есть мои видео-уроки по фпс. ну и с файлом-проектом фпс туториал с ИИ и простым оружием, он разрабов юнити, сейчас дам ссылку на тутор.

Июнь 09, 2012, 07:32:27 am
Ответ #2

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio
« Последнее редактирование: Июнь 09, 2012, 07:40:24 am от Alcatraz »

Июнь 09, 2012, 12:46:45 pm
Ответ #3

Skript47

  • Пользователь

  • Оффлайн
  • **

  • 52
  • Репутация:
    0
    • Просмотр профиля
    • LiveToWin34
Спс. Ну за вчера я только скачал юнити, я уже создал базовую карту, поставил базовое управление игрой, поставил полоску жизней для HUD, оружие звуки. Но досих пор не понял главного это принципы написания сценария для уровня. Как сделать стартовую заставку, как указать цели игрока (например точку к которой надо идти) есть что нибудь об этом?

Ну то есть как написать сценарий уровня в целом, что надо использовать?
Find me on GOOGLE.com

Июнь 09, 2012, 13:20:43 pm
Ответ #4

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio
Спс. Ну за вчера я только скачал юнити, я уже создал базовую карту, поставил базовое управление игрой, поставил полоску жизней для HUD, оружие звуки. Но досих пор не понял главного это принципы написания сценария для уровня. Как сделать стартовую заставку, как указать цели игрока (например точку к которой надо идти) есть что нибудь об этом?

Ну то есть как написать сценарий уровня в целом, что надо использовать?
Посмотри мои уроки. Могут помочь с освоением скриптинга. Дальше уже смекалка.

Июнь 09, 2012, 16:21:31 pm
Ответ #5

Skript47

  • Пользователь

  • Оффлайн
  • **

  • 52
  • Репутация:
    0
    • Просмотр профиля
    • LiveToWin34
Спасибо за ответ конешно но мне не нужна общия информация о скриптинге юнити. Я уже смотрел туториалы, много.
Ваш канал вроде
http://www.youtube.com/user/FlightDreamStudio
но мне это не поможет мне нужны более конкретные примеры действий я очень быстро учусь на примерах.
Если буду читать документацию и учить всякую пургу то я ничего не запомню и не выучу.

Вот конкретный вопрос по скрипту, какие значения могут иметь клавиши?

var speed = 10.0;
var jumpSpeed = 8.0;
var gravity = 20.0;
var runSpeed = 2.0;
var sitSpeed = 0.3;
private var moveDirection = Vector3.zero;
private var grounded : boolean = false;

function FixedUpdate() {
   if (grounded) {
      // We are grounded, so recalculate movedirection directly from axes
      moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
      moveDirection = transform.TransformDirection(moveDirection);
      moveDirection *= speed;
     
   if (Input.GetButton ("Jump")) {
         moveDirection.y = jumpSpeed;
         transform.localScale.y = 1;
      }   
   
    if (Input.GetButton ("run")) {
         moveDirection *= runSpeed;
         transform.localPosition.y = 2.1;
         transform.localScale.y = 1;
         }
         
  if (Input.GetButton ("sit")) {
         transform.localScale.y = 0.5;
         moveDirection *= sitSpeed;
         }
   
   }

   // Apply gravity
   moveDirection.y -= gravity * Time.deltaTime;
   
   // Move the controller
   var controller : CharacterController = GetComponent(CharacterController);
   var flags = controller.Move(moveDirection * Time.deltaTime);
   grounded = (flags & CollisionFlags.CollidedBelow) != 0;
}

@script RequireComponent(CharacterController)


Какие параметры можно указывать в таких опкодаих где найти списки? Написано что переменная РАН не установлена(
Сорри за глупый вопрос.
« Последнее редактирование: Июнь 09, 2012, 16:23:11 pm от Skript47 »
Find me on GOOGLE.com

Июнь 09, 2012, 16:38:01 pm
Ответ #6

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio
Выделенное красным - Это проверка инпута. если нажата кнопка \ джойстик с именем заданным в инпуте, к примеру Jump, и берёт на проверку кнопку указанную в Positive button.

Июнь 09, 2012, 16:55:31 pm
Ответ #7

Skript47

  • Пользователь

  • Оффлайн
  • **

  • 52
  • Репутация:
    0
    • Просмотр профиля
    • LiveToWin34
Ну это понятно от части но как создавать эти клавиши и назначать их? Это все клавиши что есть в настройках



Но все скрипты которые я смотрел используют клавиши которых в моем проекте нету( Их можно создавать?
Find me on GOOGLE.com

Июнь 09, 2012, 17:12:32 pm
Ответ #8

beshley1996

  • Активный участник

  • Оффлайн
  • ****

  • 264
  • Репутация:
    19
    • Просмотр профиля
    • http://activeden.net/user/beshley1996
Конечно можно! В Size вводиш например 17. Появиться новая кнопка снизу. Называешь, и в Positive Button вводиш например кнопку a. ;)

Июнь 09, 2012, 17:28:34 pm
Ответ #9

Skript47

  • Пользователь

  • Оффлайн
  • **

  • 52
  • Репутация:
    0
    • Просмотр профиля
    • LiveToWin34
спс я всеравно туплю чето :P(( сделал так, вроде правильно назначил а ошибка осталась
Find me on GOOGLE.com

Июнь 09, 2012, 17:51:50 pm
Ответ #10

beshley1996

  • Активный участник

  • Оффлайн
  • ****

  • 264
  • Репутация:
    19
    • Просмотр профиля
    • http://activeden.net/user/beshley1996
проверь что в Edit->Project Settings->Input есть кнопка run,
и что ты написал в Positive Button?

Июнь 09, 2012, 17:57:33 pm
Ответ #11

Skript47

  • Пользователь

  • Оффлайн
  • **

  • 52
  • Репутация:
    0
    • Просмотр профиля
    • LiveToWin34
На скрине видно написал "ЛЕФТ ШИФТ"  :-X
Find me on GOOGLE.com

Июнь 09, 2012, 18:02:36 pm
Ответ #12

beshley1996

  • Активный участник

  • Оффлайн
  • ****

  • 264
  • Репутация:
    19
    • Просмотр профиля
    • http://activeden.net/user/beshley1996
Нужно в нижнем регистре написать (run) а не (Run)

Июнь 09, 2012, 19:04:12 pm
Ответ #13

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio
Да. Регистр вроде учитывается.

Июнь 09, 2012, 21:54:31 pm
Ответ #14

Skript47

  • Пользователь

  • Оффлайн
  • **

  • 52
  • Репутация:
    0
    • Просмотр профиля
    • LiveToWin34
И сам уже успел понять сорри)) Спасибо если не сложно хотел бы спросить у понимающих людей
несколько аспектов касающихся юнити

1 Есть какой нибудь готовый пример менюшки для игры? Я смотрел туториалы но они плохие(

2 И как правильно имитировать погодные условия, для меня чем темней тем лучше и как правильно сделать туман.

Сорри что так много я только второй день все это разбираю
« Последнее редактирование: Июнь 10, 2012, 00:05:25 am от Skript47 »
Find me on GOOGLE.com