-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrender_baked_scene.gd
More file actions
38 lines (33 loc) · 1.32 KB
/
Copy pathrender_baked_scene.gd
File metadata and controls
38 lines (33 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
## Renders the .scn produced by test_scene_export.gd (run that first). Run windowed:
## godot --resolution 400x500 -s tests/render_baked_scene.gd
extends SceneTree
func _init() -> void:
call_deferred("_run")
func _run() -> void:
var packed: PackedScene = ResourceLoader.load("user://baked_test.scn", "PackedScene", ResourceLoader.CACHE_MODE_IGNORE)
if packed == null:
print("run tests/test_scene_export.gd first")
quit(1)
return
var character := packed.instantiate()
root.add_child(character)
var camera := Camera3D.new()
camera.position = Vector3(0, 1.0, 2.2)
camera.look_at_from_position(camera.position, Vector3(0, 0.9, 0))
root.add_child(camera)
camera.make_current()
var light := DirectionalLight3D.new()
light.rotation_degrees = Vector3(-45, 30, 0)
root.add_child(light)
var environment := WorldEnvironment.new()
environment.environment = Environment.new()
environment.environment.background_mode = Environment.BG_COLOR
environment.environment.background_color = Color(0.25, 0.28, 0.32)
environment.environment.ambient_light_source = Environment.AMBIENT_SOURCE_COLOR
environment.environment.ambient_light_color = Color(0.7, 0.7, 0.7)
root.add_child(environment)
for i in 10:
await process_frame
root.get_viewport().get_texture().get_image().save_png("user://render_baked_scene.png")
print("saved")
quit(0)