Ever wanted to have a smooth camera movement all-together with your accelerated video ?
Then this mod is made for you !
New version available ! (details here)
If you like this mod, make this thread alive !
This mod is addressed to anyone who wants to make a video in-game and have an in depth control over the camera displacement.
It allows you to create a path that the player will automatically follow, control what the player sees along this path, and set up the player's precise speed through a global timing for his traveling.
You'll also have an accurate control over night and day cycles, as you'll be able to set how long precisely you want each cycle to last, independently of each other (say 30 minutes for day, and 10 minutes for night). Note that this won't influence game mechanics, such as mob-spawning, or crops growing : it's only for the show !
So, is this mod for you ?
- if you want to film a timelapse, undoubtedly it is !
In such videos, there is nothing more boring than a static point of view, and nothing more awful than very fast moves, which turn out to be instantaneous and very aggressive when you speed up your video a hundred time. With this mod, you will be able to change the field of view at a very slow speed, providing a smooth cool movement to your camera, and so bring a more "alive" experience to your video. - if you simply want to make a showcase of your world / builds / whatever, controlling precisely your camera will get rid your video of unpleasant moves, and add pretty much quality to it.
- if you simply want to make a video but don't have enough FPS to do it nicely, whether because your computer isn't fast enough, or because you want to use those incredible (but gpu intensive) mods that are the Water Shader mod, or Sonic Ether's Unbelievable Shaders mod,
You can use a common technique which is to post-process your video with an external software in order to accelerate its overall speed. By doing so, you'll catch up those missing frames and have a fluent render, and thanks to Camera Studio you'll be able to lower the camera motion's speed so that it looks more realistic at the end.
REVIEWS
Here is an excellent review made by AntVenom from the Machinima Network.
To see what you can do with this mod, the best is to watch what other people did with it ![]()
TIMELAPSES
SHOWCASES
MOVIES
[center]WHAT YOU SHOULD KNOW
- This mod can be used in multi-player and in single-player mode.
If you want to use it in single-player mode, you must have some way to access the chat console : you can use, for example, Single Player Commands.
Camera Studio doesn't provide a way to access the chat console by itself, because I want it to stay compatible with other mods. - All the movement computations are made client side, and no command is issued to the server (no tp or equivalent). To move the player, this mod only tells the Minecraft engine (client, or server) what the next player position should be.
It won't breaks the physics of the game, e.g. you won't be able to travel trough blocks, and you won't be able to fly if you're not already in fly mode (with creative fly mode, or with excellent Zombe fly mode for instance).
So be aware of the the following :
- if a block lies between you and the next supposed move during a traveling, you will get blocked. If this happens, simply stop the traveling with the appropriate command (see below).
- if you travel too fast and go inside blocks during a traveling on a server, you will get kicked, as the server doesn't allows such moves. If this happens, simply reconnect to the server without quitting the game (all the registered points and trajectory will be still in memory, and can be reused without entering the commands again) - when a target is used, the mouse input will be locked once the traveling starts, in order not to disturb the traveling if you're shooting a video. The mouse will get unlocked once the traveling ends, or if the traveling is manually stopped with the appropriate command (see below)
WHAT'S NEW IN LATEST VERSION
(build 347)
- Updated to 1.2.4 (compatible 1.2.5)
- Updated to 1.2.3
- Corrected a bug which made circular path unusable.
- Each point now saves orientation as well ! Playing a path will take care of these orientations and smoothly turn the camera between the points.
- Added a generic command to register points. "/cam p" will create a new point and auto-increment its name.
- Added generic commands to register path. "/cam sp" creates a spline with all registered points, keeping their order. "/cam l" and "/cam cr|cl" will use the last two points.
- Changed path registration arguments order so that its a more natural. Instead of typing "/cam p1 l p2", "/cam p1 cr p2" or "/cam p1 sp p2 p3", you must now type "/cam l p1 p2", "/cam cr p1 p2" and "/cam sp p1 p2 p3".
- Added a compacted way to register spline points. Typing "/cam sp p1-p5" is equivalent to "/cam sp p1 p2 p3 p4 p5"
- Added commands to load and save current settings : "/cam load", "/cam save", "/cam list"
- Added an autosave feature on cam start (path can be reloaded through "/cam load last")
- Added commands to pause current traveling : "/cam pause", "/cam resume"
- Added commands to bind start command and elastic time : "/cam bind", "/cam unbind"
- Corrected a "moved too quickly!" bug on a "/cam goto" or "/cam start" command.
DOWNLOAD LINKS
(please have a look at my other project if you didn't yet)
Link to latest version (build 347) for Minecraft 1.2.4 / 1.2.5
Link to latest version (build 345) for Minecraft 1.2.3
Link to latest version (build 340) for Minecraft 1.1
Older version link (build 337) for Minecraft 1.1
This mod doesn't support Minecraft 1.0 anymore. You sill can get an old link here, but it concerns an older version of Camera Studio.
However, if many of you ask to use the latest version with Minecraft 1.0, I may make it compatible with Minecraft 1.0...
INSTALLATION
Extract the archive, and add its contents (class file AND folder) into your minecraft.jar file. Don't forget to delete the [META-INF] folder from minecraft.jar, or the game won't launch and you'll get a black screen.
On some Mac OS platforms, it might happen you have a black screen on startup. If so, you can try the following tip given by DaedalusYoung :
Quote
COMPATIBILITY
- compatible with nearly all mods (Zombe, SPC, TMI, Optifine, Rei Minimap ...)
- not compatible with any mod containing (depending on your Minecraft version):
- yf.class (MC 1.2.4)
- yb.class (MC 1.2.3)
- wm.class (MC 1.1)
(this should concern very few mods)
Someone reported Smart Moving too (here) (I didn't test myself)
If you find any compatibility issue, please report it in this thread.
CONFIGURATION FILE
Some options can be tuned through the configuration file.
This file is called config.properties, and is generated on first launch in the .minecraft/mods/camerastudio/ directory.
HOW TO USE IT / QUICK TUTORIAL
First, you must register positions along with orientations.
Put yourself in fly mode, go to what should be your first position, look at what you would like to start looking at, and then type /cam p (will create point p1).
Go to another location, again control your orientation, and type /cam p (will create point p2). Again with a third position and orientation, and type /cam p (will create point p3).
Secondly, you must register what kind of path your camera will follow (linear, circular, or spline).
Type /cam sp. A spline path is now registered, going from p1 to p2 and to p3.
Start the traveling with a short time value in order to test.
Type /cam start without any time value to see if the path is correct to you. If 5 seconds is too quick for the motion, type /cam start 10s, or /cam start 15s to have a better overall feeling.
If you want to change one points position or orientation, you can register this point again, and restart the traveling without re-registering the path.
Type /cam goto p2. Move your mouse to change your orientation, and type /cam p2 : new orientation is now saved.
Type /cam start to replay the traveling through the 3 points. Notice the time used for this new traveling is the last one you entered.
The points registration order is important.
Type /cam undo p2. Move to a new position, and type /cam p2.
Type /cam start ; you're still traveling through p1, p2 and p3, since your path was registered before you deleted the point.
Now type /cam sp, and then /cam start : notice the order of the points have changed, as you're now traveling from p1 to p3, and then from p3 to p2.
Optionally, you can register a position as a target to look at during the whole movement.
Go to the position where you would like to look at, and type /cam target.
Type /cam start ; orientation is now locked to only one point.
Finally, if the path is good to you, restart the traveling with the duration you want for your video.
Type /cam start 5m, hit F1, and start you favorite video recorder.
If you want to start a whole new traveling, type /cam clear
COMMANDS REFERENCE
/cam : Shows the current settings of the cam command.
/cam p{number} : Creates or modifies a point which can be used to define a path. The current location and orientation will be saved into memory under the given name (can be p1, p2, p1000 - whatever). Points can be created in any order - the number is just there as an identifier.
Examples :
- /cam p1
- /cam p2
- /cam p1000
/cam p : Creates a new point just like the above command, and names it automatically by incrementing its number. This command will take care of existing points, and so skip existing identifiers if they already exist.
Examples :
- Typing three times /cam p if there are no point defined yet will create p1, p2 and p3.
- Typing three times /cam p if the point p2 already exists will create p1, p3, and p4.
/cam p clear : Deletes all registered points.
/cam undo p{number} : Deletes the point which has the given name. If you create again a point with the same name after, this new point will be pushed in last place in the point list. If you simply want to change a points position or orientation, but want to keep it in the order it was defined, use /cam p{number} directly.
Example :
- /cam undo p1
/cam goto p{number} : Quick navigates to the given point. You must ensure that no solid block lies between you and the given point, else this command won't be able to achieve the move.
Example :
- /cam goto p1
/cam target : Saves the current location as the only position to look at during the whole camera movement.
/cam undo target : Deletes the point to look at, and reverts to the conventional orientation handling, which is one orientation per point.
/cam orient on|off|target : Changes the orientation handling. on stands for orientation per point handling (which is the default), off stands for free orientation with the mouse, and target stands for orientation defined with a target. Using the /cam target command will automatically switch to the target orientation system.
Examples :
- /cam orient off
- /cam orient on
- /cam orient target
/cam l p{num1} p{num2} : Registers a linear path from p{num1} to p{num2}. The camera will move in a straight direction.
Example :
- /cam l p1 p2
/cam l : Registers a linear path starting from the next to last point of the registered points list (given with /cam), and going to the last point of it.
Example :
- Given a point list [p1,p2,p3], /cam l registers a path from p2 to p3.
/cam cr|cl p{num1} p{num2} [h{positive or negative value}] [{float value}] : Registers a circular path from p{num1} around p{num2}. The camera will keep p{num1} elevation, whatever circle's center elevation is. Use cr to turn to the right, or cl to turn to the left. Optional h followed by positive or negative value raises or lowers the camera during the move in order to describe an helix movement (value is an height in cubes, and is defaulted to 0). Optional float value is the number of turns to achieve, which is 1 by default. Also, subsequent calls to this command can omit to give the two points as arguments, and can be used to just change the "height" or "turns" parameters.
Examples :
- /cam cr p1 p2 ; turn from p1 around p2 to the right exactly one time,
- /cam cl p1 p2 0.5 ; turn from p1 around p2 to the left exactly one half time,
- /cam cl p1 p2 h40 ; turn from p1 around p2 to the left exactly one time, and raise the camera for 40 cubes
- /cam cl p1 p2 5 h-50 ; you can mix all options together..
- /cam cl h-50 ; works only if you made a call to "/cam cl p1 p2" prior to this command.
/cam cr|cl : Registers a circular path starting from the next to last point of the registered points list (given with /cam), and going around the last point.
Example :
- Given a point list [p1,p2], /cam cr registers a circular path from p1 around p2.
- Given a point list [p1,p2,p3], /cam cr registers a circular path from p2 around p3.
/cam sp p{num1} p{num2} p{num3} [p{num4}...] : Registers a curvilinear path (a spline) along the given points. The camera will describe a smooth curve movement passing through each given points at constant speed.
Example :
- /cam sp p1 p2 p5 p3 p6 ; starting from p1, go to p2, then p5, then p3, then p6
/cam sp : Registers a spline path along all the registered points, in the order they appear in the registered points list (given with /cam). Adding a subsequent point to this list doesn't change this path. If you add a point to this list and want to travel through it, you have to call /cam sp again.
Example :
- Given a point list [p1,p2,p3], /cam sp registers a spline path from p1 to p2, and then to p3.
/cam start [{value}s|m|h] : Starts the camera movement for the given time value. With no argument, it will consider the last given time value (default is 5 seconds). Time argument can be expressed in seconds, minutes, or hours.
Note : when a target is used, the mouse input will be locked once the traveling starts, in order not to disturb the traveling if you're shooting a video. The mouse will get unlocked once the traveling ends, or if the traveling is manually stopped.
Examples :
- /cam start 20s ; do the movement in 20 seconds
- /cam start 20m ; do the movement in 20 minutes
- /cam start 2h ; do the movement in 2 hours
/cam stop : Stops the camera if its motion is still in play. Starting again the camera will play the path from the beginning.
/cam pause : Pauses the camera if it has been started with /cam start, but hasn't yet finished its traveling. This is useful if you experience whatever problem that forces you to pause or stop your video recording.
/cam resume : Continues the traveling if it has been paused before with /cam pause.
/cam clear : Clears the current settings, and restores to the default state.
/cam save {name} : Saves all the settings entered so far (points, path, and time values) with the given name. This will save the settings in a file located in the "path" dir next to the config file.
/cam load {name} : Load the settings previously saved with the given name. All the current settings will be lost.
/cam list : Lists all the settings saved so far.
/cam bind : Binds the Cam command with the Elastic-time command. A call to /cam start, pause, resume and stop will also start, pause, resume and stop the Elastic-time feature.
/cam unbind : Makes the Cam and Elastic-time commands independent (this is the default state).
/et : Gives the summary of the Elastic Time command.
/et {value}s|m|h [{value}s|m|h] : Configures the length of each cycle (night and day). If it comes with one argument, the given duration is evenly split for night and day. If it comes with two arguments, the first value is the day length, and the second is the night length. Time value can be expressed in seconds, minutes, or hours. Note that this command doesn't change the time flow by itself : you'll have to call /et on to do so.
Examples :
- /et 5m ; day and night will last 2 and half minutes each
- /et 30m 20m ; day lasts 30 minutes, and night 20 minutes.
/et on : Starts the Elastic Time command. By default, night and day are configured to last 5 seconds each.
Notes :
- It doesn't affect the real time on a server - it's all processed client-side, and you're the only one to see a time change.
- If you put tiny values (say under a minute), and play on a server, you will probably experience annoying sun and moon jumps, as the time is frequently readjusted by the server, and remains the master clock.
/et off : Stops the Elastic Time command, restoring the default time control.
/et pause : Pauses the command.
/et resume : Un-pauses the command.
ABOUT CHAT MESSAGES
The first goal of this mode being to film timelapses, it was important to tell the other builders when the traveling ends.
That's why once a traveling ends, a nice chat message "Traveling ended !" is sent to everybody in game. This feature can be turned off through the configuration file by setting the endChatTravellingMsg value to false.
With the same idea, periodic messages are sent in order to tell what time is left for the current traveling. These messages are sent every 20 minutes, then every 10 minutes, then every 2 minutes. Each of these values can be configured along with the longPeriodMinutes, shortPeriodMinutes, and veryShortPeriodMinutes entries of the configuration file. This feature can be totally turned off by setting periodicChatTravellingMsg to false.
OLD VERSIONS
I'm not updating Camera Studio for the 1.0 version of Minecraft anymore.
You still can get an old version here :
Old version link for Minecraft 1.0
Old version link for Minecraft 1.1
Don't forget to watch the command list below as they are slightly different than the new ones.LICENSE
This mod remains the exclusive property of Sushen, referred here as The Owner, and is granted for free.
You have the right to use this mod, write reviews on it, and make video using it.
If you publish a video using this mod on a video hosting site (such as Youtube, or Dailymotion ..), you must put a direct link leading to this post in the video description.
You cannot reuse the content of this mod in other packs, or modify its content.
You cannot redistribute this mod or its content without a written agreement of The Owner.
The only legal links to download this mod are the ones provided in this post.
DONATE
If you like this mod and find it helpful, donating is a concrete way to support me.
It will also encourage me to correct bugs, make new versions, and develop new mods for the Minecraft community.
Thanks a lot.

Please enjoy, and don't hesitate to share your creations with me.
Feedback and suggestions to make it better are highly appreciated
Curse
MMO-Champion
WowStead
Arena Junkies
Minecraft Forums
DarthHater
Diablo Fans
Terraria Online













