tModLoader

tModLoader

39 ratings
Camera Control
2
   
Award
Favorite
Favorited
Unfavorite
Mod Features: Utilities, Visual Tweaks
Mod Side: Client
tModLoader Version: 1.4.3, 1.4.4
Language: English
File Size
Posted
Updated
149.441 KB
Jul 5, 2022 @ 1:49pm
Jan 23 @ 2:05pm
6 Change Notes ( view )

Subscribe to download
Camera Control

In 1 collection by NotLe0n
NotLe0n's mods
10 items
Description
Camera Control

Camera Control is the perfect tool for making showcase, cinematic or youtube videos!
It allows you to move the camera along a predefined path, lock the camera to a fixed point
or make the camera follow an NPC, Item or Projectile.

This mod is open source on my GitHub[github.com].
If you have any questions, issues or bugs contact me on my discord server[discord.gg]

This mod has been split of from the "Better Zoom" mod. If you're looking for a mod to just zoom in/out more, check it out.

How to use
To use this mod you need to enter Editor mode by pressing the Keybind, which you have to set first.
In Editor mode, you can freely move the camera with W, A, S or D and zoom in and out using the mouse wheel.
The "Show View Range" button will draw a box to show what the player will see at 100% zoom.

You'll also see the UI at the bottom of the screen in Editor mode.


Currently you are in Select mode - to start placing tracks enter Drawing mode, by clicking on one of the two "Place curve" buttons.


You can select between Bézier and (Catmul-Rom) Spline curves.
The difference is that Bézier curves will create a smooth curve, where the points of the curve don't have to hit all control points.
In comparison, a Spline curve will go through all control points.


After selecting a curve, start drawing by clicking and dragging the mouse to the desired location.
When you're done placing, go back to Select mode, by clicking on the currently selected curve type
and move the control points to create the curve you want.


You can erase curves by clicking on "Erase curve". You will enter Eraser mode where clicking on a curve will remove it.
To remove all curves at once, click on "Delete all curves".

Now we have a track the camera will follow. Press the Play button to start or resume.
Press it again and the camera will pause at it's current location along the curve.


There are a few settings for what will happen at the end. The default behavior is stopping at the end.
If you toggle "Repeat", the camera will go back to the start.
If you toggle "Bounce", the camera will track backwards towards the start and then start again.


While the camera is tracking, a progress bar will show you the percentage to competion.
You can quckly scrub through the curve by holding left click and dragging the scroll bar.


To change the speed, use the Speed up and Speed down buttons. This will double or halve the speed of the previous keyframe.
This will get us to the Keyframe system.


Keyframes
There is always at least one Keyframe present - at the very start. Keyframe are shown on the progress bar as red rectangles.
To create a keyframe right click the progress bar at the desired location. To remove a keyframe, right click the keyframe.


The tracker will change speed when it passes over a keyframe.

Track Enities
Click on the "Track Entity" button and then select the entity, by clicking on its hitbox (highlighted in green). To stop tracking, hit the button again.
You can also cancel the selection process, by clicking on the button again while the hitboxes are shown.


Lock camera
You can lock the camera with the "Lock camera" button. The camera will be locked to the current editor camera location, once you leave Editor mode.


Hotkeys
There are hotkeys for:
  • Play/Pause
  • Toggle Repeat
  • Toggle Bounce
  • Lock Screen
You have to set them to a key to use them.

Saving and Loading curve and keyframe data
Clicking on the "Save curve data to file" button will create a new .json file with the current curve data inside the directory "Documents\My Games\Terraria\tModLoader\CameraControlData".
Then with the "Load curve data" button, you can select a file and load it's data into the world. Loading curve data will override all curves and keyframes.


Special Thanks to:
Pyroknight, for the trashcan sprite!
Originally posted by tModLoader:
Developed By NotLe0n
27 Comments
Pitaya Apr 24 @ 7:13am 
I don't know if you still care about this mod, but are you able to make it to that you're able to move the camera with the arrow keys once it's locked? I can't find that makes it do that.

I also don't know if this is also extreme programing, but something that I would love to see is something similar to Link's Awakening (or Terraria Snapped, a Scratch Project bringing terarria within Scratch's limitations) with how the camera snaps into place when you reach the corners of the camera to then center it on you.
Evtayla Feb 2 @ 6:53pm 
Thank you for porting~
ManyBest Jan 29 @ 8:19am 
How can I fix that when I attach a camera to an entity, the camera is located to the left? thanks in advance, and your mod is very cool) very useful
NotLe0n  [author] Jan 23 @ 2:06pm 
I version bumped it. I hope it works now.
Evtayla Jan 22 @ 2:43am 
Please port this mod to 1.4.4. This mod was really helpful
NotLe0n  [author] Oct 7, 2023 @ 8:12am 
Yes, the tiles won't load. This mod doesn't do recording, only camera movement. You're gonna have to record using some external software like OBS.
hhhhhuie Oct 7, 2023 @ 5:38am 
So, this has the same issue with zooming out as the other mod, that tiles further out wont be loaded, or am I doing something wrong/*will* they be loaded when actually recording?
Chase81 Jul 8, 2023 @ 4:03pm 
Hi, how do I bind a key to enter the editor mode?
Setnour6 Dec 11, 2022 @ 10:03am 
BLNK! 20 hours ago
@setnour6 you can hotkey the playbutton in settings, it still works after you press F11

Now I learned something.
The problem is that with the f11 UI hiding, I can't move the camera at all via HERO's mod and the player separately if I want to make some cool cinematic stuff. This mod makes it possible
NotLe0n  [author] Dec 11, 2022 @ 1:48am 
A play button delay which you can set in the mod config seems easy enough to implement. I could add that.