Это нужно будет искать туториалы по тем программам для рисования. Я специализируюсь на скриптинге на Unity5. Сейчас нет времени учиться рисовать. Наверное, сейчас лучше всего найти богатый набор спрайтов и тайлов для платформера.
Пока потренируюсь на Марио. Правда, Марио не может так сползать по стенке. Для него спрайт такой нужен. Хотя в Марио есть примерный спрайт, как он сползает по флагу. Есть идея сделать вместо Марио такого человечка из первого сообщения. Решил. Я смешаю спрайты. Возьму врагов из Марио, а вместо двери (конца уровня) будет замок.
Сложно научиться рисовать контент в таком же стиле, чтобы сильно не контрастировало? Врага, например. Это долго? Я ничего подобного никогда не рисовал. Конечно, врага можно в форме круга нарисовать..., но хочется более схожего по стилю. Я бы с радостью перерисовал бы спрайты и тайлы, если бы умел, чтобы не было нарушения прав. Хотя это не в коммерческих целях, поэтому, наваерное, нарушения нет. Поэтому можно дополнить чем-нибудь ещё.
Сообщение отредактировал 8Observer8 - Вторник, 04 Августа 2015, 18:08
Я прикрепил все спрайты и тайлы картинками в первом сообщении. Хорошо бы дверь и врага. Я бы смог сделать один уровень, где нужно взять цветок (чтобы вооружиться), убить врага и зайти в дверь. Конечно, ещё бы надпись "Вы проиграли" и "Вы выиграли". Всё в таком же стиле рисование. Где можно такое нарисовать?
Сообщение отредактировал 8Observer8 - Вторник, 04 Августа 2015, 17:51
Я хочу сделать небольшую 2D игру в жанре платформер для портфолио. Будет несколько уровней. Если у кого-нибудь есть желание дополнить эти спрайты и тайлы (всё под сполерами ниже) в таком же стиле, то поделитесь. А может быть это из какой-то игры?
Тут все спрайты и тайлы (тайлов всего два: стена и пол):
Это 2D игра? В Unity удобные инструменты для создания 2D и 3D игр. Низкий порог вхождения в скриптинг. В общем, ищите туториалы для начинающих по Unity5.
Он позволяет собирать под 22 платформы, в том числе и для браузера, то есть HTML5/WebGL:
iOS, Android, Windows Phone 8, BlackBerry 10, Tizen, Windows, Windows Store Apps, Mac, Linux/Steam OS, Web Player, WebGL, PlayStation 3, PlayStation 4, PlayStation Vita, Xbox One, Xbox 360, Wii U, Android TV, Samsung SMART TV, Oculus Rift, Gear VR, Windows Hololens
Сообщение отредактировал 8Observer8 - Вторник, 04 Августа 2015, 13:23
Я был замучен C++ и OpenGL (GLSL), BGE и Python и почти добит UE4 и Blueprint (и C++). Обесиленный я выбрался на островок сообщества C# и Unity. Они вселили в меня надежду и я теперь учусь у них добывать еду.
Сообщение отредактировал 8Observer8 - Среда, 29 Июля 2015, 14:58
Человек написал универсальный скрипт. Я решил сначала научиться его использовать, опираясь на описание и пример из видео, а потом разобраться в каждой строчке кода
Отмечу, что в Blender v2.73 есть две кнопки: "Multitexture" и "GLSL", а в v2.69 (и более ранних) есть ещё "Singletexture", которая и используется в видео. Пока решил поработать в v2.69
Если скачать и запустить пример под видео выше, то в v2.73 вместо персонажа будет серый квадрат, в v2.69 запускается нормально
Я сделал всё как в видео в Blender v2.69. Добавил два скрипна, которые идут в комплекте: Player.py и Sprites.py. На экране появляется персонаж, но он не двигается, в консоль выводится ошибка:
Цитата
Python script error - object 'Player', controller 'Python': Traceback (most recent call last): File "\Player.py", line 117, in PlayerMain File "\Player.py", line 63, in PlayerUpdate KeyError: 'value = gameOb[key]: KX_GameObject, key "friction" does not exist'
В моём архиве: .blend, Player.py и Sprites.py: https://yadi.sk/d/EM45YxAaevCLx
Помогите, пожалуйста, понять и исправить ошибку
Добавлено (27 февраля 2015, 13:58) --------------------------------------------- В общем, ситуация такая я добавил все свойства, как в оригинальном blend файле
У персонажа работает анимация ходьбы вправо, но когда нажимаешь стрелку влево, то он исчезает: вот мой blend файл
Добавлено (18 марта 2015, 15:58) --------------------------------------------- На этом видео этап, на которам я сейчас
Добавлено (21 июля 2015, 18:46) --------------------------------------------- Я перешёл на Unity. Если буду делать танчики в 3D, то Blender мне, конечно, пригодится, но как инструмент для 3D моделирования.
Tanks_v1.3.0: - sound of engine - sound of gas - two tanks: enemy and player - walls - moving of enemy - shooting of enemy - moving of player - player don't shoot - building for Windows - building for Browsers
Добавлено (28 июля 2015, 15:41) --------------------------------------------- Наконец-то я сдвинулся с мёртвой точки на пути к цели: создание Танчиков в 3D.
Дополнение к ссылке выше. в мануале все подробно расписано
Нужно было дать ссылку на перевод статьи. Хотя возможно автор темы сам догадался переключить на русский, но возможно он просто открыл, увидел, что документация на английском и закрыл. Но скорее всего, он уже много работает с документацией раз в первом сообщении такой красивый кадр из игры и сам уже всё понял. Короче, не обращайте внимание на моё сообщение
P.S. Я думал, что линейная алгебра (и её матрицы) актуальны только для OpenGL и DirectX, и что для движков она неактуальна. Теперь вижу, что это универсальная штука, судя по статье из хабра, что выше приводили.
Мне сегодня захотелось научиться создавать простое клиент\серверное приложение в Unity. Прорабатываю эту статью. Определённо это то что нужно для вас, чтобы начать создавать клиента.
Сообщение отредактировал 8Observer8 - Воскресенье, 26 Июля 2015, 09:56
сервер на основе расчетов дает в удобном виде координаты игроков
Сервер, скорее всего, написан на C++ и работает на ноуте. Можно подключить к ноуту USB модем и организовать клиент\серверное взаимодействие по TCP. В роли клиента, например, приложение на Unity. Я такие вещи ещё не делал. Я бы сделал небольшое приложение - мини-сервер, которое заменяло бы реальный сервер на время разработки клиента. Мини-сервер бы слал координаты нескольких объектов (изменяя их с определённым шагом), а клиент на Unity задавал бы кубикам принятые координаты.
Сообщение отредактировал 8Observer8 - Пятница, 24 Июля 2015, 01:13
Есть общий документ для программистов команды, куда каждую неделю, напротив своего имени, нужно вписать, что сделал и текущий процесс. Я видел, что редактор карт уже делался до меня и продолжает развиваться. Скорее всего, от меня ждут редактор: насколько я его вижу и насколько смогу реализовать. Потом посвятят в основную разработку, в случае если увидят, что он меня есть какая-то отдача. Может я какие-то идеи предложу. Либо они хотят увидеть, что от меня никакого толка и просто со временем сам отвалюсь. Там система оплаты интересная. Сначала у меня 0%, а если сделаю задание, то будет 0.15% от ежемесячной прибыли от продаж, но в по контракту его могут расторгнуть в любой момент без объяснения причин. Лично мне опыт создания редактора будет не лишним. Наверняка мне это пригодится в будущем. Сделаю, отошлю, а если не ответят, то буду искать другую компанию в своём городе, удалённо или перееду в другой город. Мне очень нравится движок. Хочу изучать его с разных сторон.
Надеюсь, на подсказки, что я так или не так делаю.
Пока что я сделал окно, которое открывается из меню Window/Card Editor:
В консоль выдаётся предупреждение. Может кто-нибудь сталкивался. Я пробовал искать, но пока не понял, что это: Unable to find style 'ThirdFieldBox' in skin 'LightSkin' Repaint UnityEngine.GUIStyle:op_Implicit(String) CardEditor:OnGUI() (at Assets/Scriptes/CardEditor.cs:43) UnityEditor.DockArea:OnGUI()
Скрипт:
Код
using UnityEngine; using UnityEditor; using TMPro;
public class CardEditor : EditorWindow { public GameObject cardPrefab; private GameObject card;
// Add menu named "Card Editor" to the Window menu [MenuItem("Window/Card Editor")] static void Init() { // Get existing open window or if none, make a new one: CardEditor window = (CardEditor)EditorWindow.GetWindow(typeof(CardEditor)); window.Show(); }
void OnGUI() { GUILayout.BeginHorizontal("NameBox"); GUILayout.Label("Name:"); name = GUILayout.TextField(name, maxLenth); GUILayout.EndHorizontal();
if (GUILayout.Button("Add Card")) { card = Instantiate(cardPrefab); Component[] allChildren = card.GetComponentsInChildren(typeof(TextMeshPro)); if (allChildren.Length != 4) { Debug.LogError("Amount of components doesn't equal 4"); return; } else { (allChildren[0] as TextMeshPro).text = name; (allChildren[1] as TextMeshPro).text = firstField; (allChildren[2] as TextMeshPro).text = secondField; (allChildren[3] as TextMeshPro).text = thirdField; } } } }
Я так понял, что могу использовать только старый GUI.
Критикуйте, если что не так. Правда, пока особо нечего критиковать. Ну, а вдруг? Это просто черновик. Я пока не знаю, как сделать, чтобы поля ввода были одинаковой ширины и как добавить выбор текстуры. Поля ввода почему-то растягиваются влево при вводе текста.
Как мне cохранять объекты в папку Prefab по нажатию кнопки? Можно было бы, наверное, добавить галочку "Сразу в Prefab"...
Будем считать, что от игроков прилетают их координаты по TCP.
Как я себе это представляю. Каждый игрок прикрепляет к себе датчик. Имеется устройство, которое вставляется в USB порт ноутбука, принимает данные от игроков, передаёт информацию на виртуальный COM порт. Программа-сервер считывает данные с виртуального COM порта. К этому серверу могут подсоединяться клиенты по TCP. Похоже на правду? Как вы собираетесь передавать данные на Android? Какие устройства собираетесь применять для передачи и приёма данных? Или это коммерческая тайна?
3. Отрисовка в одной сцене одновременно порядка 10к параллелепипедов.
Не надо одновременно, а только те объекты, которые попадают в камеру и не закрыты другими объектами. Нужно использовать Occlusion Culling. До Unity5 эта функция входила в платную Pro версию. Можно посмотреть на видео, как это использовать.
youmych, правильно ли я понял, что у реальных пейнтболистов будут датчики, которые будут посылать информацию на PC, чтобы отобразить положение игроков на карте?
Сообщение отредактировал 8Observer8 - Четверг, 23 Июля 2015, 16:22
Если это и так, то это вопрос ближайшего времени. Мне почему-то кажется, что команда и сообщество Unity сильнее в конкуренции, чем Blend4Web.
Допустим автор хочет, чтобы его приложение работало под Windows и браузер. Если он выберет BGE, то ему придётся изучать программирование на визуальных блоках (скорее всего, и Python, который расширяет возможности и упрощает разработку на блоках). Это для Windows. А для браузера ему придёться изучать API Blend4Web и JavaScript. А скорее всего, автор захочет, чтобы его приложение запускалось на Android и\или IOS, что BGE, по-моему, не умеет. И того мы имеет, что нужно изучать: API BGE, программирование на logic bricks, Python, API Blend4Web, JavaScript. Плюс нужно будет параллельно разрабатывать две версии проекта: для PC и для браузера.
А если у него Unity, то ему проще всего освоить C#, так как он профессионально программирует на С/С++ и ему будет просто освоить C#. Ему нужно будет изучать только API Unity и C#. У него будет одна версия проекта, которую от сможет собирать под любую платформу в несколько кликов.
ЦитатаViktor-Kor ()
Разработчики в первую очередь предлагают его как решение для 3D визуализации на сайте.
Зачем автору 3D визуализация на сайте? Тем более такая. Скорее всего, ему нужно иметь приложение на ноуте или мобильном, где он сможет отслеживать перемещение пейнтболистов, вести запись, историю, чтобы иметь возможность анализировать ошибки.
Наверное, мы тут много нафантазировали, по поводу того, что хочет автор
Сообщение отредактировал 8Observer8 - Среда, 22 Июля 2015, 14:59