32 lines
1.1 KiB
GDScript
32 lines
1.1 KiB
GDScript
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)
|