Skip to content

Instantly share code, notes, and snippets.

@LenweSaralonde
Last active February 11, 2026 09:12
Show Gist options
  • Select an option

  • Save LenweSaralonde/5518f6a39d3532e25ef140cbedb60920 to your computer and use it in GitHub Desktop.

Select an option

Save LenweSaralonde/5518f6a39d3532e25ef140cbedb60920 to your computer and use it in GitHub Desktop.
Top 5 techniques for making videos in World of Warcraft

Top 5 techniques for making videos in World of Warcraft

Here are 5 essential techniques to make stunning videos in World of Warcraft. These can be used independently but they are even better when combined together!

1. Use saved views

Saved views place the camera at a fixed position relatively to your character. These can be used to:

  • record your character from the exact same angle at different locations.
  • make super smooth camera movements, using your character as a pivot point.

You can set up to 5 different camera views.

Configure saved view key bindings

  1. Go to Options / Key bindings.
  2. Set binding for each Save View (ie ALT + NUMPAD1 to Save view 1). These ones will be used to save the camera position.
  3. Set binding for each Set View (ie NUMPAD1 to Set view 1). These ones will be used to recall the saved camera position.

Use saved views

Depending on the bindings you set, just use the bindings to save the current camera position ("Save View") the recall it ("Set View") as you like.

The camera position saves pitch, yaw and distance from your character.

2. Hide your character model

To hide your character model, you can switch to first person view but since it's the pivot point for the camera, it's often more convenient to just hide it.

Hide character model:

/console showPlayer 0

Show character model:

/console showPlayer 1

3. Smooth camera movements

You can adjust the time when switching between saved camera views to create stunning panoramic movements.

For example, to set a time of 5 seconds, set both cameraSmoothTimeMin and cameraSmoothTimeMax to 5:

/console set cameraSmoothTimeMin 5
/console set cameraSmoothTimeMax 5

You can make it even more cinematic by walking of flying backwards while panning.

It's also possible to change the zoom speed by setting a lower value to cameraZoomSpeed (default is 20):

/console set cameraZoomSpeed 2.5

You can now make cool traveling effects using your wheel mouse.

4. Zoom

You can zoom by adjusting the value of the cameraFov CVar.

  • Max and default value is 90 (wide angle).
  • Min value is 50 (maximum zoom).
/console set cameraFov 50

You can also use the Ornate Spyglass item. It can be purchased at the auction house or crafted using engineering.

Smooth Zoom-in / Zoom-out macro

Change value of D (duration, in seconds), F (FoV from value) and T (FoV to value) to match your needs:

/run local D,F,T=5,90,50;local st,ti=debugprofilestop();C_CVar.SetCVar('cameraFov',F);ti=C_Timer.NewTicker(1/60,function() local p=(debugprofilestop()-st)/1000/D; C_CVar.SetCVar('cameraFov',F-(cos(180*p)-1)/2*(T-F)); if p >=1 then ti:Cancel();end end)

5. Crop viewport to vertical 9:16 format

If you want to make short videos for Instagram or TikTok, you may want to see how it looks like when cropped to the vertical 9:16 format. Use the following macro to set the game viewport in 9:16.

Set viewport to 9:16:

/run local w,h=GetPhysicalScreenSize(); local o=(h-h*9/16)/2; WorldFrame:ClearAllPoints(); WorldFrame:SetPoint("TOPLEFT", nil, "TOPLEFT", o, 0); WorldFrame:SetPoint("BOTTOMRIGHT", nil, "BOTTOMRIGHT", -o, 0); 

It's advised not to use this macro for recording, only use it for framing. It's better to record in full screen - and if possible in 4K - so you can adjust the shot position afterwards in your video editing software.

Reset viewport:

/run WorldFrame:ClearAllPoints(); WorldFrame:SetAllPoints();

Reset camera settings

This macro resets all the settings to default values:

/console showPlayer 1
/console set cameraSmoothTimeMax 2
/console set cameraSmoothTimeMin 0.1
/console set cameraZoomSpeed 20
/console set cameraFov 90
/run WorldFrame:ClearAllPoints(); WorldFrame:SetAllPoints();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment