实体
镜头 CCamera
查看 Markdown淡入淡出、脚本接管与震动
CCamera.h · 全局 TheCamera
脚本接管后记得 Restore / RestoreWithJumpCut。FOV 也看 CDraw::ms_fFOV。
void Fade(float fadeDuration, short FadeInOutFlag);
void SetFadeColour(unsigned char Red, unsigned char Green, unsigned char Blue);
signed int GetScreenFadeStatus();
bool GetFading();
int GetFadingDirection();void TakeControl(CEntity* target, short ModeToGoTo, short TypeOfSwitch, int WhoIsInControlOfTheCamera);
void TakeControlNoEntity(CVector const* FixedModeVector, short TypeOfSwitch, int WhoIsInControlOfTheCamera);
void TakeControlAttachToEntity(CEntity* target, CEntity* attached, CVector* AttachedCamOffset, CVector* AttachedCamLookAt, float AttachedCamAngle, short TypeOfSwitch, int WhoIsInControlOfTheCamera);
void TakeControlWithSpline(short TypeOfSwitch);交回游戏默认跟拍。
void Restore();
void RestoreWithJumpCut();爆炸、撞击特效常用。
void CamShake(float strength, float x, float y, float z);
void AddShakeSimple(float duration, int type, float intensity);全局绘制 FOV 见 CDraw。
float FindCamFOV();
void LerpFOV(float zoomInFactor, float zoomOutFactor, float timelimit, bool bEase);void SetCamPositionForFixedMode(CVector const* fixedModeSource, CVector const* fixedModeUpOffset);void SetWideScreenOn();
void SetWideScreenOff();
void SetMotionBlur(int Red, int Green, int Blue, int value, int Blurtype);
void SetMotionBlurAlpha(int Alpha);球是否在视锥。
bool IsSphereVisible(CVector const& origin, float radius);
bool IsSphereVisible(CVector const& origin, float radius, RwMatrixTag* transformMatrix);signed int GetLookDirection();void Find3rdPersonCamTargetVector(float range, CVector source, CVector* pCamera, CVector* pPoint);
float Find3rdPersonQuickAimPitch();
评论