我似乎无法弄清楚如何找到正在渲染的当前摄像机类型,即物理摄像机,免费摄像机与目标摄像机。
我尝试查看GetCOREInterface返回的内容以及3ds max SDK文档,但没有完全符合我想要的内容。
GetCOREInterface()->GetActiveViewExp().GetViewCamera()
似乎很有希望,但是活动视图中的摄影机可能不是当前正在渲染的摄影机。
自己回答问题。发现有一种方法可以获取正在渲染的当前视图。从那里拿相机很简单。
https://help.autodesk.com/view/3DSMAX/2017/ENU/?guid=__cpp_ref_class_interface16_html
GetCOREInterface16()->GetCurrentRenderView()->GetViewCamera()
从那里可以获得摄像机名称或class_id。
请注意,此方法仅适用于3ds max 2016+。对于3ds max 2016之前的版本,我建议在我的问题中使用该方法,该方法适用于大多数情况。