Files
CosmicClash/Game/objects/ball.tscn
T
Josh Creek 1eb5a3188d feat: replace ship and ball placeholder meshes with Blender-modeled assets
Ship gets a greebled hull, tapered nose, swept canopy, twin engine nacelles,
and tail fin (built via the vendored Blender MCP, generator committed at
tools/blender/gen_ship.py) in place of the 5 flat primitives. The ball is
fully remodeled as a smooth round sphere with a crossed emissive accent
pattern (gen_ball.py), replacing the old flat-shaded gold_ball rather than
just tweaking its material.

Node names (Nose/TailFin) are preserved for Ship._apply_team_color(), and
the RigidBody3D/CollisionShape3D physics on both ship.tscn and ball.tscn are
untouched so RL-trained bots and flight feel stay valid. Each part's mesh is
extracted to a standalone .res (tools/blender/extract_meshes.gd) rather than
referenced via glb::ArrayMesh_xxx sub-paths, which don't reliably resolve
across scene files and were silently rendering both models invisible.
2026-08-03 22:39:46 +01:00

29 lines
925 B
Plaintext

[gd_scene load_steps=5 format=3 uid="uid://27u3tdc5yqnl"]
[ext_resource type="ArrayMesh" path="res://assets/models/ball.res" id="1_ball"]
[ext_resource type="Script" path="res://scripts/ball.gd" id="2_ball"]
[sub_resource type="SphereShape3D" id="SphereShape3D_c5p07"]
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_ball"]
bounce = 0.5
friction = 0.4
[node name="Ball" type="RigidBody3D" groups=["ball"]]
mass = 3
physics_material_override = SubResource("PhysicsMaterial_ball")
continuous_cd = true
inertia = Vector3(3, 3, 3)
gravity_scale = 0.8
linear_damp = 0.1
angular_damp = 0.1
script = ExtResource("2_ball")
metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_c5p07")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
mesh = ExtResource("1_ball")