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/ |