UE4 玩家控制的攝像機

2021-10-11 22:52:41 字數 2346 閱讀 7938

使用乙個actor控制乙個攝像機actor

設定乙個pawn類,並且設定該pawn預設受控;

#pragma once

#include

"coreminimal.h"

#include

"gameframework/pawn.h"

#include

"gameframework/springarmcomponent.h"

#include

"camera/cameracomponent.h"

#include

"pawnwithcamera.generated.h"

uclass()

class

mycontroller_api apawnwithcamera :

public apawn

;#include

"pawnwithcamera.h"

// sets default values

apawnwithcamera::

apawnwithcamera()

// called when the game starts or when spawned

void apawnwithcamera::

beginplay()

// called every frame

void apawnwithcamera::

tick

(float deltatime)

else

zoomfactor = fmath::clamp<

float

>

(zoomfactor,

0.0f

,1.0f);

// 基於zoomfactor來混合相機的視域和彈簧臂的長度

camera-

>fieldofview = fmath::lerp<

float

>

(90.0f

,60.0f

, zoomfactor)

; springarm-

>targetarmlength = fmath::lerp<

float

>

(400.0f

,300.0f

, zoomfactor);}

//如果按下了放大按鈕則放大,否則就縮小

else

zoomfactor = fmath::clamp<

float

>

(zoomfactor,

0.0f

,1.0f);

//clamp限制zoomfactor的範圍在0~1之間

// 基於zoomfactor來混合相機的視域和彈簧臂的長度

camera-

>fieldofview = fmath::lerp<

float

>

(90.0f

,60.0f

, zoomfactor)

;//lerp線性插值,從90~60之間的值和速率進行乙個混合,得到乙個結果(操縱的視野)

springarm-

>targetarmlength = fmath::lerp<

float

>

(400.0f

,300.0f

, zoomfactor);}

//選擇actor的偏轉,這樣將會旋轉相機,因為相機附著於actor

// 選擇相機的傾斜,但對其進行限制,這樣我們將總是向下看

// 基於"movex"和 "movey"軸來處理移動}}

// called to bind functionality to input

void apawnwithcamera::

setupplayerinputcomponent

(uinputcomponent* playerinputcomponent)

// 輸入函式

void apawnwithcamera::

moveforward

(float axisvalue)

void apawnwithcamera::

moveright

(float axisvalue)

void apawnwithcamera::

pitchcamera

(float axisvalue)

void apawnwithcamera::

yawcamera

(float axisvalue)

void apawnwithcamera::

zoomin()

void apawnwithcamera::

zoomout()

UE4 Viewport中攝像機鏡頭縮放速度修改

關鍵字 滑鼠 攝像機 拉伸 伸縮 縮放 滑鼠滾輪拉伸攝像機 修改設定 editor setting level editor mouse scroll camera speed.對於大型場景中快速伸縮攝像機時,縮放速度比較快。如果是超大型場景,可能這個最大速度8也不夠,可以考慮在各個空間位置放置乙個...

UE4控制台指令

stat unit整體幀長 遊戲執行緒時長 渲染執行緒時長 gpu 時長。stat fps幀數。r.setres 1920x1080f 螢幕解析度 r.screenpercentage 30 300 清晰度 fullscreen 全屏 quit 退出遊戲 show collision 碰撞盒 sta...

UE4版本控制

安裝好之後開啟會提示登入atlassian賬號授權,然而由於不可抗因素,無法登陸 解決方案 在sourcetree的配置目錄新建 或修改 accounts.json為如下內容。配置目錄一般位於 c users administrator accounts.json baseurl credentia...