Guide:Godot: Difference between revisions
From Game Making Tools Wiki
(→video-to-texture.gd: Added note on relative paths) |
(→video-to-texture.gd: Added looping version) |
||
Line 26: | Line 26: | ||
* Replace <code>"video.ogv"</code> with the path to your file. For me it is <code>"res://videos/test2.ogv"</code>. You can also use relative paths. | * Replace <code>"video.ogv"</code> with the path to your file. For me it is <code>"res://videos/test2.ogv"</code>. You can also use relative paths. | ||
* <code>TestCube</code> can be replaced with whatever object you have this attached to, I think? | * <code>TestCube</code> can be replaced with whatever object you have this attached to, I think? | ||
And here's a version with looping video :) (and tabs ;)) | |||
<pre> | |||
extends TestCube | |||
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 = FixedMaterial.new() | |||
material.set_texture(FixedMaterial.PARAM_DIFFUSE, texture) | |||
material.set_flag(Material.FLAG_UNSHADED, true) | |||
set_material_override(material) | |||
set_process(true) | |||
func _process(delta): | |||
if not player.is_playing(): | |||
player.play() | |||
</pre> | |||
== Tutorials == | == Tutorials == |
Revision as of 14:34, 28 July 2017
Scripts
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 video codec, 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 TestCube var stream = preload("video.ogv") func _ready(): var player = VideoPlayer.new() player.set_stream(stream) add_child(player) var texture = player.get_video_texture() var material = FixedMaterial.new() material.set_texture(FixedMaterial.PARAM_DIFFUSE, 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/test2.ogv"
. You can also use relative paths. TestCube
can be replaced with whatever object you have this attached to, I think?
And here's a version with looping video :) (and tabs ;))
extends TestCube 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 = FixedMaterial.new() material.set_texture(FixedMaterial.PARAM_DIFFUSE, texture) material.set_flag(Material.FLAG_UNSHADED, true) set_material_override(material) set_process(true) func _process(delta): if not player.is_playing(): player.play()
Tutorials
- GETTING STARTED IN GODOT GAME ENGINE - EASY BEGINNER TUTORIAL - Video.
- A Closer Look at the Godot Game Engine - Text, but video versions are availible if you prefer.