Кажется, я не могу понять, как найти текущий тип камеры, которая отображается, то есть физическая, бесплатная или таргетированная.
Я попытался оглядываться в то, что возвращается, а также докурится к документации SDK 3DS MAX, но ничего не совпадает с тем, что я хочу.
GetCOREInterface()->GetActiveViewExp().GetViewCamera()
Кажется многообещающим, но камера в активном виде может быть не той, что в настоящее время визуализируется.
1 ответ
Отвечая на вопрос сам. Установлено, что есть способ получения текущего представления, который оказывается. Оттуда это тривиально, чтобы получить камеру.
https://help.autodesk.com/view/3DSMAX/2017/ENU/?guid=__cpp_ref_class_interface16_html
GetCOREInterface16()->GetCurrentRenderView()->GetViewCamera()
Оттуда вы можете получить имя камеры или Class_id.
Обратите внимание, что этот метод работает только в 3ds max 2016+. Для pre 3ds max 2016 я рекомендую метод, описанный в моем вопросе, который будет работать в большинстве случаев.
Похожие вопросы
Новые вопросы
c++
C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который должен быть) скомпилирован с помощью компилятора C ++. Используйте тег для конкретной версии для вопросов, связанных с конкретной версией стандарта [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] или [C ++ 23] и т. Д. .