protected override void BeginPlay() { base.BeginPlay(); // Choose Camera based on whether HMD is enabled if (UHeadMountedDisplayFunctionLibrary.IsHeadMountedDisplayEnabled()) { VrCamera.Activate(); } else { FpCamera.Activate(); } }
public override void Initialize(FObjectInitializer initializer) { base.Initialize(initializer); VrCamera = initializer.CreateDefaultSubobject <UCameraComponent>(this, new FName("VR_Camera")); VrCamera.RelativeLocation = new FVector(-100, 0, 270); VrCamera.AutoActivate = false; VrCamera.AttachToComponent(CapsuleComponent, FName.None, EAttachmentRule.KeepRelative, EAttachmentRule.KeepRelative, EAttachmentRule.KeepRelative, false); FpCamera = initializer.CreateDefaultSubobject <UCameraComponent>(this, new FName("FP_Camera")); FpCamera.RelativeLocation = new FVector(600, 0, 230); FpCamera.RelativeRotation = new FRotator(-89.9000015f, -1.5f, 1.5f); FpCamera.AutoActivate = false; FpCamera.AttachToComponent(CapsuleComponent, FName.None, EAttachmentRule.KeepRelative, EAttachmentRule.KeepRelative, EAttachmentRule.KeepRelative, false); CharacterMovement.GravityScale = 0; UseControllerRotationYaw = false; // Enable tick FTickFunction tickFunction = PrimaryActorTick; tickFunction.StartWithTickEnabled = true; tickFunction.CanEverTick = true; }