Jump to content

Suggest an idea for built-in C++ or C# samples for beginners


photo

Recommended Posts

Posted

Dear UNIGINE Users,

We all know how challenging it can be to begin developing in a completely new environment. Therefore, we would like to ask all current users—both experts and newcomers—what types of samples you were seeking when you started using the UNIGINE Engine. What information did you find lacking in the documentation, and what specific details were difficult to locate?

We are offering very dedicated old-style ones within SDK (no Component System):

And updated versions (with Component System):

Are there any additional topics you would like to see addressed in the sample or updated documentation?

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Posted

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

  • Like 2
Posted

I'm a newcomer to Unigine.  I think the documentation is very detailed and thorough.  The documentation and examples are great IMO.

One example that I think is missing is an example demonstrating world loading from a game event.  Maybe a sample with a player actor and an area trigger where entering the trigger loads a new world. 

Another example that I think would be useful is an example of game main menu including a button in the menu that loads a world.

An example of render to texture would be nice.  Such as a scene with a surface rendering a camera view like a security camera or mirror.

 

  • Like 5
Posted

Мне тоже не хватало персонажа от третьего лица. И наверно, было бы не плохо сделать одинаковые примеры и в С++ и С#, а то что-то там есть, а что-то там. Конечно, человеку знающему наверно не составит труда перевести туда сюда, но знающий и без простых примеров может обойтись )

И еще, было бы не плохо сделать некоторое количество стандартных шаблонов игр, типа как стартовая сцена на C#. Тоже на обеих языках. Думаю тут в чем плюс. Опять же знающие люди сами могут делать что им надо, а совсем новичкам будет намного удобнее начинать что-либо делать, взять заготовку и допиливать для себя.

  • Like 5
  • 2 weeks later...
Posted

Some samples of procedural generation (meshes, etc) would be nice.

Posted

 Здравствуйте!

При знакомстве с движком очень понравился раздел "Быстрый старт для программистов" и хотя я новичок и в геймдеве, и в C++, мне все же удалось осилить этот раздел документации и собрать проект, но было бы неплохо, если бы в этом разделе уделили большее внимание к игровому интерфейсу, таким моментам как: главное меню игры, меню настроек, хотя бы с минимальным набором функций, например сохранение\загрузка, или рейтинг лучших игроков (по времени), пауза игры и т.п. и вариант с добавлением диалоговых окон меню прямо в сцену выглядит не очень (хотя там конечно есть сноска, "альтернативный вариант смотрите в разделе", но когда ты новичок, сложно адаптировать другой вариант, если он не в контексте данного примера)

Документация отличная, большое спасибо!!!

 

 

  • 1 month later...
Posted

О-о-о, этого есть у меня! Этого я уже много раз видел! Чего бы люди хотели видеть? Точнее новички? Очень просто - свой уровень. Для примера возьмем многострадальную Юньку с её ассетстором. Казалось бы, тысячи готовых решений, во временном разрезе есть буквально всё (кстати на заметку, ассеты которые разработчики не поддерживают, юниты удаляют. А там очень и очень толковые, и объемные проекты, начиная от банального FPS в несколько строк, до масштабных шаблонов по типу Паркан. Только их нет в открытом доступе, потому что их удалили, хотя в БЗ они есть), однако прорыва в игрострое не происходит. Хоть сто тысяч ассетов купи, игру не сделать даже из одного. Возникает вопрос - почему? А всё просто - серьезные проекты делают серьезные люди, с их серьезным кодом. Понять почему человек сделал именно так как сделал, часто бывает решительно не возможно. Сюда добавляется бардак из-за развития ассета. Сюда же идет не понимание программиста инструментов кода, когда он создает структуры не потому что они необходимы, а потому что его так научили. В итоге получается что даже если спустя месяц изучения кода таки понял что хотел сделать создатель ассета, даже если разобраться в спагетти кода, выкидываешь его в помойку из-за того что он просто не подлежит модификации, ибо придется переделывать целые логические разделы, а может даже и всё. Серьезно, я разбирал NWH Vehicle Physics 1 в котором автор перебрасывал переменную через ПЯТЬ скриптов, при том что он заново написал весьма неплохую, но долгую физику автомобиля. Кто на это пойдет? Кто вообще сможет понять что хотел человек? Только такой же специалист как и он. В итоге что мы имеем? Вот новичок который умеет только if else что уже немало, но с огромным желанием делать ну пусть игры. Вот он покупает NWH Vehicle Physics 2, и вот он хочет скажем добавить сцепление КПП. Лезет в код, а там... Какие-то заклинания на латыни и иногда проскакивает ему знакомые if else. Что он в следующий момент сделает? Правильно - закроет всё это нафиг пока из преисподней не вылез демон и начнет кодить сам от греха подальше. Тоже и тут. Не важно что вы будете делать, потому что важно всё. Главное делать так, чтобы то что вы сделали, смог понять человек который умеет только в основу - if else. А это значит, надо самому опуститься на его уровень. Код должен содержать ничего кроме функций и ифов. Пример должен быть максимум в десять строк и ключевое тут - пример должен быть. Примеры для всего - человек не знает вашу задумку по использованию инструментария, вам надо её продемонстрировать. Это не просто. Это весьма объемный труд.

Вам не нужно будет спрашивать других что им надо, если вы для себя возьмете за основы несколько правил:

1) Теория одного клика. Любой функционал должен стремиться к одному клику. Надо создать объект? Кликнул на него, перетащил, объект работает. Вызвал меню, выбрал кликом объект - объект работает. Надо изменить свойства объекта? Выбрал объект - увидел свойства, выбрал свойство - внес изменения.

2) Как только у вас возникает мысль что "это не важно", "можно потом сделать", значит именно это важно и делать надо именно сейчас. Это прямое следствие профдеформации когда уровень специалиста возрос настолько, что он начинает игнорировать кажущиеся ему примитивные вещи в угоду прогрессу. Таким образом когда на его труды смотрит сторонний наблюдатель, который не знает что эти вещи оказывается примитивные и что они вообще есть, но так для него необходимы, то видит рваный, слабо функциональный проект, в то время как автор в этом видит законченный шедевр. Обычно в таких случаях сторонний наблюдатель говорит автору что бы он сам и пользовался своим шедевром.

3) Всегда основы лежат в базовых ощущениях реального человека, ну или того, что имитируется. Движок для шутера? Что базовое? Контроллер от первого лица, от второго, от третьего. Это база. Затем ИИ, затем дизайн уровня. Движок для гонок? Что базовое? Автомобиль. Космический симулятор? Значит космический корабль. Движок для красивых пейзажей? Значит база это создание красивого пейзажа. И т.д. Ну а если всё вместе, то примеры которые дают возможность изучить весь функционал движка. Берем жанры, их не так то и много, и в зависимости от популярности делаем примеры основного функционала. На if ese, один скрипт, на один объект (очень толковый пример с ассет стора "Easy Weapons". Это база для FPS, причем практически для любого движка и уровня разработчика).

4) Ну и для кого это всё. Пожалуй самое важное - кто вообще этим будет пользоваться. Уровень людей для которых создается продукт. Основа основ. Всегда подстраиваются под самых неопытных, не важно что это - токарный станок, швейная машинка, кузнечный молот или 3D движок. Если человек только что в первый раз в жизни подошел к токарному станку, то пока производитель не расскажет как пользоваться им же произведенным станком, пользователь ничего не сможет сделать. Как уже должно быть понятно, всегда начинают с "Hello world" (к слову, я не перестану давать в пример юньку, ибо там действительно постигли дзен в простоте и функционале - там был Standart asset. Прекраснейший набор стартовых ассетов который перекрывал большую часть потребностей новичков. Он становился настолько популярным, что в самом магазине начали появляться ассеты которые вышли из него. Юнитам эта популярность почему-то активно не нравилось, поддерживать его перестали, так что теперь его можно скачать только из самого движка и с просторов интернета, а как таковых базовых ассетов больше нет. Можно за основу взять его, он до сих пор актуален и есть даже фан группа на github - настолько удачным он получился. Правда код там далек от простоты, но вылизан до идеала).

Posted (edited)

I am interested in tutorials about roads & railroads, together with vehicles that can use these roads & railroads.

Roads & railroads are used in many games where it is possible to move characters and vehicles – from simple animals walking along the dirt path and dwarves moving the cart inside the ore mines to some more complex scenes where wheeled vehicles and trains move around the town.

Thank you.

Edited by Gordon.Shumway
  • 2 weeks later...
Posted

1. В раздел основного цикла движка было бы полезно добавить упоминание про методы OnReady, OnEnable и OnDisable, т.к. сейчас их нужно целенаправленно искать отдельно, а при переходе с Unity ищешь местный аналог Awake и сразу идешь смотреть цикл, где его нет. В разделе перехода с Unity на Unigine этот момент тоже опускается. В итогде пришлось самому тестировать последовательность  вызовов, чтобы понять их работу. https://developer.unigine.com/ru/docs/2.17/code/fundamentals/execution_sequence/?rlang=cpp&autotranslate=ru

2. Хотелось бы практических примеров верстки сложных интерфейсов с высокой вложенностью и адаптивностью под изменяющееся разрешение экрана в контексте готового приложения, а не обособлено от трехмерной части.

×
×
  • Create New...