Необходимо установить таблицу как мировое происхождение с ARCore / ARKit - PullRequest
0 голосов
/ 25 апреля 2018

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

Вот пример того, что я ищу: https://youtu.be/S14AVwaBF-Y?t=48s

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

ARCore (SDK дополненной реальности) для Android в настоящее время находится в версии 1.1.

Обнаружение плоских поверхностей, таких как таблица, будет автоматически определено из ARCore SDK.Если вы работаете с Unity, вы можете добавить текстуру травы в связанный Prefab / GameObject для обнаруженных плоскостей.

Просто скачайте ARCore SDK здесь и запустите пример приложения

Если вы заинтересованы в том, как точно добавить текстуру frass, взгляните на этот урок

0 голосов
/ 26 апреля 2018

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

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

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

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

https://docs.unity3d.com/Manual/GeneratingMeshGeometryProcedurally.html

https://docs.unity3d.com/ScriptReference/Mesh.html

https://docs.unity3d.com/Manual/Example-CreatingaBillboardPlane.html

Для размещения объектов вам необходимо найти алгоритмы процедурного размещения объектов (например, зданий) в доступном пространстве.

...