如何从 ACharacter/APlayerController 获取 UCameraComponent?
How do I get UCameraComponent from ACharacter/APlayerController?
我对 UE4 和 C++ 都很陌生,所以也许我的问题有点愚蠢,但是如果我有从 ACharacter 继承的自定义 AMainCharacter class 和从 APlayerController 继承的自定义 AMainPlayerController,我该如何获取 UCameraComponent?实际上我只需要 CameraLocation 和 CameraTransform。所以只获取 CameraLocation 及其 FTransform 也适合我,有什么建议吗?
顺便说一下,我尝试浏览 Unreal Documentation 并找到 APlayerCameraManager class,但我也无法连接它。
提前感谢您的帮助
这取决于你在哪里定义你的相机组件?它是在 C++ 中还是在蓝图中?你把它贴在哪里了?我建议学习更多有关如何在 C++ 中创建组件的知识。
如果您在 C++ 中创建并附加了组件,您将拥有一个变量,例如您创建的 PlayerCamera。
所以我假设您已经在蓝图中添加了相机组件。要访问该摄像机,您必须通过 class 获取演员组件并搜索您需要的组件。
TArray<UCameraComponent> CameraComps;
GetComponents<UCameraComponent>(CameraComps);
现在 CameraComps
array 包含您的相机组件。
这比仅在 C++ 中创建组件并附加它更复杂。
这里有一个教程。
https://docs.unrealengine.com/en-US/Programming/Tutorials/PlayerCamera/1/index.html
稍作更正:
TArray<UCameraComponent*> CameraComps;
是UCameraComponent的指针数组。
我对 UE4 和 C++ 都很陌生,所以也许我的问题有点愚蠢,但是如果我有从 ACharacter 继承的自定义 AMainCharacter class 和从 APlayerController 继承的自定义 AMainPlayerController,我该如何获取 UCameraComponent?实际上我只需要 CameraLocation 和 CameraTransform。所以只获取 CameraLocation 及其 FTransform 也适合我,有什么建议吗?
顺便说一下,我尝试浏览 Unreal Documentation 并找到 APlayerCameraManager class,但我也无法连接它。
提前感谢您的帮助
这取决于你在哪里定义你的相机组件?它是在 C++ 中还是在蓝图中?你把它贴在哪里了?我建议学习更多有关如何在 C++ 中创建组件的知识。
如果您在 C++ 中创建并附加了组件,您将拥有一个变量,例如您创建的 PlayerCamera。
所以我假设您已经在蓝图中添加了相机组件。要访问该摄像机,您必须通过 class 获取演员组件并搜索您需要的组件。
TArray<UCameraComponent> CameraComps;
GetComponents<UCameraComponent>(CameraComps);
现在 CameraComps
array 包含您的相机组件。
这比仅在 C++ 中创建组件并附加它更复杂。
这里有一个教程。
https://docs.unrealengine.com/en-US/Programming/Tutorials/PlayerCamera/1/index.html
稍作更正:
TArray<UCameraComponent*> CameraComps;
是UCameraComponent的指针数组。