
Quick Start Guide
Install the Blender Addon to get started:
- Go to
Edit > Preferences > Add-ons
and click the down arrowˇ
in the upper right. - Click
Install from Disk...
and select theFolded Paper Engine
Blender addon zip file. - Click
Install from Disk
. - Restart Blender.
Create some ground to stand on:
- Once back in your Blender file, add a Mesh Cube to the scene.
- Make it a static body for Godot by adding
-col
to the end of the name. - This is already supported by Godot. See all of the options: Godot node type customization.
Make a basic Player object with Folded Paper Engine:
- Create a new mesh object (a sphere is fine).
- Select the sphere and press
N
to open the viewport properties panel. - Go to the
Item
tab. - Under Folded Paper Engine in the
Item
tab, checkPlayer
. - CONGRATS! You now have a player!
Export a GLB/GLTF for use with Godot:
- Go to
File > Export
and chooseglTF
. - Check
Remember Export Settings
. (You'll thank me later 😊) - Click the down arrow
ˇ
next toInclude
and check the box that saysCustom Properties
. - Optionally, check the boxes for
Cameras
andPunctual Lights
if exporting cameras and lights. - Name the file and choose a location inside your Godot project folder.
- Click
Export
. - Your file is now ready to be used by Folded Paper Engine in Godot. See the Godot setup here.
Blender Panels
Scene
- Sky Color: (Color) Select the sky color for the scene.
- Background Music: (Files) Select the background music for the scene.
- Background Music Volume: (Float) The volume of the background music in decibels.
- Gravity: (Float) The gravity of the scene in meters per second squared.
- Scene Load Events: (Collection of Event Property Group) Execute commands when the scene is loaded.
- Scene Unload Events: (Collection of Event Property Group) Execute commands when the scene is unloaded.
Folded Paper Engine
- Player: (Boolean) Create a player.
- Character: (Boolean) Create a character.
- Physics: (Boolean) Apply physics to this object.
- Invisible: (Boolean) Set to true to make the object invisible.
- Water: (Boolean) Set to true to make the object a water plane.
- Sprite Animate: (Float) Set the sprite animation speed. All child node will be cycled through to create a sprite animation.
- Trigger: (Boolean) Set to true to trigger the configured commands (from the command palette) on interaction.
- Speaker: (Boolean) Make this item a 3D speaker.
- UI Element: (Boolean) Make this item a UI element.
- Sub Scene: (Boolean) Load a sub scene in this item.
- Holdable: (Boolean) Make this item holdable.
- Groups: (String) CSV: The groups for this item. Used in your own custom code.
- Script Path: (File) Set the script for this item. WARNING: Only use this if you know what you are doing, this will overwrite any existing script/functionality.
Scene Events
- Scene Events: (Collection of Scene Event Property Group) Execute commands when a scene event occurs.
Trigger Events
- Trigger Groups: (String) The trigger groups for this item.
- Trigger Events: (Collection of Trigger Event Property Group) The Scene Events that will be triggered when this item is a trigger.
Inventory Item
- Inventory Item Kind: (String) The Inventory Item Kind.
- Inventory Item Quantity: (Integer) The Inventory Item Quantity.
Speaker Settings
- Speaker File: (File) Path to the audio file for this speaker.
- Speaker Loop: (Boolean) Loop the speaker audio.
- Speaker Volume: (Float) Volume of the speaker in decibels.
- Speaker Max Distance: (Float) Maximum distance for the speaker to be heard.
- Speaker Autoplay: (Boolean) Autoplay the speaker audio immediately.
Character
- Walk Speed Multiplier: (Float) A multiplier for the character's walk speed.
- Run Speed Multiplier: (Float) A multiplier for the character's run speed (Which is already affected by the Walk Speed Multiplier).
- Jump Force Multiplier: (Float) A multiplier for the character's jump force.
- Idle Animation: (String) The name of the idle animation.
- Walk Animation: (String) The name of the walk animation.
- Run Animation: (String) The name of the run animation.
- Jump Animation: (String) The name of the jump animation.
- Talk Animation: (String) The name of the talk animation.
- Wandering Bounds: (Node) The object representing the area where the character can wander.
- Face Motion Direction: (Boolean) Face the motion direction.
Physics
- Mass: (Float) Set the collision object mass.
- Friction: (Float) Set the collision object friction.
- Bounciness: (Float) Set the collision object bounciness.
- Continuous Collision Detection: (Boolean) Enable continuous collision detection.
Folded Paper Engine (Animation)
- Autoplay: (Boolean) Set to true to play this animation automatically.
- Loop: (Boolean) Set to true to loop this animation.
Folded Paper Engine (Frame Events)
- Frame Events: (Collection of Frame Event Property Group) Frames that trigger events.
Folded Paper Engine (Material)
- Render Priority: (Integer) Set the render priority for this material.
- Reflective: (Float) Set the reflectivity of this material.
- Replace With Material: (File) Replace this material with the specified material.
UI Element
- UI Cursor: (Boolean) Make this item a UI cursor.
- UI Cursor Depth: (Float) Set the UI cursor depth.
- UI Cursor Select Animation: (String) The name of the UI cursor select animation.
- UI Cursor Look At Camera: (Boolean) Make the UI cursor always look at the camera.
- UI Option: (Boolean) Make this item a UI option.
- UI Option Command Delay: (Float) Set the UI option command delay in milliseconds.
Sub Scene
- Scene File: (File) Path to the scene file for this sub scene.
- Auto Load: (Boolean) Automatically load the sub scene when the parent scene loads.
- Pause: (Boolean) Pause the parent scene when the sub scene is loaded.
- Resume On Unload: (Boolean) Resume the parent scene when the sub scene is unloaded.
- Unload Delay: (Float) Delay in milliseconds before unloading the sub scene.
Player Controls
- Third Person: (Boolean) Enable full third person controls.
- First Person: (Boolean) Enable first person controls.
- Can Hold Items: (Boolean) Enable holding items.
- Hold Zone Distance: (Float) The distance from the player to the area where items can/will be held.
- Hold Zone Size: (Float) The size of the area where items can/will be held.
- Hold Zone Scene: (File) A scene to load into the player's hold zone. The parent of this scene will be a
HoldZone
with holdable item related signals. - Standard Camera Height: (Float) The standard height of the camera.
- Standard Camera Distance: (Float) The standard distance of the camera.
Activity Property Group
- Activity Type: (Enum) The type of activity.
Event Property Group
- Event Name: (String) The name of the event.
Commands Property Group
- Dispatch Event: (String) The name of the event to dispatch.
- Load Level: (File) Load a level on trigger.
- Animations: (String) CSV: Play animations on trigger.
- Stop Animations: (String) CSV: Stop animations on trigger.
- Speaker Trigger: (String) True to play this item as a speaker when intersecting with it. Or the name of a specific speaker to play.
- Speaker Trigger Self: (Boolean) Play this item as a speaker when intersecting with it.
- Activate Camera: (Node) Activate the selected camera.
- Reactivate Player Camera: (Boolean) Reactivate the player's camera.
- Deactivate Player Controls: (Boolean) Deactivate the player's controls.
- Reactivate Player Controls: (Boolean) Reactivate the player's controls.
- Load Sub Scene: (Node) Load a specific sub scene by item name.
- Unload Sub Scene: (Node) Unload a specific sub scene by item name.
- Unload This Sub Scene: (Boolean) Unload this scene as a sub scene.
- Start Conversation: (Files) Start one of the specified conversations. The conversation is selected by the names of the characters involved and the required characters list in the conversation.
- Pause Specific Activities: (Collection of Activity Property Group) Pause the specified game activities.
- Resume Specific Activities: (Collection of Activity Property Group) Resume the specified game activities.
- Delete By Group: (String) Delete items in the specified group.
Scene Event Property Group
- Event Name: (String) The name of the event.
- Commands: (Object of Commands Property Group) The commands to execute when the event occurs.
Trigger Event Property Group
- Trigger Type: (Enum) The type of trigger (When/why the event is triggered).
- Event Name: (String) The name of the event.
Frame Event Property Group
- Event Name: (String) The name of the event.
Type Legend
- String:
Hi there!
- Integer:
1
,2
,3
, ... - Float:
1.0
,2.0
,3.0
, ... - Boolean:
true
orfalse
- Node:
MyCube
- File:
res://...
- Files:
res://...
,res://...
,res://...
- Image:
res://.../texture.png
- Images:
res://.../texture.png
,res://.../texture.png
,res://.../texture.png
- Collection: Multiple items
- Object: An item with a set of settings and values
- Enum:
One
,Two
orThree
- Color:
#FFFFFFFF
- CSV:
One,Two,Three