WIP: Camera transforms not working
This commit is contained in:
parent
50314f1ad8
commit
eba916fb81
@ -22,7 +22,6 @@ sky_material = SubResource("ProceduralSkyMaterial_t21k5")
|
||||
[sub_resource type="Environment" id="Environment_b88kk"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_eoaoo")
|
||||
tonemap_mode = 2
|
||||
glow_enabled = true
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_7nftg"]
|
||||
@ -135,6 +134,7 @@ shape = SubResource("ConcavePolygonShape3D_7nftg")
|
||||
|
||||
[node name="CSGBakedMeshInstance3D" type="MeshInstance3D" parent="Orange/Room/Wall"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
visible = false
|
||||
material_override = ExtResource("1_v6nyh")
|
||||
mesh = SubResource("ArrayMesh_v6nyh")
|
||||
|
||||
@ -184,7 +184,7 @@ mesh = SubResource("BoxMesh_pvdtj")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="OrangePortal" type="MeshInstance3D" parent="Orange" node_paths=PackedStringArray("exit_portal")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 2, 0)
|
||||
transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 0, 2, 0)
|
||||
mesh = SubResource("ArrayMesh_pccqs")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("7_pvdtj")
|
||||
@ -204,6 +204,7 @@ shape = SubResource("ConcavePolygonShape3D_7nftg")
|
||||
|
||||
[node name="CSGBakedMeshInstance3D" type="MeshInstance3D" parent="Green/Room/Wall"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
visible = false
|
||||
material_override = ExtResource("1_v6nyh")
|
||||
mesh = SubResource("ArrayMesh_v6nyh")
|
||||
|
||||
@ -253,7 +254,7 @@ mesh = SubResource("SphereMesh_pccqs")
|
||||
skeleton = NodePath("../../../Orange")
|
||||
|
||||
[node name="GreenPortal" type="MeshInstance3D" parent="Green" node_paths=PackedStringArray("exit_portal")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 2, 0)
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 2, 0)
|
||||
mesh = SubResource("ArrayMesh_pvdtj")
|
||||
skeleton = NodePath("../..")
|
||||
script = ExtResource("7_pvdtj")
|
||||
|
@ -1,6 +1,6 @@
|
||||
extends CharacterBody3D
|
||||
|
||||
@onready var camera: Camera3D = $Camera3D
|
||||
@onready var camera: Camera3D = $PlayerCamera
|
||||
|
||||
const SPEED = 5.0
|
||||
const JUMP_VELOCITY = 4.5
|
||||
|
@ -17,7 +17,7 @@ height = 1.75
|
||||
script = ExtResource("1_4flbx")
|
||||
metadata/teleportable = false
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
[node name="PlayerCamera" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.32153, 0)
|
||||
cull_mask = 1048571
|
||||
|
||||
|
@ -17,6 +17,8 @@ var exit_scale: int = 1 # This is not really needed I think
|
||||
func _ready() -> void:
|
||||
assert(exit_portal != null)
|
||||
|
||||
# Update portals last
|
||||
process_priority = 1000
|
||||
_main_camera = get_viewport().get_camera_3d()
|
||||
|
||||
# NOTE: In case the exit portal is in a different world, better put the viewport and camera
|
||||
@ -29,13 +31,24 @@ func _ready() -> void:
|
||||
_camera.name = name + "_ExitCamera"
|
||||
_viewport.add_child(_camera)
|
||||
|
||||
# FIXME: Remove this - debug only
|
||||
var debug = MeshInstance3D.new()
|
||||
debug.rotate_z(PI / 2)
|
||||
debug.material_override = StandardMaterial3D.new()
|
||||
debug.material_override.albedo_color = Color.MAGENTA
|
||||
debug.mesh = PrismMesh.new()
|
||||
_camera.add_child(debug)
|
||||
|
||||
|
||||
var mat: ShaderMaterial = MY_PORTAL_MATERIAL
|
||||
material_override = mat
|
||||
mat.set_shader_parameter("albedo", _viewport.get_texture())
|
||||
|
||||
print(name, ": _ready")
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
_camera.global_transform = real_to_exit_transform(_main_camera.global_transform)
|
||||
|
||||
# TODO: Adjust near clip plane to the portal
|
||||
_camera.near = _main_camera.near
|
||||
_camera.far = _main_camera.far
|
||||
|
Loading…
Reference in New Issue
Block a user