Note: This seems like an awkward workaround.. So if I missed something here, and there’s a better method to do this, I’ll be very grateful is you share it in the comments. Also, The following tip is only relevant for the CineCameraActor and won’t work with a regular CameraActor as it has a different built in offset (hopefully, I’ll have time to add this to the post later..)
Replacing the camera icon: Its fairly simple to replace the Camera component’s mesh icon, Just select the component and replace it’s Camera Mesh Static Mesh component with a different static mesh object:
So what’s the problem? The problem is that the default mesh used for the camera icon doesn’t have its natural pivot at the focal point of the camera, but at its bottom somewhere, And there is a hardcoded transform offset that compensates for that and places the icon mesh in a way that has the Icon lens roughly at the actual Camera actor pivot / focal point:
* I haven’t found any exposed transform parameter that allows moving the icon itself without moving the camera. So in-order to replace the camera mesh with an alternative icon mesh, and have it be aligned properly to the camera’s pivot / focal point (without changing engine code and building it) the built-in offset must be negatively pre-added to the new mesh model:
In this example in Blender, a new icon is modeled facing positive Y, with pre-built offset to compensate for the hardcoded offset in UE.
To create animations and trigger them to play on game start:
First create a Level Sequence containing the animation:
Create a new Level Sequence actor:
Name the new Level Sequence and drag it to into the level:
Select the actor you want to animate in the level and double click the Level Sequence in the Content Browser to open it in the Sequencer window:
In the Sequencer window, press the +Track button to add a sequence track, choose the upper most option Actor To Sequence, the option to Add the selected actor will automatically appear first on the menu that will open on the right:
Add the selected actor as a sequence track, expand the track’s Transform channels to reveal the Transform property you would like to animate, and click the + button for that channel to create the first key-frame:
Activate the Create when channels/properties change option button:
Move the time slider to a desired time for the motion and move/change the actors transform to create a new key-frame:
The Level Sequence now contains animation for the Actor, but when we play the game, the animation doesn’t play.
For the animation to play in game, we must trigger it fro a Blueprint, in this case the Level Blueprint:
From the Editor Blueprints menu, choose Open Level Blueprint:
In the Level Blueprint, drag the Event BeginPlay execution graph and create CreateLevelSequencePlayer node that will follow it:
Drag the CreateLevelSequencePlayer node’s Return Value output and create a Play node that will be executed after it and receive it’s output:
The Level Blueprint now has instructions to play a Level Sequence,
but it’s not yet specified which Level Sequence to play:
In the Variables list on the left, press the +Variable button to create a new variable and name it:
With the new variable selected, in it’s details on the right, press the Variable Type button, and locate Level Sequence – Object Reference type:
The Level Blueprint now contains a variable named seq of type: Level Sequence – Object Reference:
Drag the new variable to the Blueprint and choose Get when placing it:
Connect the variable’s output to the Level Sequence input of the CreateLevelSequencePlayer node:
With the variable selected, in the details panel on the right, select the Level Sequence object it will be referencing:
Press Compile and save the Level Blueprint:
The Level Blueprint now has instructions to play the desired Level Sequence when the level begins playing so a the animation we created plays when we hit play game in the editor:
Create a Camera Actor: Cinematics > Cine Camera Actor
Create a new Level Sequence:
Right Click the Content Browser background and choose Animation > Level Sequence.
In the Content Browser, Double Click the new Level Sequence to open it in the Sequencer.
press ‘+ Track’ and choose Camera Cut Track.
In the camera track press ‘+ Camera’ and choose the Camera Actor you created.
press ‘+ Track’ and choose Transform.
Move the Time-Slider to the motion start time, move the camera to its starting position and orientation, and press the little ‘+’ button at the right of the Transform track <- + -> to set the first Key-Frame for the camera movement.
Move the Time-Slider to the motion end time, move the camera to its ending position and orientation, and press the little ‘+’ button at the right of the Transform track <- + -> to set the last keyframe for the camera movement.
Repeat this to create more Key-Frames and develop the camera motion.
Press the Clapperboard button to open the Render Movie Settings,
Choose the file format, frame rate, resolution, and save location and press Capture Movie.