Среда, 15 Мая 2024, 00:46

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » 8Observer8 [730]
Результаты поиска
8Observer8Дата: Среда, 22 Июля 2015, 13:44 | Сообщение # 561 | Тема: Выбор 3D движка для визуализации строений
заслуженный участник
Сейчас нет на сайте
Цитата Viktor-Kor ()
Unity умеет собирать почти под все, кроме WebGL. Текущий экспортер WebGL сырой и в превью версии.

Я запускал несколько игр из браузера на Unity. Ни одна не тормозила. Но я не нашёл ни одной игры на Blend4Web. Я запускал несколько примеров с их сайта. У меня они жутко тормозили.


Сообщение отредактировал 8Observer8 - Среда, 22 Июля 2015, 13:45
8Observer8Дата: Среда, 22 Июля 2015, 12:06 | Сообщение # 562 | Тема: Выбор 3D движка для визуализации строений
заслуженный участник
Сейчас нет на сайте
Лично мне не понравились инструменты BGE для создания 2D игр. Их просто нет. Находил несколько скриптов написанных для платформенных игр одним человеком. В Unity есть удобный Animator, который подходит и для 2D и для 3D. Есть официальные примеры: заготовки для 2D и 3D игр. Можно найти множество полезных и бесплатных вещей на Asset Store Unity

Blender можно использовать как 3D редактор, а импортировать в Unity перетаскиванием.

Цитата Viktor-Kor ()
Использование Unity/UE для таких задач избыточно. имхо

Избыточно использовать UE, а Unity в самый раз.

Цитата Viktor-Kor ()
1. Нет проблем с моделями. Моделишь сам или импортируешь в других форматах

В Unity тоже нет проблем с моделями. Моделируешь в Blender и импортируешь.

Цитата Viktor-Kor ()
2. Создание сцены.

В Unity тоже есть создание сцен.

Цитата Viktor-Kor ()
3. Простой визуальный редактор для логики.

Одного визуального редактора недостаточно. Свобода в комбинации с Python. На Unity можно писать скрипты на C#, JavaScript, Python. Осваивается и программируется не сложнее, чем в BGE.

Цитата Viktor-Kor ()
Встроенный игровой движок BGE позволит скомпилировать приложение для desktop.

Unity тоже компилирует из меню. Причём на 21 платформу.

Цитата Viktor-Kor ()
Если нужна платформа WebGL, то дополнительно устанавливаешь Blend4Web (полный экспорт сцены Blender в WebGL)

Для WebGL придётся ещё изучать JavaScript, чтобы программировать на Blend4Web. Сообщество крайне мало по сравнению с Unity. Для сборки WebGL в Unity достаточно в меню выбрать. А так же намного легче собрать в apk для Android и IOS, чем для BGE (по-моему, для мобилок на BGE вообще не собирается).


Сообщение отредактировал 8Observer8 - Среда, 22 Июля 2015, 12:07
8Observer8Дата: Среда, 22 Июля 2015, 06:24 | Сообщение # 563 | Тема: Редактор карт
заслуженный участник
Сейчас нет на сайте
Цитата beril ()
Разве в компании не дали четкое ТЗ?

Я требовал ТЗ, но без результатов.

Цитата LightStorm ()
Не обижайтесь, но для выявления подобного и нужны тестовые задания )) Ищите другую контору

Да хотелось бы в этой удержаться и развиваться. Тут вся команда англоязычная. Раз в неделю сборы в скайпе. Можно послушать живую английскую речь по предметной области, а в перспективе - поучаствовать. Это стимулирует изучать английский. По контракту, как минимум нужно уделять 10 часов в неделю на работу. В качестве подработки и обучения английскому было бы неплохо. Тут каждый борется за процент от продаж на стиме. Правда, меня смущает то, что по контракту абсолютно всё принадлежит одному человеку. Я понимаю, что с моим разговорным английским и тем, что в Unity новичок - мало шансов удержаться, но задание, хотя бы для опыта, нужно сделать.

MANMANA, огромное спасибо! Теперь я понимаю. Мне тимлидер по скайпу показывал примерно такие. Как я понял процесс работы с редактором - это создать объект, у которого будут производные объекты - Plane и тексты. Человек вводит тексты, выбирает картинку, получает объект, переименовывает его и бросает в папку Prefab.

beril, мне в той конторе тимлидер подарил Text Mesh Pro. Я могу выложить исходники проекта, в котором используется этот пакет?


Сообщение отредактировал 8Observer8 - Среда, 22 Июля 2015, 06:54
8Observer8Дата: Вторник, 21 Июля 2015, 20:34 | Сообщение # 564 | Тема: Редактор карт
заслуженный участник
Сейчас нет на сайте
Здравствуйте!

Мне в одной небольшой компании дали тестовое задание, как стажёру: создать редактор карт в Unity. Как я понял - это карты, которые используются в таких играх:
Hearthstone: Heroes of Warcraft
Magic: The Gathering
Спектромансер

Редактор, как здесь описано.

Но я не могу понять зачем делать такой редактор? Кому он нужен? Карту же можно в фотошопе нарисовать. Тем более, что максимум, что можно создать из такого редактора, так это prefab. В игры выше я не играл и плохо представляю, что это за карты. Я не понимаю, как должен выглядеть редактор карт и не могу приступить к выполнению задания.


Сообщение отредактировал 8Observer8 - Вторник, 21 Июля 2015, 20:35
8Observer8Дата: Вторник, 21 Июля 2015, 19:53 | Сообщение # 565 | Тема: Выбор 3D движка для визуализации строений
заслуженный участник
Сейчас нет на сайте
Цитата youmych ()
Дополнительно.
Никогда раньше не имел дело с 3д движками, но профессионально программирую на С/С++ и др. языках.

Посмотрите короткие официальные видео уроки для быстрого знакомства со скриптингом в Unity --> ссылка

Добавлено (21 июля 2015, 19:53)
---------------------------------------------
Руководство Unity


Сообщение отредактировал 8Observer8 - Вторник, 21 Июля 2015, 19:53
8Observer8Дата: Суббота, 18 Июля 2015, 08:20 | Сообщение # 566 | Тема: Реализация столкновений в 2D танчиках
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Что ж я такое неправильное делаю, что у меня они нормально работают?

Я не знаю почему у вас работает, но как в этой заметки говориться, что если размер спрайта в несколько пикселей, то в секции компонента "Box Collider 2D" будет выдаваться сообщение "The collider did not create a collision shape…". Возможно у вас спрайт снаряда больше, чем несколько пикселей.
8Observer8Дата: Суббота, 18 Июля 2015, 00:36 | Сообщение # 567 | Тема: Реализация столкновений в 2D танчиках
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Вы уроки смотрели?

Да, посмотрел последний урок. Мне пригодилось, как по-настоящему отключить гравитацию: "Edit" -> "Project Settings" -> "Phisics 2D" -> set Y to 0. Думаю, разобрать код. Спасибо!

А то я зачем-то в "Rigidbody 2D" выставлял "Gravity Scale" в ноль и мне показалось, что так я отключал гравитацию. Хотя там написано, что это "Degree to which the object is affected by gravity." То есть это степень, с которой определяется подвержен ли объект гравитации. И вроде бы ноль должен указывать, что не подвержен.

Ситуация такая. Я вернул всё обратно. Сейчас всё нормально. OnCollisionEnter2D срабатывает. Вражеский танк едет. Я могу управлять танком Player. Мне не нравится, что я могу таранить танки, то есть сдвигать их с курса. Предложите, как это можно исправить?

Добавлено (15 июля 2015, 20:31)
---------------------------------------------
seaman, а когда вы будете стрелять в бронированные танчики, они ведь будут оскакивать? У меня есть предположение, что нужно подобрать массы пули и танка так, чтобы этого не происходило.

Может лучше делать с включённым "Is Trigger" на BoxCollider2D?

Добавлено (16 июля 2015, 00:24)
---------------------------------------------
Я понял, что игру нужно делать на триггерах. При OnTriggerEnter2D занулять скорость и запоминать блокирующее направление. При нажатии кнопок управления нужно проверять неблокирующее ли это направление, если нет, то сбрасывать переменную, которая хранит блокирующее направление и устанавливать скорость. А если направление блокирующее, то ничего не не делать, то есть оставлять скорость равной нулю.

Добавлено (18 июля 2015, 00:36)
---------------------------------------------
Замечу, что для снарядов не подходит "Box Collider 2D", так как они мелкие. Здесь нужен "Edge Collider 2D". Решение проблемы нашёл здесь.

Сообщение отредактировал 8Observer8 - Четверг, 16 Июля 2015, 00:34
8Observer8Дата: Среда, 15 Июля 2015, 15:26 | Сообщение # 568 | Тема: Unreal Engine 4 vs Unity 5
заслуженный участник
Сейчас нет на сайте
Цитата SkanerSoft ()
Еле осилил прочесть всю тему... Очередной бестолковый холивар. Все кичатся движками, технологиями, а где же творения ваши? Изучаете движки ради изучения движков? Ведь сюда все идут в первую очередь за зананиями, как сделать что-то, а не смотреть, как вы спорите. Имхо - глупое бесполезное занятие.

Сюда идут, прежде всего, из-за сомнений: какой движок мне больше подойдёт и в какую компанию идти джуниором (стажёром, кодером), где используют Unity5 или где - UE4.


Сообщение отредактировал 8Observer8 - Среда, 15 Июля 2015, 15:29
8Observer8Дата: Среда, 15 Июля 2015, 10:11 | Сообщение # 569 | Тема: Реализация столкновений в 2D танчиках
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
В ригидбоди констрайнс.

Я расположил спрайты в проскости XZ. В Rigidbody 2D/Constraints/Freeze Rotation почему то можно поставить только галочку Z. То есть заморозить вращение вокруг Z. А мне нужно вокруг Y. Но это я делал, когда гравитация была включена. Я хотел перемещать спрайты по плоскости (по спрайту с BoxCollider2D). Нужно будет опять вернуть в плоскость XY. Тогда можну будет отпенить вращение вокруг Z.

Я убрал со спрайтов галочки IsKinematic, выставил GravityScale в ноль, выставил позиции спрайтов на одинаковой высоте, но спрайты проходять друг через друга и не упираются друг в друга. Перемещаю я их с помощью transform.Translate(...)


Сообщение отредактировал 8Observer8 - Среда, 15 Июля 2015, 10:26
8Observer8Дата: Среда, 15 Июля 2015, 07:07 | Сообщение # 570 | Тема: Реализация столкновений в 2D танчиках
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Я плюнул на то, что танки могут сдвинуть друг друга. По крайней мере пока.

А у вас танки могут разворачивать друг друга? Как этого избежать?
8Observer8Дата: Вторник, 14 Июля 2015, 22:30 | Сообщение # 571 | Тема: Реализация столкновений в 2D танчиках
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
И как Вы собираетесь сталкивать триггеры?

Я хотел при столкновении, к примеру, Player'а с препятствием занулять ему скорость в этом направлении. Допустим, стоит вражеский танк, а Player перемещаем снизу вверх. Он сталкивается, но дальше не может ехать, так как скорость в этом направлении будет зануляться в OnTriggerEnter2D (или OnTriggerStay2D). А в других направлениях Player может ехать. Но эта идея провалилась. Прошу помощи навести на правильный путь.

Цитата seaman ()
Это тоже ошибка - кинематик нельзя ставить.

В этом случае, у меня спрайты улетают. Я с физикой в 2D столкнулся впервые. Посоветуйте, как быть. Подскажите, как должно быть наиболее правильно?

Добавлено (14 июля 2015, 22:30)
---------------------------------------------
Дело в том, что если я добавлю физику 2D, то я смогу двигать вражеские танки. Это неправильно. Разве нет?


Сообщение отредактировал 8Observer8 - Вторник, 14 Июля 2015, 22:31
8Observer8Дата: Вторник, 14 Июля 2015, 14:25 | Сообщение # 572 | Тема: Реализация столкновений в 2D танчиках
заслуженный участник
Сейчас нет на сайте
Привет,

Помогите, пожалуйста, реализовать столкновения двух танчиков: Player, Enemy. Пока, что у меня есть максимально упрощённый пример. Спрайт Enemy движется вниз с помощью transform.Translate(...), а на пути у него спрайт Player. На обоих объектах стоит BoxCollider2D (установлен флаг IsTrigger) и Rigidbody2D (установлен флаг IsKinematic)

Танком Player управляет пользователь. Когда танки врезаются, то в методе OnTriggerEnter2D я обоим спрайтам устанавливаю скорость в ноль. Дальше никак не могу сообразить, как продумать логику. Натолкните, пожалуйста, на правильные размышления.
8Observer8Дата: Понедельник, 13 Июля 2015, 16:53 | Сообщение # 573 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Скорее всего сделаю - просто обнулю speed, а когда едет speed = 1;

Со скоростью понятно. Но этого мало, так как танк будет буксовать на месте.

Добавлено (13 июля 2015, 14:32)
---------------------------------------------
Ура! Я нашёл ошибку! Нужно было в настройках установить для "Transition Duration" значение 0 (для каждого Transition). Причём, галочка HasExitTime должна быть действительно убрана для всех Transition.



Я нашёл решение в этом туториале: Lynda - Unity 5 2D Essential Training [FULL] (Part 1)

Добавлено (13 июля 2015, 16:53)
---------------------------------------------
Наиболее правильно привлечь "Any State":


Для каждого Transition в Settings:
- галочка "Has Exit Time" должна быть убрана
- значение "Transition Duration (s)" нужно выставить в ноль
- убрать галочку "Can Transition To Self"

Добавил постоянный звук двигателя и звук газа, при нажатии кнопок WASD (или стрелок) Tanks_v1.1.0 (проект)

P.S. Если кому-то пригодилась информация, то, пожалуйста, плюсуйте smile


Сообщение отредактировал 8Observer8 - Понедельник, 13 Июля 2015, 16:59
8Observer8Дата: Понедельник, 13 Июля 2015, 12:23 | Сообщение # 574 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Знаю. Только я их у тебя почему то не нашел...

Не может быть. Куда бы они делись? У меня одно событие в анимации PlayerUp. Да, случайно добавил. Посмотрите внимательно. Нужно в "Hierarchy" чтобы было выделен спрайт Player. В меню нужно выбрать "Window" -> "Animation". В списке анимаций выбрать "PlyaerUp". Напишите, пожалуйста, есть ли там палочка. Для меня это важно, чтобы знать на будущее, что может быть такой глюк.

Добавлено (13 июля 2015, 12:23)
---------------------------------------------
seaman, я посмотрел ваш урок (часть с анимацией танка). У вас нет состояний покая для танка. Как вы их собираетесь добавлять? Если есть, то покажите, пожалуйста, где.

8Observer8Дата: Понедельник, 13 Июля 2015, 11:50 | Сообщение # 575 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Ну на самом деле ничего плохого. Только зачем такая длительность? Один кадр - он и есть один кадр...

Почему же тогда после того, как я убрал HasExitTime у меня танк попрежнему начинается двигаться до того, как срабатывает анимация?

Добавлено (13 июля 2015, 11:50)
---------------------------------------------
Цитата seaman ()
Когда создавали анимации случайно нажали кнопку добавления события. Я в проекте не смог найти где это событие. Если найдете - просто удалите. Но проще - заново пересоздать все анимации.

Спасибо! Не проще заново создать анимации. События обозначаются палочками. Нужно выделить палочку и нажать Delete:


Сообщение отредактировал 8Observer8 - Понедельник, 13 Июля 2015, 11:55
8Observer8Дата: Понедельник, 13 Июля 2015, 11:11 | Сообщение # 576 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Что такое анимация?- изменение состояния. Какое изменение в анимациях - PlayerIdleUp, PlayerIdleDown?

Idle - это анимация покоя. Я не понимаю, что в этом плохого.

Цитата seaman ()
А вот длится этот кадр - секунду. И пока не пройдет эта секунда в другое состояние танк не перейдет. Уберите галки HasExitTime у всех транзишн.

Теперь я понимаю, почему переход из анимации покоя в анимацию движения срабатывает не сразу. Это в теории, но на практике я убрал все HasExitTime, но ничего не изменилось.

Добавлено (13 июля 2015, 11:10)
---------------------------------------------

Цитата seaman ()
А лучше - смотрите мои уроки. Там как раз танчики делаем.

Спасибо большое! Посмотрю. Я как раз хотел сделать клон этой игры для тренировки.

Добавлено (13 июля 2015, 11:11)
---------------------------------------------

Цитата seaman ()
PPS: Вас не раздражает эта ошибка?

У вас есть предположение почему она случается?
8Observer8Дата: Понедельник, 13 Июля 2015, 09:50 | Сообщение # 577 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши
заслуженный участник
Сейчас нет на сайте
seaman, огромное спасибо, что откликнулись! Давайте по порядку.

Цитата seaman ()
Во первых у Idle как я понял как таковой анимации вообще нет, а сначала переходит именно на нее.

У меня есть две анимации Idle:
- PlayerIdleUp
- PlayerIdleDown

В аниматоре PlayerIdleUp установлена поумолчанию. У меня подозрение, что здесь, что-то не так и возможно вы правы, потому что когда я запускаю игру и одновременно вытаскиваю Animator, то не вижу проигрывание (жёлтой полоски) под анимацией PlayerIdleUp в аниматоре.

И того у меня сейчас четыре анимации:
- PlayerIdleUp (стоим и смотрим вверх)
- PlayerIdleDown (смотрим вниз)
- PlayerUp (движение вверх)
- PlayerDown (движение вниз)

В аниматоре я их соединил стрелками. Создал целую переменную state. Её значения:
0: PlayerIdleUp
1: PlayerIdleDown
4: PlayerUp
5: PlayerDown

То есть в соответствии с enum:
Код
    private enum PlayerState
       {
           IdleUp, IdleDown, IdleRight, IdleLeft,
           MoveUp, MoveDown, MoveRight, MoveLeft
       }


На остальные вопросы я потом отвечу. Помогите мне сначала понять, что не так делаю сейчас.

Вы говорите:
Цитата seaman ()
Следовательно пока не закончится Idle - Move не запустится. А у Idle нет анимации.

А почему же тогда после запуска игры, нажатия кнопки W - анимация PlayerIdleUp переходит в анимацию PlayerUp? Если нажать вниз, то будет переход на анимацию движения PlayerDown, но с задержкой. Как же нет Idle если есть PlayerIdleUp?


Сообщение отредактировал 8Observer8 - Понедельник, 13 Июля 2015, 09:53
8Observer8Дата: Воскресенье, 12 Июля 2015, 23:51 | Сообщение # 578 | Тема: Анимация в 2D срабатывает не сразу после нажатия клавиши
заслуженный участник
Сейчас нет на сайте
Привет,

Сделал небольшой пример, чтобы показать проблему: скачать

Проблема: анимация в 2D срабатывает не сразу после нажатия клавиши

Скрипт:


Добавлено (12 июля 2015, 23:51)
---------------------------------------------
Получается, что если двигаться вверх и вниз (W и S), то перемещение срабатывает быстрее, поэтому танк, к примеру, начинает ехать задом.

Добавил перемещение:


Сообщение отредактировал 8Observer8 - Воскресенье, 12 Июля 2015, 23:52
8Observer8Дата: Суббота, 04 Июля 2015, 16:50 | Сообщение # 579 | Тема: Минимум для запуска Unity приложения на эмуляторе Android
заслуженный участник
Сейчас нет на сайте
Поставил Andy. При запуске выскакивает ошибка после которой Andy завершается:


С BlueStacks работает нормально. Для установки apk нужно запусить BlueStacks -> два раза кликнуть по .apk. Приложение появляется среди приложений BlueStacks.

BlueStacks, как мне показалось, скачал игры из интернета. Я, наверное, просмотрел и можно было галочку убрать? Весит теперь папка с установленным BlueStacks 2 ГБайта.

Безопасно ли доверять ему свою почту и пароль?
8Observer8Дата: Суббота, 04 Июля 2015, 14:09 | Сообщение # 580 | Тема: Минимум для запуска Unity приложения на эмуляторе Android
заслуженный участник
Сейчас нет на сайте
Цитата MANMANA ()
А у тебя вопрос в нехватке дискового пространства?

Ага. На ноуте каждые 100 МБайт на счету smile

Я поставил API 10 (галочки оставил, как в первом сообщении). Поставил JDK8. В Unity открыл: в меню "Edit" -> "Preferences..." -> "External Tools". Выставил значения:
Android SDK Location: C:\Program Files\Android\android-sdk-windows
JDK Location: C:\Program Files\Java\jdk1.8.0_25

Открыл в меню "File" -> "Build Settings..." -> выбрал "Android" -> нажал кнопку "Player Settings...". Выставил значения:
Company Name: EIA
Product Name: SquareSnake
Bundle Identifier: com.EIA.SquareSnake

Заметил, что в поле "Minimum API Level" установлено значение "Android 2.3.1 'Ginderbread' (API level 9)". У меня установлен "Android 2.3.3 (API 10)"

Нажимаю кнопку "Build". Выскакивает сообщение:


Попробую поставить API 21, но выберу, то что я ставил с API 10:

Добавлено (04 июля 2015, 14:09)
---------------------------------------------
Установил API 21. Собрал приложение в файл с именем SquareSnake.apk

Открыл "AVD Manager". Создал виртуальное устройство с параметрами:



Запустил эмулятор. Дождался, когда загрузится. На всякий случай, сразу снял блокировку клавиатуры в эмуляторе.

Скопировал файл SquareSnake.apk в каталог: "C:\Program Files\Android\android-sdk-windows\platform-tools"

Открыл cmd. Перешёл в каталог "platform-tools". Набрал команду: adb install SquareSnake.apk

Установилось успешно, но меня смущает строка: rm failed for -f, Read-only file system


Запускаю приложение в эмуляторе. Выдаёт ошибку, что устройство не поддерживает приложение:

Добавлено (04 июля 2015, 14:09)
---------------------------------------------

Цитата Frosten ()
BlueStacks - лучший эмулятор для андроида.

Спасибо! Попробую BlueStacks.


Сообщение отредактировал 8Observer8 - Суббота, 04 Июля 2015, 13:33
Форум игроделов » Записи участника » 8Observer8 [730]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг