Вокселизация. Как Определить, Может Ли Scenekit Создавать Достаточно 3D-Графику, Такую ​​Как Minecraft?

  • Автор темы SilaghiOvidiuO27
  • Обновлено
  • 21, Oct 2024
  • #1

Вдохновленные Minecraft и LEGO, мы создали приложение для продвижения творчества на смартфонах. Многим людям нравится проявлять творческий подход, но чистый холст пугает их. «Рецепты» внутри приложения позволяют пользователям творить как самые талантливые люди — подобно тому, как кулинарный рецепт позволяет любому готовить, как Томас Келлер.

Проблема на данный момент в том, что пользователи говорят, что приложение выглядит недостаточно «3D».

Вот соответствующий код, который создает сцену и блоки: https://gist.github.com/panabee/dca88a591f94a3904023dacabd020ad9.

Они имеют в виду, что ожидают, что приложение будет больше похоже на это:

вокселизация. Как определить, может ли SceneKit создавать достаточно 3D-графику, такую ​​как Minecraft? вокселизация. Как определить, может ли SceneKit создавать достаточно 3D-графику, такую ​​как Minecraft? вокселизация. Как определить, может ли SceneKit создавать достаточно 3D-графику, такую ​​как Minecraft?


При поддержке одного из администраторов эти скриншоты из нашего приложения иллюстрируют разницу в «3Dness»:

вокселизация. Как определить, может ли SceneKit создавать достаточно 3D-графику, такую ​​как Minecraft? вокселизация. Как определить, может ли SceneKit создавать достаточно 3D-графику, такую ​​как Minecraft?

Мы используем SceneKit на iOS, но не можем определить, что необходимо, чтобы приложение выглядело как изображения выше. Мы поигрались с освещением и текстурами, но не знакомы с 3D-графикой и SceneKit и не знаем, что делать.

Мы пытались найти консультантов на StackOverflow, LinkedIn, Github, но этот опыт оказался не таким уж распространенным.

Несколько вопросов:

1) Для iOS способен ли SceneKit создавать изображения, указанные выше, или нам нужно использовать что-то вроде Metal?

2) Если SceneKit способен, какие ключевые понятия следует изучить?

3) (Рад ответить на этот вопрос, если он считается не по теме) На каких веб-сайтах/форумах мы могли бы найти людей, которые помогут дать совет, если мы застрянем?

#вокселизация

SilaghiOvidiuO27


Рег
27 Dec, 2007

Тем
76

Постов
185

Баллов
595
  • 26, Oct 2024
  • #2

Чего не хватает?

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

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

Оба этих эффекта наиболее наглядно можно увидеть на первом примере изображения в вопросе. Ближайшее здание демонстрирует окклюзию окружающей среды на вершине ступенчатой ​​красной крыши, а трава рядом со зданиями и животными находится в полутени. Деревья вдалеке кажутся более далекими из-за тумана, из-за которого они видны лишь частично.

Может ли SceneKit предоставить это?

Я сам не использовал SceneKit, но поиск в Интернете показывает, что с помощью SceneKit возможны как эффекты окружающей окклюзии, так и эффекты тумана на расстоянии.

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

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


Как вы догадались, просить сторонние ресурсы не по теме. Однако вы можете задать дополнительные вопросы о программировании компьютерной графики здесь, на этом сайте, если у вас возникнут какие-либо проблемы с реализацией этих эффектов.

 

Kapitan1


Рег
26 May, 2005

Тем
73

Постов
198

Баллов
583
  • 26, Oct 2024
  • #3

1) Нарисовать кучу 3D-кубов с простыми текстурами? Да, SceneKit может это сделать.

2) Слишком широкий вопрос... попробуйте чтение документов.

3) Поскольку это вопрос, специфичный для платформы, попробуйте набор сцен и набор сцен теги на стекпереполнение и Разработка игр, но сначала посмотрите ответ 2.

удачи!

 

Jacquespab


Рег
19 Mar, 2014

Тем
72

Постов
198

Баллов
578
  • 26, Oct 2024
  • #4

SceneKit, начиная с iOS 9/OS X El Capitan, может обрабатывать все предложенные изменения освещения от @trichoplax. Недавно анонсированный (июнь 2016 г.) физический рендеринг (PBR) и поддержка универсального описания сцены Pixar позволяют создавать потрясающе красивые изображения, если вам нужна iOS 10 (подсказка: вам следует это сделать).

SceneKit использует Metal или OpenGL (на ваш выбор) в качестве средства рендеринга. SceneKit дает вам более высокий уровень абстракции. Я думаю, что это хороший подход к проблеме, которую вы пытаетесь решить.

Я особенно рекомендую видеоролики презентаций SceneKit на WWDC 2014, 2015 и 2016 годов. Презентация «Что нового» за 2014 год была написана в SceneKit и доступна в виде примера кода. Я еще не видел код 2016 года, но он был обещан. Также взгляните на платформу ModelIO, которая предназначена для загрузки различных стандартных форматов 3D, текстур и освещения и делает их доступными для SceneKit, Metal и OpenGL.

Книга Дэвида Рённквиста SceneKit (в магазине iBook) проходит через различные элементы управления текстурой, материалом и освещением. Сейчас он немного устарел из-за улучшений PBR и ModelIO, но он полезен для изучения того, как манипулировать сценой.

Книга Криса Языка 3D-игры для iOS по учебникам состоит из двух разделов, над которыми вам следует поработать. Насколько мне известно, раздел II — единственная письменная документация по использованию редактора сцен Xcode. В процессе он раскрывает основы освещения и материалов. В разделе III более подробно рассматриваются освещение и тени. Книга довольно хорошо делает доступной терминологию и концепции, связанные с рендерингом. Однако я не поклонник смешения контроллеров представлений и игровой логики.

Я думаю, что в конечном итоге вам понадобится развить некоторые навыки среднего уровня с помощью инструментов 3D-моделирования, таких как Maya, Blender или Cheetah3D, хотя бы для того, чтобы понять общие проблемы и парадигмы 3D-рендеринга.

 

Imra


Рег
25 Jan, 2012

Тем
75

Постов
189

Баллов
574
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно