本文整理汇总了C++中CCharacter::GetUpVector方法的典型用法代码示例。如果您正苦于以下问题:C++ CCharacter::GetUpVector方法的具体用法?C++ CCharacter::GetUpVector怎么用?C++ CCharacter::GetUpVector使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCharacter
的用法示例。
在下文中一共展示了CCharacter::GetUpVector方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetThirdPersonCameraPosition
TVector CCharacterCamera::GetThirdPersonCameraPosition()
{
CCharacter* pCharacter = m_hCharacter;
if (!pCharacter)
return TVector(10, 0, 0);
TVector vecEyeHeight = pCharacter->GetUpVector() * pCharacter->EyeHeight();
TMatrix mView = TMatrix(pCharacter->GetThirdPersonCameraAngles(), TVector());
TVector vecThird = pCharacter->GetGlobalTransform().GetTranslation() + vecEyeHeight;
vecThird -= Vector(mView.GetForwardVector()) * m_flBack;
vecThird += Vector(mView.GetUpVector()) * m_flUp;
vecThird += Vector(mView.GetLeftVector()) * m_flSide;
return vecThird;
}
示例2: CameraThink
void CCharacterCamera::CameraThink()
{
BaseClass::CameraThink();
CCharacter* pCharacter = m_hCharacter;
if (!pCharacter)
return;
if (GetThirdPerson())
{
SetGlobalOrigin(GetThirdPersonCameraPosition());
SetGlobalAngles(VectorAngles(GetThirdPersonCameraDirection()));
}
else
{
SetGlobalOrigin(pCharacter->GetGlobalOrigin() + pCharacter->GetUpVector() * (TFloat)pCharacter->EyeHeight());
SetGlobalAngles(pCharacter->GetViewAngles());
}
}