2024-11-19 21:52:04 -07:00
|
|
|
[gd_scene load_steps=9 format=3 uid="uid://dfttci386ohip"]
|
2024-11-03 10:07:21 -07:00
|
|
|
|
2024-11-17 14:07:28 -07:00
|
|
|
[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"]
|
2024-11-03 10:07:21 -07:00
|
|
|
[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"]
|
2024-11-01 19:50:02 -06:00
|
|
|
|
2024-11-03 10:07:21 -07:00
|
|
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xqofq"]
|
|
|
|
albedo_texture = ExtResource("1_y3q5j")
|
|
|
|
albedo_texture_force_srgb = true
|
2024-11-01 19:50:02 -06:00
|
|
|
metallic = 0.27
|
2024-11-03 10:07:21 -07:00
|
|
|
roughness = 0.67
|
2024-11-01 19:50:02 -06:00
|
|
|
normal_enabled = true
|
2024-11-03 10:07:21 -07:00
|
|
|
normal_scale = 0.2
|
|
|
|
normal_texture = ExtResource("2_mx7l6")
|
2024-11-01 19:50:02 -06:00
|
|
|
clearcoat_roughness = 0.0
|
2024-11-03 10:07:21 -07:00
|
|
|
uv1_scale = Vector3(3, 1.5, 3)
|
|
|
|
texture_filter = 4
|
2024-11-01 19:50:02 -06:00
|
|
|
|
2024-11-03 10:07:21 -07:00
|
|
|
[sub_resource type="SphereMesh" id="SphereMesh_y0d13"]
|
|
|
|
material = SubResource("StandardMaterial3D_xqofq")
|
2024-11-01 19:50:02 -06:00
|
|
|
radius = 0.05
|
|
|
|
height = 0.1
|
2024-11-02 19:05:49 -06:00
|
|
|
radial_segments = 6
|
|
|
|
rings = 6
|
2024-11-01 19:50:02 -06:00
|
|
|
|
|
|
|
[sub_resource type="SphereShape3D" id="SphereShape3D_0hvq6"]
|
|
|
|
radius = 0.05
|
|
|
|
|
2024-11-19 21:52:04 -07:00
|
|
|
[sub_resource type="GDScript" id="GDScript_p4v7o"]
|
|
|
|
resource_name = "debug_draw"
|
|
|
|
script/source = "extends Control
|
|
|
|
|
2024-11-19 23:26:18 -07:00
|
|
|
const COLOR_X := Color(1, 0, 0)
|
|
|
|
const COLOR_Y := Color(0, 1, 0)
|
|
|
|
const COLOR_Z := Color(0, 0, 1)
|
2024-11-19 21:52:04 -07:00
|
|
|
const WIDTH := 4
|
|
|
|
|
|
|
|
@onready var physics_ball: GameBall = $\"..\"
|
|
|
|
|
2024-11-19 23:26:18 -07:00
|
|
|
|
|
|
|
func _process(_delta: float) -> void:
|
|
|
|
if visible:
|
|
|
|
queue_redraw()
|
|
|
|
|
|
|
|
|
2024-11-19 21:52:04 -07:00
|
|
|
func _draw() -> void:
|
2024-11-19 23:26:18 -07:00
|
|
|
if physics_ball._last_contact_normal != null:
|
2024-11-19 21:52:04 -07:00
|
|
|
var camera := get_viewport().get_camera_3d()
|
2024-11-19 23:26:18 -07:00
|
|
|
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)
|
2024-11-19 21:52:04 -07:00
|
|
|
"
|
|
|
|
|
2024-11-01 19:50:02 -06:00
|
|
|
[node name="PhysicsBall" type="RigidBody3D"]
|
2024-11-02 19:05:49 -06:00
|
|
|
mass = 0.05
|
2024-11-12 20:03:05 -07:00
|
|
|
physics_material_override = ExtResource("1_l23pw")
|
2024-11-19 21:52:04 -07:00
|
|
|
freeze = true
|
2024-11-02 19:05:49 -06:00
|
|
|
continuous_cd = true
|
2024-11-12 18:16:30 -07:00
|
|
|
contact_monitor = true
|
|
|
|
max_contacts_reported = 1
|
2024-11-02 19:05:49 -06:00
|
|
|
linear_damp_mode = 1
|
2024-11-12 18:16:30 -07:00
|
|
|
angular_damp_mode = 1
|
2024-11-12 20:03:05 -07:00
|
|
|
angular_damp = 8.0
|
2024-11-11 11:39:12 -07:00
|
|
|
script = ExtResource("1_iwh2u")
|
2024-11-12 20:03:05 -07:00
|
|
|
iron_damping = 1e+07
|
2024-11-01 19:50:02 -06:00
|
|
|
|
|
|
|
[node name="BallMesh" type="MeshInstance3D" parent="."]
|
2024-11-03 10:07:21 -07:00
|
|
|
mesh = SubResource("SphereMesh_y0d13")
|
2024-11-01 19:50:02 -06:00
|
|
|
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
|
|
|
shape = SubResource("SphereShape3D_0hvq6")
|
2024-11-19 21:52:04 -07:00
|
|
|
|
|
|
|
[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")
|
2024-11-19 23:26:18 -07:00
|
|
|
|
|
|
|
[connection signal="sleeping_state_changed" from="." to="." method="_on_sleeping_state_changed"]
|