mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2025-12-16 05:20:06 +01:00
Refactor the plugin demos to be inside of a project for convenience
This commit is contained in:
@@ -1,9 +1,35 @@
|
||||
# Plugin demos
|
||||
# Plugin Demos
|
||||
|
||||
To use these plugins, copy any of these folders to the `addons/` folder in a Godot project.
|
||||
This contains multiple plugin demos, all placed in a project for convenience.
|
||||
|
||||
Please see the documentation for editor plugins:
|
||||
https://docs.godotengine.org/en/latest/tutorials/plugins/editor/index.html
|
||||
|
||||
Language: GDScript
|
||||
|
||||
Renderer: GLES 2
|
||||
|
||||
# How does it work?
|
||||
|
||||
This project contains 3 plugins:
|
||||
|
||||
* The custom node plugin shows how to create a custom node type
|
||||
using `add_custom_type`. [More info](addons/custom_node).
|
||||
|
||||
* The material import plugin shows how to make a plugin handle importing
|
||||
a custom file type (mtxt). [More info](addons/material_import_plugin).
|
||||
|
||||
* The material creator plugin shows how to add a custom dock with some
|
||||
simple functionality. [More info](addons/material_creator).
|
||||
|
||||
To use these plugins in another project, copy any of these
|
||||
folders to the `addons/` folder in a Godot project, and then
|
||||
enable them in the project settings menu.
|
||||
|
||||
For example, the path would look like: `addons/custom_node`
|
||||
|
||||
Plugins can be distributed and installed from the UI. If you make a zip that contains the folder, Godot will recognize it as a plugin and will allow you to install it.
|
||||
Plugins can be distributed and installed from the UI.
|
||||
If you make a zip that contains the folder, Godot will recognize
|
||||
it as a plugin and will allow you to install it.
|
||||
|
||||
This can be done via the terminal: `zip -r custom_node.zip custom_node/*`
|
||||
|
||||
12
plugins/addons/README.md
Normal file
12
plugins/addons/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# How to use
|
||||
|
||||
To use these plugins in another project, copy any of these
|
||||
folders to the `addons/` folder in a Godot project.
|
||||
|
||||
For example, the path would look like: `addons/custom_node`
|
||||
|
||||
Plugins can be distributed and installed from the UI.
|
||||
If you make a zip that contains the folder, Godot will recognize
|
||||
it as a plugin and will allow you to install it.
|
||||
|
||||
This can be done via the terminal: `zip -r custom_node.zip custom_node/*`
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 809 B After Width: | Height: | Size: 809 B |
20
plugins/addons/material_creator/README.md
Normal file
20
plugins/addons/material_creator/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Material Creator Plugin Demo
|
||||
|
||||
This plugin demo contains a custom material creator
|
||||
interface using a custom dock in the editor.
|
||||
|
||||
Custom docks are made of Control nodes, they run in the
|
||||
editor, and any behavior must be done through `tool` scripts.
|
||||
For more information, see this documentation article:
|
||||
https://docs.godotengine.org/en/latest/tutorials/plugins/editor/making_plugins.html#a-custom-dock
|
||||
|
||||
This plugin allows you to specify color, metallic, and
|
||||
roughness values, and then use it as a material.
|
||||
|
||||
You can apply this material directly to Spatial
|
||||
nodes by selecting them and then clicking "Apply".
|
||||
This shows how a plugin can interact closely with the
|
||||
editor, manipulating nodes the user selects.
|
||||
|
||||
Alternatively, you can also save the material to
|
||||
a file, and then load it back into the plugin later.
|
||||
9
plugins/addons/material_import_plugin/README.md
Normal file
9
plugins/addons/material_import_plugin/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Material Import Plugin Demo
|
||||
|
||||
This plugin demo shows how a custom import system can
|
||||
be added to the editor. In this case, it imports a material.
|
||||
For more information, see this documentation article:
|
||||
https://docs.godotengine.org/en/latest/tutorials/plugins/editor/import_plugins.html
|
||||
|
||||
In the editor, try opening `test.mtxt`. Godot will recognize
|
||||
it and import it as a material because of this plugin.
|
||||
15
plugins/custom_node_test.tscn
Normal file
15
plugins/custom_node_test.tscn
Normal file
@@ -0,0 +1,15 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://addons/custom_node/heart.gd" type="Script" id=1]
|
||||
|
||||
[sub_resource type="CubeMesh" id=1]
|
||||
|
||||
[node name="CustomNodeTest" type="Node2D"]
|
||||
|
||||
[node name="Heart" type="Node2D" parent="."]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="MeshInstance" type="MeshInstance" parent="."]
|
||||
mesh = SubResource( 1 )
|
||||
skeleton = NodePath("")
|
||||
material/0 = null
|
||||
7
plugins/default_env.tres
Normal file
7
plugins/default_env.tres
Normal file
@@ -0,0 +1,7 @@
|
||||
[gd_resource type="Environment" load_steps=2 format=2]
|
||||
|
||||
[sub_resource type="ProceduralSky" id=1]
|
||||
|
||||
[resource]
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
||||
BIN
plugins/icon.png
Normal file
BIN
plugins/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
34
plugins/icon.png.import
Normal file
34
plugins/icon.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.png"
|
||||
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
@@ -1,13 +0,0 @@
|
||||
# Material Creator Plugin Demo
|
||||
|
||||
This plugin demo contains a custom material creator interface using a custom dock in the editor.
|
||||
|
||||
Custom docks are made of Control nodes, they run in the editor, and any behavior must be done through `tool` scripts.
|
||||
For more information, see this documentation article: https://docs.godotengine.org/en/latest/tutorials/plugins/editor/making_plugins.html#a-custom-dock
|
||||
|
||||
This plugin allows you to specify color, metallic, and roughness values, and then use it as a material.
|
||||
|
||||
You can apply this silly material directly to Spatial nodes by selecting them and then clicking "Apply".
|
||||
This shows how a plugin can interact closely with the editor, manipulating nodes the user selects.
|
||||
|
||||
Alternatively, you can also save the silly material to a file, and then load it back into the plugin later.
|
||||
@@ -1,6 +0,0 @@
|
||||
# Material Import Plugin Demo
|
||||
|
||||
This plugin demo shows how a custom import system can be added to the editor. In this case, it imports a material.
|
||||
For more information, see this documentation article: https://docs.godotengine.org/en/latest/tutorials/plugins/editor/import_plugins.html
|
||||
|
||||
In the editor, try opening `test.mtxt`. Godot will recognize it and import it as a material because of this plugin.
|
||||
32
plugins/project.godot
Normal file
32
plugins/project.godot
Normal file
@@ -0,0 +1,32 @@
|
||||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=4
|
||||
|
||||
_global_script_classes=[ ]
|
||||
_global_script_class_icons={
|
||||
|
||||
}
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Plugin Demos"
|
||||
config/description="This contains multiple plugin demos, all placed in a project for convenience."
|
||||
run/main_scene="res://custom_node_test.tscn"
|
||||
config/icon="res://icon.png"
|
||||
|
||||
[editor_plugins]
|
||||
|
||||
enabled=PoolStringArray( "custom_node", "material_creator", "material_import_plugin" )
|
||||
|
||||
[rendering]
|
||||
|
||||
quality/driver/driver_name="GLES2"
|
||||
vram_compression/import_etc=true
|
||||
vram_compression/import_etc2=false
|
||||
environment/default_environment="res://default_env.tres"
|
||||
Reference in New Issue
Block a user