1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
1

o3de

13.02.2022, 14:08. Показов 2040. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день

Заинтересовался движком o3de, "ищу единомышленников" У кого есть опыт (хоть какой-то) - может и получится интересный/полезный разговор

Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2022, 14:08
Ответы с готовыми решениями:

O3DE или Godot Engine?
Мне предстоит разрабатывать систему 3D-визуализации, отображающую мир (открытое пространство с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
3249 / 1470 / 468
Регистрация: 01.06.2021
Сообщений: 4,959
15.02.2022, 16:40 2
Igor3D, Igor3D, этот движок лучше Godot?

Я вот знаю, что самый лучший 3D движок это Unreal Engine, поддерживающий скрипты на С++. Но он очень требователен к железу и я с ним не работал.
На втором месте я бы поставил Unity. Сам на нем делал игры, как 2D, так и 3D. Очень прост, программирование на C#.
Но перечисленные движки проприетарные.
Недавно начал изучать Godot - бесплатный и с открытым исходным кодом. Движок очень легкий, не требует установки, занимает очень мало места на диске. Программирование на собственном сверхвысокоуровневом языке, напоминающем Python. Позволяет создавать как 3D, так и 2D игры.
0
3249 / 1470 / 468
Регистрация: 01.06.2021
Сообщений: 4,959
16.02.2022, 02:06 3
Посмотрел я немного о движке o3de и, как понял, этот движок является продолжение Amazon Lumberyard, который был сделан на основе Cry Engine. Наверное поэтому разрабы рекламируют его как движок ААА класса . Но мало уроков для него, а документация отстой. Скрипты можно писать на языке Lua (никогда не писал на этом языке), либо использовать редактор узлов (что-то наподобие Blueprints от UE). Интересно, что поддерживает DirectX 12, Vulkan и Metal graphics API. Для сравнения, Godot поддерживает только Open GL 2 и 3, а Vulkan обещают внедрить только в 4 версии.
Igor3D, а вообще не бывает плохих или хороших движков. Пробуйте и если понравится, то работайте на нем.

Еще, движок очень требователен к железу (напоминает Cry Engine в этом плане):
Вот, минимальные (не рекомендуемые, а именно минимальные) требования o3de:
O3DE requires Windows 10 64-bit (versions 1809, 10.0.17763 or later)
2.5 GHz Intel or AMD processor with 4 or more physical cores
8 GB RAM
DirectX 12, Vulkan-compatible, or Metal-compatible video card with 2 GB VRAM minimum
NVIDIA GeForce GTX 1060 with driver version 471.11 or later
AMD Radeon Pro 560 or higher with latest drivers
Intel HD 630 or higher with latest drivers
Shader Model 6.2 (or Shader Model 6.3 to use raytracing features)
4 GB VRAM recommended
40 to 100 GB of free disk space
1366 x 768 px screen resolution
Godot, Unity не такие обжоры.

Добавлено через 31 минуту
Установил o3de, чтобы потестить, но при создании проекта программа сказала, что нужно установить Microsoft Visual Studio и без него она не будет работать. После этого просто снес движок. От Amazon другого и не следовало ожидать, чтобы не дать человеку выбрать IDE.
0
Просто Икс
685 / 227 / 46
Регистрация: 15.12.2009
Сообщений: 668
16.02.2022, 03:57 4
O3D на GitHub
Из исходников вполне можно собрать под любую IDE, при желании.
Насколько помню, движок открыт полностью, поэтому изгаляться над ним можно сколько, и как, душе угодно
Да и лицензия позволяет.
0
1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
16.02.2022, 07:13  [ТС] 5
Цитата Сообщение от Royal_X Посмотреть сообщение
Igor3D, а вообще не бывает плохих или хороших движков. Пробуйте и если понравится, то работайте на нем.
Понимаю, но у меня нет планов создать какую-то игру. А хотелось бы использовать движок "как либу" для своих целей.

Цитата Сообщение от Mc X Посмотреть сообщение
Насколько помню, движок открыт полностью, поэтому изгаляться над ним можно сколько, и как, душе угодно
Вот "пытаюсь", но пока наоборот, движок изгаляется надо мной
0
3249 / 1470 / 468
Регистрация: 01.06.2021
Сообщений: 4,959
16.02.2022, 10:15 6
Mc X, собрать можно под другую IDE, но не уверен, что движок потом будет нормально функционировать, если он был разработан, чтобы работать в связке именно с MS Visual Studio.
0
Модератор
Эксперт Java
2558 / 1094 / 375
Регистрация: 11.08.2017
Сообщений: 3,331
16.02.2022, 10:29 7
Цитата Сообщение от Royal_X Посмотреть сообщение
чтобы не дать человеку выбрать IDE
Не надо путать IDE и компилятор грубо говоря, даже тот же Unreal требуют только MSVC без студийной IDE, можно ставить только build tools, что размерами куда меньше студии с редактором, а для редактирования кода использовать свою любимую IDE.
Цитата Сообщение от Royal_X Посмотреть сообщение
Unreal Engine, поддерживающий скрипты на С++
Там не скрипты а полноценное программирование, можно дергать любые части движка и используемые им библиотеки, расширять функционал движка, а не только писать игровую логику.
Цитата Сообщение от Royal_X Посмотреть сообщение
либо использовать редактор узлов (что-то наподобие Blueprints от UE)
Это больше похоже на Bolt от Unity
0
3249 / 1470 / 468
Регистрация: 01.06.2021
Сообщений: 4,959
16.02.2022, 17:20 8
Цитата Сообщение от alecss131 Посмотреть сообщение
Не надо путать IDE и компилятор
Так я про IDE и писал. Как только установил и попробовал создать новый проект, o3de сообщила, что отказывается работать без MS Visual Studio. А вот какой компилятор нужен этой прогуле - об этом я не знаю.
А вообще, когда речь идет об IDE, то под ней понимают не только редактор, но также компилятор, отладчик, средства автосборки и прочие присобаченные вещи. Ведь, заметьте, o3de просит MS Visual Studio - а это не что иное как IDE, а не просто редактор (как вот Visual Studio Code).
Цитата Сообщение от alecss131 Посмотреть сообщение
Это больше похоже на Bolt от Unity
Ну, возможно, я просто не знаток в визуальном программировании. Зато в инете видел очень много смешных мемов на тему. Предпочитаю обычное программирование. Тем более, для Unity или UE достаточно знать основы C#, C++, чтобы создать норм игру. Гораздо важнее разбираться в API.
0
1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
18.02.2022, 09:19  [ТС] 9

Не по теме:

Почему-то я не получил уведомление форума что в этой теме есть ответы, сейчас просто на всякий случай зашел

Ну первые шаги очевидны, "а тут одна дорога". Скачал проект и "собрал" (ненавижу это слово). Не без приключений, видно что на моей платформе (osx. clang Apple LLVM, Xcode) никогда не проверялось. Ну ладно, подробности "плясок с бубносм" опускаем.

В проекте сотни target'ов. Нашел нужный (EMotionFX). откомпилил. Конечно он потянул за собой десятка три core и.т.р. Ладно, скомпилилось. Нашел тамошнюю систему тестов и прогнал полученную либу. Тесты проходят из командной строки. ок. Все эти редакторы, рендеры и.т.п. мне абсолютно не нужны, интересует только анимация char'ов

Ну и дальше что? (первое самостоятельное решение). Как мне сделать из движка CA либу?
0
Модератор
Эксперт Java
2558 / 1094 / 375
Регистрация: 11.08.2017
Сообщений: 3,331
18.02.2022, 10:19 10
Цитата Сообщение от Igor3D Посмотреть сообщение
Как мне сделать из движка CA либу?
Что-то мне подсказывает что лицензия движка такому не рада будет, там и так прилично ограничений описанных в faq
0
Просто Икс
685 / 227 / 46
Регистрация: 15.12.2009
Сообщений: 668
19.02.2022, 01:10 11
Цитата Сообщение от alecss131 Посмотреть сообщение
Что-то мне подсказывает...
OPEN 3D ENGINE LICENSING
The default license for Open 3D Engine is the Apache License, Version 2.0
(see LICENSE_APACHE2.TXT); you may elect at your option to use the Open 3D
Engine under the MIT License (see LICENSE_MIT.TXT). Contributions must be
made under both licenses.
Лицензия Apache

Добавлено через 4 часа 43 минуты
Ну и...
Цитата Сообщение от Mc X Посмотреть сообщение
MIT License
Лицензия MIT

Если кто-то хочет внести свой вклад, то должен свой код под двойной лицензией выпустить.
Под Apache, можно линковать, как библиотеку и указывать, что используется часть из движка такая-то + лицензию прикладывать
Под MIT можно переделывать и даже не упоминать, но хорошим тоном будет указать, что вдохновлялся и частично использовал.
В зависимости от изменений конечно, иначе как с Apache, сделать dll-ку и лицензию приложить. (это тоже к хорошему тону)
Конечный продукт может быть под любой лицензией, быть платным и бесплатным и в целом никаких ограничений.
0
1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
19.02.2022, 11:53  [ТС] 12
Ну хорошо, а как же все-таки использовать движок в своих целях? Часто приходится слышать типа
Ну надо просто посмотреть как там сделано...
Ну или (с видом знатока)
Лучше скопировать только идеи, а реализовать самому..
Такие соображения "вроде бы логичны" (здравый смысл и все такое), но на деле наивны и недостижимы. Начать "смотреть" можно прямо сейчас - создайте пустой проект, дропните туда исходники o3de и лазайте по классам сколько душе угодно (компилить не требуется). Через день (два, три) придете к выводу что это "лупание глазками" немного дает. Да, что-то понятно, вот класс "Motion" (читай - mocap), вот MotionInstance, Actor и.т.п. Но "позаимствовать идеи" точно не удастся, неясно даже делает ли движок что мне нужно (mocap transitions).

И придется переходить к обычному шкурному подходу
я не знаю как он (либа) это делает, но я могу заставить его это сделать. В конце-концов, важен достигнутый рез-т, а не понимание
Да, но тогда надо заставить код движка работать...
0
Просто Икс
685 / 227 / 46
Регистрация: 15.12.2009
Сообщений: 668
19.02.2022, 23:08 13
Тебя снова в болтологию понесло... но ладно...
Далее "ты" используется в общем, а не непосредственно о тебе.

Цитата Сообщение от Igor3D Посмотреть сообщение
а как же все-таки использовать движок в своих целях?
Достаточно странный вопрос, если ты не знаешь зачем тебе что-то, то тогда зачем тебе в это что-то лезть.
Да, безусловно, возможен вариант, что тебе интересно в исследовательских целях т. е. конкретной цели "зачем" нет,
но тогда в этом и суть, чтобы посмотреть, поизучать и узнать, что там есть и возможно узнать что-то новое для себя.
Это что-то вроде археологии, когда у тебя есть участок земли и предположение, что теоретически в этом месте могут быть
крайне интересные находки, но ты заведомо не знаешь какие именно и верны ли твои предположения

Цитата Сообщение от Igor3D Посмотреть сообщение
Через день (два, три) придете к выводу что это "лупание глазками" немного дает.
А ты не "лупай" глазками, включи воображение, работай головой и ручками, само никогда и ничего не придет
Цитата Сообщение от Igor3D Посмотреть сообщение
но на деле наивны и недостижимы
False. В этом нет ничего наивного и по большому счету это базовые навыки которые должны быть у программиста.
Сначала мы учимся читать и только потом писать. Если код писал не "быдлокодер", то в конечном итоге ты начинаешь видеть "красоту кода"
и получаешь эстетическое удовольствие от понимания и того, как он открывается для тебя шаг за шагом, слой за слоем.
Цитата Сообщение от Igor3D Посмотреть сообщение
Начать "смотреть" можно прямо сейчас
Нельзя. Если ты не в состоянии собрать то, что изучаешь, то ты нихрена не изучил и не понял.
Как ты собираешься проверять свои предположения и экспериментировать с кодом, если ты его даже собрать не в состоянии?
Нет. Это так не работает.

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

Думаю не надо говорить, что все начинать надо с документации (мануалы, API и т. д.)
Довольно нередко случается так, что ничего этого нет или она в ужасном состоянии,
но определенно, необходимо изучить все возможные варианты и даже ужасный первоисточник это первоисточник.
Поэтому желательно все это собрать вместе где-то у себя, чтобы было под рукой при необходимости.

Дальше, смотрим на структуру проекта (дерево каталогов) и разбираемся в том, что где лежит.
Бывает такое, что все свалено в кучу и лично мне, например, бывает удобнее рассортировать все самому по папкам.
Что-то типа doc, bin, lib, include, src с вложенными папками и т. д.
Если из проекта нас интересует какая-то определенная часть, то мы выделяем только ее и работаем непосредственно с ней.

Когда мы разобрались с этим, то в ход идет тяжелая артиллерия - Doxygen + Graphviz
Это довольно мощные инструменты, нередко восполняют отсутствие документации и дают графическое представление о структуре кода.
Иногда и банальным diff'ом можно получить неплохие результаты, чтобы например вычислить какие-то определенные куски кода.
В зависимости от задачи, которые отличаются в исходниках или наоборот совпадают.
Например, если у нас есть несколько версий исходников одной и той же либы

Что еще... безусловно работаем над скриптом сборки для CMake.
Именно в нем, а не создавая проект в IDE т.к. таким образом мы можем перегенерировать проект в любой момент.
Если приходится пересоздавать проект, то можно забыть что-то, а с CMake мы всегда видим, какие настройки делали.
Опять же, зачастую сборка опциональна, объявляются различные define и это позволяет ничего не забыть и экспериментировать с ними.
Если в проекте уже есть какие-то make-файлы, файлы студии или любой другой IDE, то незабываем и их изучать.

Это пожалуй основное из того, что предваряет сборку и помогает в дальнейшем изучении и проведении различных экспериментов
0
1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
20.02.2022, 08:26  [ТС] 14
Цитата Сообщение от Mc X Посмотреть сообщение
Достаточно странный вопрос, если ты не знаешь зачем тебе что-то,
Я прекрасно знаю чего хочу, это звучало в 2 других темах (с Вашим участием), да и здесь упомянуто. Ладно, еще пожуем

Я хочу просто "mocap transition". Пример: вот мой char "идет" (motion loop) и останавливается. Walk -> Idle. Переход. Это по сути все. Скромная и реальная задача.

Цитата Сообщение от Mc X Посмотреть сообщение
Тебя снова в болтологию понесло...
Туда несет явно не меня Что Вы хотели сказать в своем, довольно обширном, ответе? Что надо, мол, "изучать код"? Что надо глянуть доку, собрать либы если понадобится и.т.п. Кэп, ну это и так известно всем присутствующим

Хорошо, попробуем сформулировать иначе: какой первый практический шаг? Ну или какой "первый эксперимент"? Считаем что кодом уже налюбовались. Собирать весь движок мне очевидно не нужно, наоборот, интересует "по минимуму" чтобы использовать полученную либу. Также очевидно что движок требует (немалой) "инициализации", просто так дернуть чего-то явно не выйдет. Какие есть конкретные предложения?
0
Просто Икс
685 / 227 / 46
Регистрация: 15.12.2009
Сообщений: 668
20.02.2022, 08:53 15
Цитата Сообщение от Igor3D Посмотреть сообщение
Что Вы хотели сказать...
Что тебе голову надо лечить. Ничего больше
0
20.02.2022, 08:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru