cd <project_dir>
mkdir build
cd build
cmake ..
make
- if build succeeds, an executable
toys
will be created inbuild/
keyframes.txt
contains saved keyframes- [extra]
bezier.txt
contains 4 control points of the bezier curve- camera moves along this bezier curve, once all the keyframes are completed.
- to capture frames in play mode, make
capture_frame = true
inView::View()
inview.cpp
.- these frames would be saved in
build/frames
asframe_<id>.ppm
- these frames would be saved in
convert.sh
is a script to process the saved frames and combine them to create a video.
- each line in
keyframes.txt
corresponds to one keyframe - <length (in number of frames)> <camera (rotation and position)> <rotation and position(if translatable) for all other nodes>
-
M
: toggle mode (record / play) (default mode: record) -
R
: reset view -
O
: [in record mode] save keyframe -
J
,K
andL
: toggle light1, light2 and spotlight respectively. -
B
: selects Buzz model (selected by default) -
H
: selects Hamm model -
If you have selected Buzz, parts of Buzz can be selected by the following: [key - part]
0
- Hip1
- Torso2
- Neck3
- Left Upper Arm4
- Left Lower Arm5
- Left Hand6
- Right Upper Arm7
- Right Lower Arm8
- Right HandSHIFT + 0
- Left ThighSHIFT + 1
- Left LegSHIFT + 2
- Right ThighSHIFT + 3
- Right LegSHIFT + 4
- Left FootSHIFT + 5
- Right Foot
-
If you have selected Hamm, parts of Buzz can be selected by the following: [key - part]
0
- Torso1
- Head3
- Front Left Leg4
- Front Right Leg5
- Back Left Leg6
- Back Right Leg
-
After selecting, parts can be rotated. (each part have rotational restrictions!)
W
,S
- along Y-axisA
,D
- along X-axisQ
,E
- along Z-axis
-
If you have selected
0
th node in a model (select model, press0
), then the model can be translated by pressingSHIFT
+ [A
,D
,Q
,E
] -
Camera can be rotated using
ARROW
keys,PAGE UP
andPAGE DOWN
. -
Camera can be translated using
SHIFT
+ [ARROW
keys,PAGE UP
,PAGE DOWN
]. -
Use
Z
andX
to zoom in and out camera respectively.