Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 4
Здравствуйте,

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

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

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

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

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


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

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

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

Кроме того еще хотелось услышать варианты как можно отлаживать код в UE если в нем присутствует сложная логика (подключение внешних дебагеров, если возможно и тому прочее)?
Аватара пользователя
Пользователь
Сообщения: 261
C Xcode помочь не могу, так работаю в VS. В ней с дебагом все нормально.

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

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

Поищи те в коде как создаются коллизи, там же определяется размер.
Аватара пользователя
Пользователь
Сообщения: 4
Miha15z писал(а):
C Xcode помочь не могу, так работаю в VS. В ней с дебагом все нормально.


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

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

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


Хорошо, посмотрю на это более внимательно, спасибо.
Аватара пользователя
Пользователь
Сообщения: 261
Ну добавив сборку проекта и запустив в режиме дебаг, срабатывает все, включая брекпоинты в самом движке.
Аватара пользователя
Пользователь
Сообщения: 474
IlyaCh писал(а):
Здравствуйте,

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

Спасибо.


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

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


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


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница