[gd_scene load_steps=9 format=3 uid="uid://dfttci386ohip"] [ext_resource type="Script" path="res://src/equipment/balls/physics_ball/game_ball.gd" id="1_iwh2u"] [ext_resource type="PhysicsMaterial" uid="uid://3bih72l068ic" path="res://src/equipment/balls/physics_ball/normal_physics.tres" id="1_l23pw"] [ext_resource type="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="1_y3q5j"] [ext_resource type="Texture2D" uid="uid://btntjs7mbdigu" path="res://assets/textures/gfolfball/gfolfball_normal.png" id="2_mx7l6"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xqofq"] albedo_texture = ExtResource("1_y3q5j") albedo_texture_force_srgb = true metallic = 0.27 roughness = 0.67 normal_enabled = true normal_scale = 0.2 normal_texture = ExtResource("2_mx7l6") clearcoat_roughness = 0.0 uv1_scale = Vector3(3, 1.5, 3) texture_filter = 4 [sub_resource type="SphereMesh" id="SphereMesh_y0d13"] material = SubResource("StandardMaterial3D_xqofq") radius = 0.05 height = 0.1 radial_segments = 6 rings = 6 [sub_resource type="SphereShape3D" id="SphereShape3D_0hvq6"] radius = 0.05 [sub_resource type="GDScript" id="GDScript_p4v7o"] resource_name = "debug_draw" script/source = "extends Control const COLOR_X := Color(1, 0, 0) const COLOR_Y := Color(0, 1, 0) const COLOR_Z := Color(0, 0, 1) const WIDTH := 4 @onready var physics_ball: GameBall = $\"..\" func _process(_delta: float) -> void: if visible: queue_redraw() func _draw() -> void: if physics_ball._last_contact_normal != null: var camera := get_viewport().get_camera_3d() var start := camera.unproject_position(physics_ball.global_position) var basis := physics_ball.get_reoriented_basis() var end_x := camera.unproject_position(physics_ball.global_position + basis.x) var end_y := camera.unproject_position(physics_ball.global_position + basis.y) var end_z := camera.unproject_position(physics_ball.global_position + basis.z) draw_line(start, end_x, COLOR_X, WIDTH) draw_line(start, end_y, COLOR_Y, WIDTH) draw_line(start, end_z, COLOR_Z, WIDTH) " [node name="PhysicsBall" type="RigidBody3D"] mass = 0.05 physics_material_override = ExtResource("1_l23pw") freeze = true continuous_cd = true contact_monitor = true max_contacts_reported = 1 linear_damp_mode = 1 angular_damp_mode = 1 angular_damp = 8.0 script = ExtResource("1_iwh2u") iron_damping = 1e+07 [node name="BallMesh" type="MeshInstance3D" parent="."] mesh = SubResource("SphereMesh_y0d13") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] shape = SubResource("SphereShape3D_0hvq6") [node name="DebugDraw" type="Control" parent="."] unique_name_in_owner = true visible = false layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = SubResource("GDScript_p4v7o") [connection signal="sleeping_state_changed" from="." to="." method="_on_sleeping_state_changed"]