Войти
ПрограммированиеФорумОбщее

Вышел NeoAxis Engine 2020.2 (59 стр)

Страницы: 158 59 60 61 62 Следующая »
#870
11:32, 7 апр. 2020

Vitorio
Спасибо! Воспроизвелось тут, может еще какие баги найдутся.


#871
11:40, 7 апр. 2020

Vitorio
Нужно выключить Deferred, Antialiasing поставить в FXAA или None. Тогда всё норм.
NeoAxis Engine Antialiasing | Вышел NeoAxis Engine 2020.2

#872
11:48, 7 апр. 2020

betauser
> может еще какие баги найдутся.
Держите :-D Он конечно не критичный, но режет глаз.
При старте приложения, пока оно не в фокусе, FPS заполнен рандомным значением. Затем выравнивается.
Изображение
И про захват мыши ранее писал.

Еще фичереквест.
Для полей с числовыми значениями не хватает кнопочек вверх/вниз для изменения значения с некоторым шагом мышкой, как сделано в 3ds max. Еще было бы идеально если при зажатии левой кнопкой мыши на поле ввода, можно было бы, водя мышкой, увеличивать и уменьшать значение.
NeoAxis:
Изображение
3dsmax (см. поля Priority и т.д.):
Изображение

*******************

>Нужно выключить Deferred
Что теряется при отключении этой опции, какие эффекты?

#873
12:13, 7 апр. 2020

Vitorio
> > Нужно выключить Deferred
> Что теряется при отключении этой опции, какие эффекты?
Декали, ну и отсутствие тормозов при множестве источников)

#874
12:46, 7 апр. 2020

betauser
Спасибо за ответы!)

Подскажите, возможна ли программная генерация мешей с коллайдерами из скрипта? Хочу попробовать генерить уровень на основе информации из текстового файла. Если это возможно, то на какое событие навешивать этот скрипт? Какие объекты необходимо предварительно создать на сцене?

#875
15:38, 7 апр. 2020

Vitorio
> Подскажите, возможна ли программная генерация мешей с коллайдерами из скрипта?
> Хочу попробовать генерить уровень на основе информации из текстового файла.
> Если это возможно, то на какое событие навешивать этот скрипт? Какие объекты
> необходимо предварительно создать на сцене?

Если основательно, лучше сделать типа объекта менеджера. Он бы создавал, очищал. Как сделан класс Component_Pathfinding. Есть кнопки в гуе редактора для обновления.
NeoAxis Engine Pathfinding | Вышел NeoAxis Engine 2020.2

В атрибутах указывается Component_Pathfinding_SettingsCell. В том классе создаются кнопки Build, Test.

  /// <summary>
  /// Navigation mesh pathfinding.
  /// </summary>
  [AddToResourcesWindow( @"Base\Game framework\Pathfinding", -9996 )]
  [EditorSettingsCell( typeof( Component_Pathfinding_SettingsCell ) )]
  public class Component_Pathfinding : Component_ObjectInSpace
  {

Как создавать объекты по ссылке. Сам меш генерировать можно внутри MeshInSpace или в сцене, не обязательно отдельным файлом.

#876
(Правка: 16:11) 15:57, 7 апр. 2020

>>Подскажите, возможна ли программная генерация мешей с коллайдерами из скрипта?
да есть

рекомендую посмотреть исходный код компонента Polygon Based Polyhedron
там даже сделано что можно точками mesh-а управлять

https://www.neoaxis.com/docs/html/Polygon_Based_Polyhedron.htm

вот мое видео о том как смотреть исх код:
https://www.youtube.com/watch?v=RJ8HjaB5Dow

>>Хочу попробовать генерить уровень на основе информации из текстового файла.
я бы не советовал с этого начинать, сначала попробуй просто объектов накидать и сделать сначала саму игру или тест, а потом "велосипед придумывать"

Вот тут посмотри я создал комнаты и стены итд  просто накидал в сцену
https://www.youtube.com/watch?v=TSI1vxSrJjw

Лучше просто создай каждого объекта по 1-ой штуке типа: стена, дверь, окно, дорога, сундук
и потом в коде генери клоннированием этих объектов, там метод есть .Clone(); и .SetPosition, .SetRotation ... Scale - и тоже самое будет.

Игра должна казаться нормальной, и не важно как она сделана - комбинированные съемки у тебя или еще что-то или жульничество не важно

Например ты хочешь сделать мокрый асфальт - ну можно создать класс 'капля' и потом 1000 листов кода написать и у тебя будет 0.1 кадр в секунду реальный дождь и небо и облака (volumetric  fog) , а можно сделать 2 текстуры сухой и мокрый и шейдер 'грошовый' ,а эффект тот же.
А может ты сделаешь эту огромную работу и поймешь, что хотел совсем другое, но уже поздно.

#877
17:17, 7 апр. 2020

betauser
>В атрибутах указывается Component_Pathfinding_SettingsCell. В том классе создаются кнопки Build, Test.
Спасибо! Вот только пока не разобрался где код этого компонента смотреть.... Можно подсказку?)


AndreyKorolev
> Лучше просто создай каждого объекта по 1-ой штуке типа: стена, дверь, окно,
> дорога, сундук
> и потом в коде генери клоннированием этих объектов, там метод есть .Clone(); и
> .SetPosition, .SetRotation ... Scale - и тоже самое будет.
Я в эту сторону пожалуй как раз хотел бы двигаться. Сделаю заготовки, которые программно буду раскидывать по сцене.
Только опять же, в каком месте надо писать .Close .SetPosition и т.д.

AndreyKorolev
> Например ты хочешь сделать мокрый асфальт - ну можно создать класс 'капля' и
> потом 1000 листов кода написать и у тебя будет 0.1 кадр в секунду реальный
> дождь и небо и облака (volumetric fog) , а можно сделать 2 текстуры сухой и
> мокрый и шейдер 'грошовый' ,а эффект тот же.
> А может ты сделаешь эту огромную работу и поймешь, что хотел совсем другое, но
> уже поздно.
Спасибо за разъяснение! У меня есть опыт написания несложных 3Д приложений на чистом Direct3D и я представляю как оптимизировать визуализацию. Я знаком с такими понятиями как: батчинг, шейдеры, пайплайн и т.д. В данном случае я хотел бы автоматизировать создание уровня "кубического" вида, как в Wolfenstein. Эти кубы вручную расставлять в визуальном редакторе на мой взгляд сложнее, это же надо подгонять координаты мышкой и могут быть дырки и нестыковки между полигонами. Или быть может есть способ ручного ввода точных координат у плоскостей стен?

Еще по движку: не совсем понимаю иерархию компонентов, а именно взаимосвязь между материалами, мешами. Можно ли одному мешу задать несколько материалов (например создать куб у которого на одной грани будет один материал, на другой грани другой материал). Было бы интересно увидеть граф или дерево зависимостей объектов, что к чему относится.
Еще интересует можно ли например один объект прицепить к другому без скриптов, настроить общий pivot center и крутить/двигать оба объекта относительно него?

#878
17:35, 7 апр. 2020

Vitorio
> Еще по движку: не совсем понимаю иерархию компонентов, а именно взаимосвязь
> между материалами, мешами. Можно ли одному мешу задать несколько материалов
> (например создать куб у которого на одной грани будет один материал, на другой
> грани другой материал). Было бы интересно увидеть граф или дерево зависимостей
> объектов, что к чему относится.

Меш внутри хранит список геометрий Component_MeshGeometry. Каждая геометрия имеет свой материал.
На скриншоте открыто окно Settings (в контектном меню в Objects окне открыть можно). Просто для удобства в полный экран. Кроме меша, можно любой объект сгенерировать процедурно.

А что именно нужно сделать? Может и вправду не импортировать. Уже в движке генерировать.
NeoAxis Engine Mesh | Вышел NeoAxis Engine 2020.2

#879
(Правка: 17:51) 17:42, 7 апр. 2020

>>в каком месте надо писать .Close .SetPosition и т.д
попробую сам, сделаю урок на ютуб, пришлю сюда ссылку

>> Я знаком с такими понятиями как: батчин...
гуд,гуд респект

>> именно взаимосвязь между материалами, мешами. Можно ли одному мешу задать несколько материалов
одному мешу можно только если объект составной, т.е. например голова, тело и ноги это отдельные меши, там где Relace material. ... тоже урок сделаю короче

>>например создать куб у которого на одной грани будет один материал, на другой грани другой материал
Paint layer используй - типа маска поверх материала, там пример есть с кубом

>>Еще интересует можно ли например один объект прицепить к другому без скриптов, настроить общий pivot center и крутить/двигать оба объекта относительно него?
прицепить можно пивязав Attach- выделяешь 2 объекта - потом правой кнопкой - там в меню аттач
или вручную используя Component_TransformOffset
тоже урок сделаю короче )


>>pivot center
мне б тоже узнать как его менять ,но походу пока нет возможности пока, я в blender менял

#880
18:11, 7 апр. 2020

betauser
> А что именно нужно сделать? Может и вправду не импортировать. Уже в движке
> генерировать.
Хочу сгенерить такой уровень
Изображение

Планирую сделать в редакторе движка заготовки стен с текстурами и программно их, на основе данных в двумерном массиве, сгенерить в мешь. Расставив клоны нужных стен по уровню. Правда не знаю насколько это оптимально для рендера движка и сбатчит ли он стены с одинаковыми текстурами в один dip. Это кстати вопрос - сформируются ли батчи автоматом?

AndreyKorolev
Спасибо! С нетерпением буду ждать видео:)

#881
(Правка: 18:27) 18:25, 7 апр. 2020

Vitorio
> Планирую сделать в редакторе движка заготовки стен с текстурами и программно
> их, на основе данных в двумерном массиве, сгенерить в мешь. Расставив клоны
> нужных стен по уровню. Правда не знаю насколько это оптимально для рендера
> движка и сбатчит ли он стены с одинаковыми текстурами в один dip. Это кстати
> вопрос - сформируются ли батчи автоматом?

Ага, понятно. Сами меши проще сделать отдельными файлами, раз они стандартные. Останется ссылки на них правильные указывать при создании Component_MeshInSpace.
Вот тут про ссылку на меш: https://www.neoaxis.com/docs/html/Scripting_Basic_Knowledge.htm#H… _in_the_scene

Для генерации скорее всего лучше спроектировать объект-менеджер. По кнопке Update он сам в себе создал бы стены. Ну и удалил бы старые сначала.

Пока MeshInSpace достаточно, они авто инстансятся. Уже потом на более продвинутом уровне можно использовать Component_GroupOfObjects, который является низкоуровневым способом отрисовки (внутри батчи).

#882
(Правка: 23 апр. 2020, 12:16) 1:30, 8 апр. 2020

Короче это вот

Wolfenstein3D | Вышел NeoAxis Engine 2020.2

https://youtu.be/SSCV3TAYD-U

#883
(Правка: 8:01) 7:48, 8 апр. 2020

AndreyKorolev
Огромное спасибо за видео!!! Благодаря ему я понял многие базовые вещи по движку. Сделал себе сцену для тренировки, где по кнопке создаются 10 клонов кубиков, стопкой по вертикали, и падают вниз по законам физики. Нажимая кнопку несколько раз, можно породить много кубиков и устроить стресс-тест для физики. Начало положено!:)
Изображение

Возник вопрос, как сбилдить релиз?
По кнопке Build вижу 3 пункта
Изображение
При выборе любого из этих пунктов и после нажатия на кнопку "Build" в целевой папке получается куча файлов весом примерно на 400 мегабайт (и это почти на пустом проекте с минимальным набором ресурсов) и туда же в папке Binaries кладется плеер и редактор, которые вроде как не нужны конечному "игроку". Также в целевой папке вижу pdb-файлы, которые в релизе вроде не нужны, так как содержат отладочную информацию, и все ресурсы игры со скриптами в открытом виде лежат. Движок это все может паковать и чистить лишнее?

Еще вопрос. Можно ли как-то модифицировать код поведения Character-а, которым мы управляем? Например изменить раскачку камеры при движении через скрипт?

#884
8:12, 8 апр. 2020

Vitorio
> При выборе любого из этих пунктов и после нажатия на кнопку "Build" в целевой
> папке получается куча файлов

Можно настроить свой .product файл. Эти три лежат в Assets\Base\Build.
Чтобы не копировались лишние ассеты, настраивается свойство 'Assets Include Only Specified'. В 'Simple Game Windows.product' это есть.
После билда пока что-то нужно удалять вручную, типа pdb файлов и exe редактора. В следующих релизах движок будет иметь больше настроек.

Страницы: 158 59 60 61 62 Следующая »
ПрограммированиеФорумОбщее