main
DJh2o2 2025-03-25 12:47:31 +07:00
commit c13db3a22b
43 changed files with 786 additions and 0 deletions

@ -0,0 +1,4 @@
root = true
[*]
charset = utf-8

2
.gitattributes vendored

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

3
.gitignore vendored

@ -0,0 +1,3 @@
# Godot 4+ specific ignores
.godot/
/android/

@ -0,0 +1,3 @@
{
"godotTools.editorPath.godot4": "c:\\Program Files\\Godot\\Godot_v4.4-stable_win64.exe"
}

Binary file not shown.

@ -0,0 +1,77 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b8vyyoi1gmjij"
path="res://.godot/imported/Billiard Table.blend-20361224c7a9739e3d560973be6d14ac.scn"
[deps]
source_file="res://assets/Billiard Table.blend"
dest_files=["res://.godot/imported/Billiard Table.blend-20361224c7a9739e3d560973be6d14ac.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={
"meshes": {
"Billiard Table_Cylinder": {
"generate/lightmap_uv": 0,
"generate/lods": 0,
"generate/shadow_meshes": 0,
"lods/normal_merge_angle": 60.0,
"save_to_file/enabled": true,
"save_to_file/path": "res://cue_stick.res"
},
"Billiard Table_Sphere_016": {
"generate/lightmap_uv": 0,
"generate/lods": 0,
"generate/shadow_meshes": 0,
"lods/normal_merge_angle": 60.0,
"save_to_file/enabled": true,
"save_to_file/path": "res://Assets/ball.res"
}
},
"nodes": {
"PATH:Cues 2": {
"import/skip_import": true
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true

Binary file not shown.

Binary file not shown.

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>

After

Width:  |  Height:  |  Size: 994 B

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://biijphs36gjw4"
path="res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icon.svg"
dest_files=["res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cos1xirpd5f8u"
path.s3tc="res://.godot/imported/16072.jpg-c0ee63836f39a0d31363f0b3533191b8.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16072.jpg"
dest_files=["res://.godot/imported/16072.jpg-c0ee63836f39a0d31363f0b3533191b8.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cp7dc0rthk82i"
path.s3tc="res://.godot/imported/16073.jpg-b4e907091ac2c5febee396452fbf07ae.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16073.jpg"
dest_files=["res://.godot/imported/16073.jpg-b4e907091ac2c5febee396452fbf07ae.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ujg2yydl7gxh"
path.s3tc="res://.godot/imported/16074.jpg-cf9b363f24aba1fd8e9828c223cf2c7e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16074.jpg"
dest_files=["res://.godot/imported/16074.jpg-cf9b363f24aba1fd8e9828c223cf2c7e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://corbiynb3sdpy"
path.s3tc="res://.godot/imported/16075.jpg-0cd2f3ad04ad9265be2a8db1eabb3f5e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16075.jpg"
dest_files=["res://.godot/imported/16075.jpg-0cd2f3ad04ad9265be2a8db1eabb3f5e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcykonjgralh1"
path.s3tc="res://.godot/imported/16076.jpg-28ed39d2324cc9279ee5cce420602b15.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16076.jpg"
dest_files=["res://.godot/imported/16076.jpg-28ed39d2324cc9279ee5cce420602b15.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dvdxxqbk0vcc7"
path.s3tc="res://.godot/imported/16077.jpg-d127233973b04daf0c0d8edbc6e46dc0.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16077.jpg"
dest_files=["res://.godot/imported/16077.jpg-d127233973b04daf0c0d8edbc6e46dc0.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c4j2ysmmnxmyf"
path.s3tc="res://.godot/imported/16078.jpg-8afef179cb48339937ff4c9f55857913.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16078.jpg"
dest_files=["res://.godot/imported/16078.jpg-8afef179cb48339937ff4c9f55857913.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://kns2wax33dys"
path.s3tc="res://.godot/imported/16079.jpg-5347510206149f2de58d06860bbb2b34.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16079.jpg"
dest_files=["res://.godot/imported/16079.jpg-5347510206149f2de58d06860bbb2b34.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bu3os4r2d2uqm"
path.s3tc="res://.godot/imported/16080.jpg-ea8efd03916e039fb26d07f3706dae99.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16080.jpg"
dest_files=["res://.godot/imported/16080.jpg-ea8efd03916e039fb26d07f3706dae99.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5bkim7d4y5qr"
path.s3tc="res://.godot/imported/16081.jpg-1cdcdb44129397227fd93444a4afc501.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16081.jpg"
dest_files=["res://.godot/imported/16081.jpg-1cdcdb44129397227fd93444a4afc501.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://y3nfxjcurbxo"
path.s3tc="res://.godot/imported/16082.jpg-e71472ab531593c6891e661ab2f4ac3e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16082.jpg"
dest_files=["res://.godot/imported/16082.jpg-e71472ab531593c6891e661ab2f4ac3e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clj08grk5hub8"
path.s3tc="res://.godot/imported/16083.jpg-29a1d481cddb35cb72821ca429474380.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16083.jpg"
dest_files=["res://.godot/imported/16083.jpg-29a1d481cddb35cb72821ca429474380.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dy11td1dpbm7l"
path.s3tc="res://.godot/imported/16084.jpg-bdae717012f5520c899412d6e66631bb.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16084.jpg"
dest_files=["res://.godot/imported/16084.jpg-bdae717012f5520c899412d6e66631bb.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bk8u00wx35ygg"
path.s3tc="res://.godot/imported/16085.jpg-73376ad5e99081d31770fbb4284ca9df.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16085.jpg"
dest_files=["res://.godot/imported/16085.jpg-73376ad5e99081d31770fbb4284ca9df.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bnrn12rxk6jat"
path.s3tc="res://.godot/imported/16086.jpg-aa560dbf81cb1d48a8eb2397b473996a.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/textures/16086.jpg"
dest_files=["res://.godot/imported/16086.jpg-aa560dbf81cb1d48a8eb2397b473996a.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

@ -0,0 +1,25 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=5
[application]
config/name="Billard"
run/main_scene="uid://232jf7nn8nmo"
config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="res://assets/icon.svg"
[physics]
3d/physics_engine="Jolt Physics"
[rendering]
anti_aliasing/quality/screen_space_aa=1
anti_aliasing/quality/use_taa=true

@ -0,0 +1,77 @@
[gd_scene load_steps=2 format=3 uid="uid://bjgntfhmyaf67"]
[ext_resource type="PackedScene" uid="uid://b8vyyoi1gmjij" path="res://assets/Billiard Table.blend" id="1_ywu47"]
[node name="Billiard Table" instance=ExtResource("1_ywu47")]
[node name="Billiard Table_Fabric" parent="." index="0"]
transform = Transform3D(1.34099, 0, 0, 0, 1.34099, 0, 0, 0, 1.34099, 0, 0, 0)
[node name="Billiard Table_Walls" parent="." index="1"]
transform = Transform3D(1.34099, 0, 0, 0, 1.34099, 0, 0, 0, 1.34099, 0, 0, 0)
[node name="Billiard Table_Pocket Gold" parent="." index="2"]
transform = Transform3D(1.34099, 0, 0, 0, 1.34099, 0, 0, 0, 1.34099, 0, 0, 0)
[node name="Billiard Table_Wood" parent="." index="3"]
transform = Transform3D(1.34099, 0, 0, 0, 1.34099, 0, 0, 0, 1.34099, 0, 0, 0)
[node name="Billiard Table_Golds" parent="." index="4"]
transform = Transform3D(1.34099, 0, 0, 0, 1.34099, 0, 0, 0, 1.34099, 0, 0, 0)
[node name="Billiard Table_Legs" parent="." index="5"]
transform = Transform3D(1.34099, 0, 0, 0, 1.34099, 0, 0, 0, 1.34099, 0, 0, 0)
[node name="Billiard Table_Plastic Grids" parent="." index="6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
[node name="9 Ball" parent="." index="7"]
visible = false
[node name="8 Ball" parent="." index="8"]
visible = false
[node name="14 Ball" parent="." index="9"]
visible = false
[node name="15 Ball" parent="." index="10"]
visible = false
[node name="3 Ball" parent="." index="11"]
visible = false
[node name="10 Ball" parent="." index="12"]
visible = false
[node name="11 Ball" parent="." index="13"]
visible = false
[node name="5 Ball" parent="." index="14"]
visible = false
[node name="4 Ball" parent="." index="15"]
visible = false
[node name="12 Ball" parent="." index="16"]
visible = false
[node name="7 Ball" parent="." index="17"]
visible = false
[node name="13 Ball" parent="." index="18"]
visible = false
[node name="2 Ball" parent="." index="19"]
visible = false
[node name="6 Ball" parent="." index="20"]
visible = false
[node name="White" parent="." index="21"]
visible = false
[node name="1 Ball" parent="." index="22"]
visible = false
[node name="Cue 1" parent="." index="23"]
visible = false

@ -0,0 +1,32 @@
[gd_scene load_steps=5 format=3 uid="uid://232jf7nn8nmo"]
[ext_resource type="PackedScene" uid="uid://bjgntfhmyaf67" path="res://scenes/billiard_table.tscn" id="1_ig7tw"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_o5qli"]
sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
ground_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
[sub_resource type="Sky" id="Sky_0wfyh"]
sky_material = SubResource("ProceduralSkyMaterial_o5qli")
[sub_resource type="Environment" id="Environment_sugp2"]
background_mode = 2
sky = SubResource("Sky_0wfyh")
tonemap_mode = 3
sdfgi_enabled = true
glow_enabled = true
[node name="Main" type="Node3D"]
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(0.92881, -0.184668, 0.321264, 0, 0.866975, 0.498352, -0.370557, -0.462874, 0.805255, 0.638243, 0.775852, 1.44765)
[node name="WorldEnvironment" type="WorldEnvironment" parent="Camera3D"]
environment = SubResource("Environment_sugp2")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="Camera3D"]
transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, -0.500003, 0.749999, -0.43301, 0, 0, 0)
light_color = Color(0.984314, 0.878431, 0.835294, 1)
shadow_enabled = true
[node name="Billiard Table" parent="." instance=ExtResource("1_ig7tw")]