Guide:Godot: Difference between revisions
From Game Making Tools Wiki
(Added some scripting-specific tutorials) |
(shader tut vid) |
||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Scripts == | == Scripts == | ||
Click on '[Expand]' to view the code for a script. | |||
=== video-to-texture.gd === | === video-to-texture.gd === | ||
<div class="mw-collapsible mw-collapsed"> | |||
This script renders a video to a new material on the object this script is attached to. | This script renders a video to a new material on the object this script is attached to. | ||
<div class="mw-collapsible-content"> | |||
Godot only supports the [[:Wikipedia:Theora|Theora | Godot only supports the [[:Wikipedia:Theora|Theora]] and [[Wikipedia:WebM|WebM]] video codecs (unless you are a really advanced user), but you can use something like [[FFmpeg]] to convert whatever video you have. | ||
Source: [https://godotengine.org/qa/16661/video-skydome-video-image-texture-project-video-sphere-mesh Video skydome for VR - video to image texture? Project video on sphere mesh?] | Source: [https://godotengine.org/qa/16661/video-skydome-video-image-texture-project-video-sphere-mesh Video skydome for VR - video to image texture? Project video on sphere mesh?] | ||
<pre> | <pre> | ||
extends | extends MeshInstance | ||
var stream = preload("video.ogv") | var stream = preload("video.ogv") | ||
func _ready(): | func _ready(): | ||
var player = VideoPlayer.new() | |||
player.set_stream(stream) | |||
add_child(player) | |||
var texture = player.get_video_texture() | |||
material.albedo_texture = texture | |||
material.set_flag(material.FLAG_UNSHADED, true) | |||
set_material_override(material) | |||
player.play() | |||
</pre> | </pre> | ||
* Replace <code>"video.ogv"</code> with the path to your file. For me it is <code>"res://videos/ | * Replace <code>"video.ogv"</code> with the path to your file. For me it is <code>"res://videos/test5.ogv"</code>. You can also use relative paths. | ||
* <code> | * <code>MeshInstance</code> can be replaced with whatever object you have this attached to. <code>MeshInstance</code> is the default for new mesh nodes. | ||
And here's a version with looping video :) (and tabs ;)) | And here's a version with looping video :) (and tabs ;)) | ||
<pre> | <pre> | ||
extends | extends MeshInstance | ||
var stream = preload("video.ogv") | var stream = preload("video.ogv") | ||
Line 39: | Line 41: | ||
add_child(player) | add_child(player) | ||
var texture = player.get_video_texture() | var texture = player.get_video_texture() | ||
var material = | var material = SpatialMaterial.new() | ||
material. | material.albedo_texture = texture | ||
material.set_flag( | material.set_flag(material.FLAG_UNSHADED, true) | ||
set_material_override(material) | set_material_override(material) | ||
func | func _physics_process(_delta): | ||
if not player.is_playing(): | if not player.is_playing(): | ||
player.play() | player.play() | ||
</pre> | </pre> | ||
* Note that the variable declaration <code>var player = VideoPlayer.new()</code> moves outside the <code>_ready</code> function so that it can be used elsewhere. | |||
* Using <code>_delta</code> instead of <code>delta</code> is a trick to stop it reporting an error for not being referenced inside that function. | |||
</div></div> | |||
== Reading and Writing Files == | |||
For example reading config files, and saving and loading games. | |||
* https://godot.readthedocs.io/en/stable/learning/step_by_step/filesystem.html#doc-filesystem | |||
* https://godotdevelopers.org/forum/discussion/comment/20047/#Comment_20047 | |||
== Audio == | |||
* [https://www.youtube.com/watch?v=6VZnabKdlQ8 How to Mix Sound & Background Music in Godot] - May 2020 video. | |||
== Tutorials == | == Tutorials == | ||
* [https://www.youtube.com/watch?v=K5-5j4H4Ypo GETTING STARTED IN GODOT GAME ENGINE - EASY BEGINNER TUTORIAL] - Video. | * [https://www.youtube.com/watch?v=K5-5j4H4Ypo GETTING STARTED IN GODOT GAME ENGINE - EASY BEGINNER TUTORIAL] - December 2016 Video. | ||
* [http://www.gamefromscratch.com/post/2015/01/04/A-Closer-Look-at-the-Godot-Game-Engine.aspx A Closer Look at the Godot Game Engine] - Text, but [http://www.gamefromscratch.com/page/Godot-Game-Engine-tutorial-series.aspx video versions are availible] if you prefer. | * [http://www.gamefromscratch.com/post/2015/01/04/A-Closer-Look-at-the-Godot-Game-Engine.aspx A Closer Look at the Godot Game Engine] - Text, but [http://www.gamefromscratch.com/page/Godot-Game-Engine-tutorial-series.aspx video versions are availible] if you prefer. | ||
* [https://www.youtube.com/watch?v=-D-IcbsdT04 Basic 3D Game in Godot 3 - Tutorial Part 1] - Video. | |||
* [https://www.youtube.com/watch?v=B5vE-nNszxA Godot Vehicle Tutorial part 1 - import and setup a car] - Video covering both [[Blender]] and [[Godot]]. | |||
* [http://kidscancode.org/godot_recipes/ Godot Recipes] - Guide that's part of Kids Can Code. Doesn't actually feel well targeted at anyone I would consider a kid, but I personally find it useful! — [[User:Rjt|rjt]] ([[User talk:Rjt|talk]]) | |||
=== Scripting === | === Scripting === | ||
* | * [https://www.youtube.com/channel/UCBHuFCVtZ9vVPkL2VxVHU8A Ivan Skodje]'s Youtube channel has Godot tutorials related to making full games and scripting. | ||
* | * [https://www.codecademy.com/learn/python Python] - Free Python coarse on Code Academy. | ||
=== Shaders === | |||
* [https://www.youtube.com/watch?v=vm9Sdvhq6ho Godot 3D shader tutorial (1): Water in 3D] | |||
== See Also == | == See Also == | ||
* [[Godot | * [[Godot]]. | ||
* [https://github.com/godotengine/awesome-godot Awesome Godot] - List of links. | |||
* [https://godot-engine.zeef.com/andre.antonio.schmitz Godot Engine] links on Zeef. | |||
* [https://old.reddit.com/r/godot/search/?q=flair%3ATutorial&sort=new&restrict_sr=on Tutorials] on the Godot Reddit board. |
Latest revision as of 19:06, 13 March 2021
Scripts
Click on '[Expand]' to view the code for a script.
video-to-texture.gd
This script renders a video to a new material on the object this script is attached to.
Godot only supports the Theora and WebM video codecs (unless you are a really advanced user), but you can use something like FFmpeg to convert whatever video you have.
Source: Video skydome for VR - video to image texture? Project video on sphere mesh?
extends MeshInstance var stream = preload("video.ogv") func _ready(): var player = VideoPlayer.new() player.set_stream(stream) add_child(player) var texture = player.get_video_texture() material.albedo_texture = texture material.set_flag(material.FLAG_UNSHADED, true) set_material_override(material) player.play()
- Replace
"video.ogv"
with the path to your file. For me it is"res://videos/test5.ogv"
. You can also use relative paths. MeshInstance
can be replaced with whatever object you have this attached to.MeshInstance
is the default for new mesh nodes.
And here's a version with looping video :) (and tabs ;))
extends MeshInstance var stream = preload("video.ogv") var player = VideoPlayer.new() func _ready(): player.set_stream(stream) add_child(player) var texture = player.get_video_texture() var material = SpatialMaterial.new() material.albedo_texture = texture material.set_flag(material.FLAG_UNSHADED, true) set_material_override(material) func _physics_process(_delta): if not player.is_playing(): player.play()
- Note that the variable declaration
var player = VideoPlayer.new()
moves outside the_ready
function so that it can be used elsewhere. - Using
_delta
instead ofdelta
is a trick to stop it reporting an error for not being referenced inside that function.
Reading and Writing Files
For example reading config files, and saving and loading games.
- https://godot.readthedocs.io/en/stable/learning/step_by_step/filesystem.html#doc-filesystem
- https://godotdevelopers.org/forum/discussion/comment/20047/#Comment_20047
Audio
- How to Mix Sound & Background Music in Godot - May 2020 video.
Tutorials
- GETTING STARTED IN GODOT GAME ENGINE - EASY BEGINNER TUTORIAL - December 2016 Video.
- A Closer Look at the Godot Game Engine - Text, but video versions are availible if you prefer.
- Basic 3D Game in Godot 3 - Tutorial Part 1 - Video.
- Godot Vehicle Tutorial part 1 - import and setup a car - Video covering both Blender and Godot.
- Godot Recipes - Guide that's part of Kids Can Code. Doesn't actually feel well targeted at anyone I would consider a kid, but I personally find it useful! — rjt (talk)
Scripting
- Ivan Skodje's Youtube channel has Godot tutorials related to making full games and scripting.
- Python - Free Python coarse on Code Academy.
Shaders
See Also
- Godot.
- Awesome Godot - List of links.
- Godot Engine links on Zeef.
- Tutorials on the Godot Reddit board.