Files

32 lines
1.1 KiB
GDScript
Raw Permalink Normal View History

2026-09-12 11:01:37 +02:00
extends SceneTree
func _initialize() -> void:
call_deferred("run")
func run() -> void:
create_timer(90).timeout.connect(func(): quit(1))
var game: Node3D = load("res://scenes/main.tscn").instantiate()
root.add_child(game)
game.ui.hide_menu()
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
var views := [
["street", Vector3(0.2, 1.7, 27), Vector3(-1, 1.4, 0)],
["facade", Vector3(5.3, 1.7, 25.5), Vector3(9, 2, 23.5)],
["paving", Vector3(4, 1.6, 26), Vector3(5, 0, 23)],
["interior", Vector3(11.9, 1.6, 21), Vector3(9, 1.0, 17)],
]
var label := "after"
for arg in OS.get_cmdline_user_args():
if arg.begins_with("--label="): label = arg.trim_prefix("--label=").validate_filename()
for view in views:
game.menu_camera.global_position = view[1]
game.menu_camera.look_at(view[2])
game.menu_camera.fov = 75
game.menu_camera.make_current()
await create_timer(1.8).timeout
await RenderingServer.frame_post_draw
var path := "res://logs/material-%s-%s.png" % [label, view[0]]
if root.get_texture().get_image().save_png(path) != OK: quit(1)
print("MATERIAL VIEW ", path, " fps=", Engine.get_frames_per_second())
quit(0)