Unreal Engine 4
https://uengine.ru/forum/

Размещение примитивов в пространстве и отладка
https://uengine.ru/forum/viewtopic.php?f=19&t=2707
Страница 1 из 1

Автор:  IlyaCh [ 06 апр 2016, 11:22 ]
Заголовок сообщения:  Размещение примитивов в пространстве и отладка

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

Недавно начал изучать что такое UE и с чем его едят, в связи с этим возникла пара вопросов по С++ в UE.
1) Пишу С++ код в Xcode и не нашел нормального способа подебажить код, брекпоинты не срабатывают. Существуют ли пути как подружить UE с дебагером?
2) Кроме того возник вопрос, как определить реальные размеры фигуры, например я в коде размещаю куб и рядом с ним хочу поместить еще один. Как мне узнать смещение относительно центра первого куба (то есть его размеры, а не scale, так как я понимаю при одинаковом масштабе у разных фигур могут быть разные размеры), чтобы разместить второй куб рядом?

Спасибо.

Автор:  Miha15z [ 06 апр 2016, 21:45 ]
Заголовок сообщения: 

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

Посмотри какую информацию можно получить от компонента статик меш, и от его коллизи в коде( возможно глянь как генерируется коллизия)

А ну и функция setActorLocation(...) предпологает вывод информации о столкновениях при перемещении, про спавн уже не помню, но тоже вроде говорит чего нить если есть пересечения.

А так надо знать размеры заранее, можно хранить в самом классе объекта.

Автор:  IlyaCh [ 07 апр 2016, 09:54 ]
Заголовок сообщения:  Re:

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


Мысль о том, что точка начала координат возникла из-за того, что пробовал расставить простые объекты (сферы и цилиндры) по наблюдением они становились именно в центре координат. Пока экспериментирую только с простыми объектами, поэтому в случае кубом думаю будет что-то похожее.
Размеры пока нужны самые простые (взял куб), проще некуда, в стандартном API для UStaticMeshComponent и в UStaticMesh не нашел функций откуда можно получить размер элемента, так например в UStaticMesh функция GetResourceSize возвращает довольно странные числа, которые не являются размером блока (по крайней мере в чистом виде).

Miha15z писал(а):
А так надо знать размеры заранее, можно хранить в самом классе объекта.

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

Кроме того еще хотелось услышать варианты как можно отлаживать код в UE если в нем присутствует сложная логика (подключение внешних дебагеров, если возможно и тому прочее)?

Автор:  Miha15z [ 07 апр 2016, 11:32 ]
Заголовок сообщения: 

C Xcode помочь не могу, так работаю в VS. В ней с дебагом все нормально.

GetResourceSize () возвращает размер занимаемой памяти.

Стандартные фигуры имею размеры относительно 1 метра.(куб с ребром 1м, сфера с диаметром 1 метр, ...).

Поищи те в коде как создаются коллизи, там же определяется размер.

Автор:  IlyaCh [ 07 апр 2016, 13:09 ]
Заголовок сообщения:  Re:

Miha15z писал(а):
C Xcode помочь не могу, так работаю в VS. В ней с дебагом все нормально.


Для того чтобы дебажиться в VS - просто запускаете игру и все брекпоинты срабатывают или нет?

Miha15z писал(а):
Стандартные фигуры имею размеры относительно 1 метра.(куб с ребром 1м, сфера с диаметром 1 метр, ...).

Поищи те в коде как создаются коллизи, там же определяется размер.


Хорошо, посмотрю на это более внимательно, спасибо.

Автор:  Miha15z [ 07 апр 2016, 13:22 ]
Заголовок сообщения: 

Ну добавив сборку проекта и запустив в режиме дебаг, срабатывает все, включая брекпоинты в самом движке.

Автор:  Zhernovoy Sergey [ 09 апр 2016, 18:54 ]
Заголовок сообщения:  Re: Размещение примитивов в пространстве и отладка

IlyaCh писал(а):
Здравствуйте,

Недавно начал изучать что такое UE и с чем его едят, в связи с этим возникла пара вопросов по С++ в UE.
1) Пишу С++ код в Xcode и не нашел нормального способа подебажить код, брекпоинты не срабатывают. Существуют ли пути как подружить UE с дебагером?
2) Кроме того возник вопрос, как определить реальные размеры фигуры, например я в коде размещаю куб и рядом с ним хочу поместить еще один. Как мне узнать смещение относительно центра первого куба (то есть его размеры, а не scale, так как я понимаю при одинаковом масштабе у разных фигур могут быть разные размеры), чтобы разместить второй куб рядом?

Спасибо.


2) Есть возможность взять боундинг бокс или сферу объекта, то есть объем в который будет полностью вписан объект/моделька твоя, задается структурой "BoxStructure" или както так, в пространстве не вращается этот бокс или сфера. Ну от бокса или от сфер легко отталкиваться, там будет врде центр и направляющий вектор в качестве параметров(для скелетал мешей можно для каждой кости получить эти границы, но там немножко по другому, но совсем чуть чуть )

Автор:  IlyaCh [ 12 апр 2016, 11:14 ]
Заголовок сообщения:  Re: Размещение примитивов в пространстве и отладка

Zhernovoy Sergey писал(а):

2) Есть возможность взять боундинг бокс или сферу объекта, то есть объем в который будет полностью вписан объект/моделька твоя, задается структурой "BoxStructure" или както так, в пространстве не вращается этот бокс или сфера. Ну от бокса или от сфер легко отталкиваться, там будет врде центр и направляющий вектор в качестве параметров(для скелетал мешей можно для каждой кости получить эти границы, но там немножко по другому, но совсем чуть чуть )


Спасибо, хорошая идея, попробую покапать в эту сторону.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/