Compare commits

...

2 commits

Author SHA1 Message Date
Sara 063d3d7e15 fix: camera inverting when falling 2025-05-28 19:33:22 +02:00
Sara 1f76dbbc8a feat: more work on tree graphics 2025-05-28 19:33:15 +02:00
23 changed files with 1595 additions and 5 deletions

945
materials/forest_grass.ptex Normal file
View file

@ -0,0 +1,945 @@
{
"connections": [
{
"from": "blend2_2",
"from_port": 0,
"to": "Material",
"to_port": 0
},
{
"from": "graph",
"from_port": 0,
"to": "splatter_color_2",
"to_port": 0
},
{
"from": "splatter_color_2",
"from_port": 0,
"to": "buffer_2",
"to_port": 0
},
{
"from": "buffer_2",
"from_port": 0,
"to": "splatter_color",
"to_port": 0
},
{
"from": "shape_2",
"from_port": 0,
"to": "splatter_color_2",
"to_port": 1
},
{
"from": "splatter_color",
"from_port": 0,
"to": "blend2_2",
"to_port": 1
},
{
"from": "colorize",
"from_port": 0,
"to": "blend2_2",
"to_port": 0
},
{
"from": "fbm2",
"from_port": 0,
"to": "colorize",
"to_port": 0
},
{
"from": "graph",
"from_port": 1,
"to": "splatter_color_3",
"to_port": 0
},
{
"from": "shape_2",
"from_port": 0,
"to": "splatter_color_3",
"to_port": 1
},
{
"from": "splatter_color_3",
"from_port": 0,
"to": "buffer_3",
"to_port": 0
},
{
"from": "buffer_3",
"from_port": 0,
"to": "splatter_color_4",
"to_port": 0
},
{
"from": "splatter_color_4",
"from_port": 0,
"to": "normal_map2",
"to_port": 0
},
{
"from": "normal_map2",
"from_port": 0,
"to": "Material",
"to_port": 4
}
],
"label": "Graph",
"longdesc": "",
"name": "416",
"node_position": {
"x": 0,
"y": 0
},
"nodes": [
{
"export_last_target": "Blender",
"export_paths": {
"Blender": "/home/sara/Documents/gd-projects/going/project/materials/forest_floor_grass",
"Godot/Godot 4 Standard": "/home/sara/Documents/gd-projects/going/project/materials/forest_background"
},
"name": "Material",
"node_position": {
"x": -198.423416,
"y": 226.924652
},
"parameters": {
"albedo_color": {
"a": 1,
"b": 1,
"g": 1,
"r": 1,
"type": "Color"
},
"ao": 1,
"depth_scale": 0.5,
"emission_energy": 1,
"flags_transparent": true,
"metallic": 0.5,
"normal": 1,
"roughness": 1,
"size": 11,
"sss": 1
},
"seed_int": 0,
"type": "material"
},
{
"name": "splatter_color",
"node_position": {
"x": -791.793091,
"y": 317.725281
},
"parameters": {
"count": 91,
"opacity": 0.46,
"rotate": 33.6,
"scale": 0,
"scale_x": 0.5,
"scale_y": 0.5,
"select_inputs": 0,
"variations": false
},
"seed_int": 2284820480,
"seed_locked": true,
"type": "splatter_color"
},
{
"connections": [
{
"from": "gradient_2",
"from_port": 0,
"to": "math_3",
"to_port": 0
},
{
"from": "profile",
"from_port": 0,
"to": "transform2",
"to_port": 0
},
{
"from": "transform2",
"from_port": 0,
"to": "mirror_2",
"to_port": 0
},
{
"from": "mirror_2",
"from_port": 0,
"to": "math_5",
"to_port": 0
},
{
"from": "math_5",
"from_port": 0,
"to": "math_4",
"to_port": 0
},
{
"from": "math_6",
"from_port": 0,
"to": "math_4",
"to_port": 1
},
{
"from": "math_4",
"from_port": 0,
"to": "math_7",
"to_port": 1
},
{
"from": "mirror_2",
"from_port": 0,
"to": "math_7",
"to_port": 0
},
{
"from": "gradient",
"from_port": 0,
"to": "math_3",
"to_port": 1
},
{
"from": "mirror",
"from_port": 0,
"to": "math_6",
"to_port": 0
},
{
"from": "math_3",
"from_port": 0,
"to": "mirror",
"to_port": 0
},
{
"from": "math_7",
"from_port": 0,
"to": "math_8",
"to_port": 0
},
{
"from": "math_8",
"from_port": 0,
"to": "colorize_2",
"to_port": 0
},
{
"from": "math_8",
"from_port": 0,
"to": "math",
"to_port": 1
},
{
"from": "colorize_2",
"from_port": 0,
"to": "gen_outputs",
"to_port": 0
},
{
"from": "math",
"from_port": 0,
"to": "decompose",
"to_port": 0
},
{
"from": "combine",
"from_port": 0,
"to": "gen_outputs",
"to_port": 1
},
{
"from": "decompose",
"from_port": 0,
"to": "combine",
"to_port": 0
},
{
"from": "decompose",
"from_port": 1,
"to": "combine",
"to_port": 1
},
{
"from": "decompose",
"from_port": 2,
"to": "combine",
"to_port": 2
},
{
"from": "math",
"from_port": 0,
"to": "math_2",
"to_port": 0
},
{
"from": "math_2",
"from_port": 0,
"to": "combine",
"to_port": 3
},
{
"from": "fbm2",
"from_port": 0,
"to": "math_9",
"to_port": 0
},
{
"from": "math_9",
"from_port": 0,
"to": "math_8",
"to_port": 1
}
],
"label": "leaf",
"longdesc": "",
"name": "graph",
"node_position": {
"x": -1546.436768,
"y": 284.510437
},
"nodes": [
{
"name": "gradient",
"node_position": {
"x": -1348.702759,
"y": -153.089325
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 0,
"b": 0,
"g": 0,
"pos": 0.453217,
"r": 0
},
{
"a": 1,
"b": 1,
"g": 1,
"pos": 0.51938,
"r": 1
},
{
"a": 0,
"b": 0,
"g": 0,
"pos": 0.61023,
"r": 0
}
],
"type": "Gradient"
},
"repeat": 8,
"rotate": 56.9
},
"seed_int": 0,
"type": "gradient"
},
{
"name": "profile",
"node_position": {
"x": -1083.223633,
"y": -554.144897
},
"parameters": {
"gradient": {
"interpolation": 2,
"points": [
{
"a": 1,
"b": 0.457031,
"g": 0.457031,
"pos": 0,
"r": 0.457031
},
{
"a": 1,
"b": 0.8125,
"g": 0.8125,
"pos": 0.359344,
"r": 0.8125
},
{
"a": 1,
"b": 0.847656,
"g": 0.847656,
"pos": 0.548737,
"r": 0.847656
},
{
"a": 1,
"b": 0.726562,
"g": 0.726562,
"pos": 0.782323,
"r": 0.726562
},
{
"a": 1,
"b": 0.457031,
"g": 0.457031,
"pos": 1,
"r": 0.457031
}
],
"type": "Gradient"
},
"style": 1,
"width": 0.04
},
"seed": 65353,
"seed_locked": true,
"type": "profile"
},
{
"generic_size": 1,
"name": "transform2",
"node_position": {
"x": -840.445862,
"y": -606.117126
},
"parameters": {
"mode": 0,
"rotate": -90,
"scale_x": 1,
"scale_y": 1,
"translate_x": 0,
"translate_y": 0
},
"seed_int": 0,
"type": "transform2"
},
{
"name": "mirror_2",
"node_position": {
"x": -480.723633,
"y": -528.339417
},
"parameters": {
"direction": 0,
"flip_sides": true,
"offset": 0
},
"seed_int": 0,
"type": "mirror"
},
{
"name": "math_5",
"node_position": {
"x": -282.806946,
"y": -478.644958
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0.5,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "math_4",
"node_position": {
"x": -16.14028,
"y": -466.144958
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0,
"op": 0
},
"seed_int": 0,
"type": "math"
},
{
"name": "gradient_2",
"node_position": {
"x": -1407.029297,
"y": -349.533844
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1,
"b": 1,
"g": 1,
"pos": 0.497239,
"r": 1
},
{
"a": 0,
"b": 0,
"g": 0,
"pos": 0.527784,
"r": 0
}
],
"type": "Gradient"
},
"repeat": 1,
"rotate": 0
},
"seed_int": 0,
"type": "gradient"
},
{
"name": "math_3",
"node_position": {
"x": -1096.695801,
"y": -304.339325
},
"parameters": {
"clamp": true,
"default_in1": 0,
"default_in2": 0,
"op": 14
},
"seed_int": 0,
"type": "math"
},
{
"name": "mirror",
"node_position": {
"x": -867.75824,
"y": -317.321564
},
"parameters": {
"direction": 0,
"flip_sides": false,
"offset": 0
},
"seed_int": 0,
"type": "mirror"
},
{
"name": "math_6",
"node_position": {
"x": -279.334747,
"y": -328.644928
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0.4,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "math_7",
"node_position": {
"x": 242.193024,
"y": -555.516174
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "fbm2",
"node_position": {
"x": -31.397236,
"y": -291.948822
},
"parameters": {
"folds": 0,
"iterations": 5,
"noise": 3,
"offset": 0,
"persistence": 0.32,
"scale_x": 8,
"scale_y": 7
},
"seed_int": 0,
"type": "fbm2"
},
{
"name": "math_8",
"node_position": {
"x": 497.395172,
"y": -566.87323
},
"parameters": {
"clamp": true,
"default_in1": 0,
"default_in2": 0,
"op": 1
},
"seed_int": 0,
"type": "math"
},
{
"name": "colorize_2",
"node_position": {
"x": 768.980774,
"y": -574.599365
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 0,
"b": 1,
"g": 1,
"pos": 0,
"r": 1
},
{
"a": 1,
"b": 0,
"g": 0,
"pos": 0.000001,
"r": 0
},
{
"a": 1,
"b": 0.080719,
"g": 0.134069,
"pos": 0.028095,
"r": 0.179688
},
{
"a": 1,
"b": 0.284546,
"g": 0.392838,
"pos": 0.683393,
"r": 0.433594
}
],
"type": "Gradient"
}
},
"seed_int": 0,
"type": "colorize"
},
{
"name": "gen_inputs",
"node_position": {
"x": -1907.029297,
"y": -436.653137
},
"parameters": {
},
"ports": [
],
"seed_int": 0,
"type": "ios"
},
{
"name": "gen_outputs",
"node_position": {
"x": 1603.897461,
"y": -573.653137
},
"parameters": {
},
"ports": [
{
"name": "color",
"type": "rgba"
},
{
"name": "height",
"type": "f"
}
],
"seed_int": 0,
"type": "ios"
},
{
"name": "gen_parameters",
"node_position": {
"x": -629.842896,
"y": -906.117126
},
"parameters": {
},
"seed_int": 0,
"type": "remote",
"widgets": [
]
},
{
"name": "math",
"node_position": {
"x": 769.161072,
"y": -479.326324
},
"parameters": {
"clamp": true,
"default_in1": 1,
"default_in2": 0,
"op": 1
},
"seed_int": 0,
"type": "math"
},
{
"name": "decompose",
"node_position": {
"x": 1070.507202,
"y": -476.516388
},
"parameters": {
},
"seed_int": 0,
"type": "decompose"
},
{
"name": "combine",
"node_position": {
"x": 1412.107178,
"y": -478.596375
},
"parameters": {
},
"seed_int": 0,
"type": "combine"
},
{
"name": "math_2",
"node_position": {
"x": 1024.507202,
"y": -332.516388
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 1,
"op": 15
},
"seed_int": 0,
"type": "math"
},
{
"name": "math_9",
"node_position": {
"x": 249.777237,
"y": -324.944916
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0.3,
"op": 2
},
"seed_int": 0,
"type": "math"
}
],
"parameters": {
},
"seed_int": 4286914048,
"shortdesc": "",
"type": "graph"
},
{
"generic_size": 1,
"name": "blend2_2",
"node_position": {
"x": -489.832764,
"y": 229.591202
},
"parameters": {
"amount1": 1,
"blend_type1": 0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "splatter_color_2",
"node_position": {
"x": -1339.98645,
"y": 306.279388
},
"parameters": {
"count": 10,
"opacity": 0,
"rotate": 180,
"scale": 0,
"scale_x": 0.05,
"scale_y": 0.05,
"select_inputs": 0,
"variations": false
},
"seed_int": 1416378624,
"seed_locked": true,
"type": "splatter_color"
},
{
"name": "buffer_2",
"node_position": {
"x": -1043.768799,
"y": 313.091156
},
"parameters": {
"size": 11
},
"seed_int": 0,
"type": "buffer",
"version": 1
},
{
"name": "shape_2",
"node_position": {
"x": -1585.778931,
"y": 408.345734
},
"parameters": {
"edge": 0,
"radius": 0.906667,
"shape": 0,
"sides": 2
},
"seed_int": 0,
"type": "shape"
},
{
"name": "colorize",
"node_position": {
"x": -747.389404,
"y": 224.760132
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1,
"b": 0.165034,
"g": 0.511719,
"pos": 0.048721,
"r": 0.141922
},
{
"a": 1,
"b": 0.159531,
"g": 0.332031,
"pos": 1,
"r": 0.245781
}
],
"type": "Gradient"
}
},
"seed_int": 0,
"type": "colorize"
},
{
"name": "fbm2",
"node_position": {
"x": -1094.343384,
"y": 44.759666
},
"parameters": {
"folds": 0,
"iterations": 5,
"noise": 0,
"offset": 0,
"persistence": 1,
"scale_x": 30,
"scale_y": 30
},
"seed_int": 1560802304,
"type": "fbm2"
},
{
"name": "splatter_color_3",
"node_position": {
"x": -1343.273438,
"y": 560.172607
},
"parameters": {
"count": 10,
"opacity": 0,
"rotate": 180,
"scale": 0,
"scale_x": 0.05,
"scale_y": 0.05,
"select_inputs": 0,
"variations": false
},
"seed_int": 1416378624,
"seed_locked": true,
"type": "splatter_color"
},
{
"name": "splatter_color_4",
"node_position": {
"x": -786.262329,
"y": 577.464539
},
"parameters": {
"count": 91,
"opacity": 0,
"rotate": 33.6,
"scale": 0,
"scale_x": 0.5,
"scale_y": 0.5,
"select_inputs": 0,
"variations": false
},
"seed_int": 2284820480,
"seed_locked": true,
"type": "splatter_color"
},
{
"name": "buffer_3",
"node_position": {
"x": -1041.671997,
"y": 569.661011
},
"parameters": {
"size": 11
},
"seed_int": 0,
"type": "buffer",
"version": 1
},
{
"name": "normal_map2",
"node_position": {
"x": -492.839508,
"y": 579.223999
},
"parameters": {
"buffer": 1,
"param2": 0,
"size": 11,
"strength": 0.04
},
"seed_int": 0,
"type": "normal_map2"
}
],
"parameters": {
},
"seed_int": 0,
"shortdesc": "",
"type": "graph"
}

359
materials/walls.ptex Normal file
View file

@ -0,0 +1,359 @@
{
"connections": [
{
"from": "skewed_bricks",
"from_port": 0,
"to": "math",
"to_port": 0
},
{
"from": "perlin",
"from_port": 0,
"to": "math_2",
"to_port": 0
},
{
"from": "math_2",
"from_port": 0,
"to": "math",
"to_port": 1
},
{
"from": "colorize",
"from_port": 0,
"to": "Material",
"to_port": 0
},
{
"from": "reroute",
"from_port": 0,
"to": "invert",
"to_port": 0
},
{
"from": "reroute",
"from_port": 0,
"to": "normal_map2",
"to_port": 0
},
{
"from": "normal_map2",
"from_port": 0,
"to": "Material",
"to_port": 4
},
{
"from": "invert",
"from_port": 0,
"to": "math_3",
"to_port": 0
},
{
"from": "math_3",
"from_port": 0,
"to": "Material",
"to_port": 6
},
{
"from": "math_5",
"from_port": 0,
"to": "colorize",
"to_port": 0
},
{
"from": "math_5",
"from_port": 0,
"to": "reroute",
"to_port": 0
},
{
"from": "fbm2",
"from_port": 0,
"to": "math_4",
"to_port": 0
},
{
"from": "math_4",
"from_port": 0,
"to": "math_5",
"to_port": 1
},
{
"from": "tones_map",
"from_port": 0,
"to": "math_5",
"to_port": 0
},
{
"from": "math",
"from_port": 0,
"to": "tones_map",
"to_port": 0
}
],
"label": "Graph",
"longdesc": "",
"name": "369",
"node_position": {
"x": 0,
"y": 0
},
"nodes": [
{
"export_last_target": "Blender",
"export_paths": {
"Blender": "/home/sara/Documents/gd-projects/going/project/materials/walls"
},
"name": "Material",
"node_position": {
"x": 108.867416,
"y": 44.918858
},
"parameters": {
"albedo_color": {
"a": 1,
"b": 1,
"g": 1,
"r": 1,
"type": "Color"
},
"ao": 1,
"depth_scale": 0.5,
"emission_energy": 1,
"flags_transparent": true,
"metallic": 0,
"normal": 1,
"roughness": 1,
"size": 11,
"sss": 1
},
"seed_int": 0,
"type": "material"
},
{
"name": "skewed_bricks",
"node_position": {
"x": -1472.109253,
"y": 55.771965
},
"parameters": {
"bevel": 0.34,
"columns": 4,
"corner": 0.3,
"mortar": -0.14,
"offset": 0.27,
"randomness": 0.55,
"round": 0.22,
"rows": 7
},
"seed_int": 0,
"type": "skewed_bricks"
},
{
"name": "perlin",
"node_position": {
"x": -1692.109253,
"y": 315.772003
},
"parameters": {
"iterations": 3,
"persistence": 0.5,
"scale_x": 18,
"scale_y": 19
},
"seed_int": 0,
"type": "perlin"
},
{
"name": "math",
"node_position": {
"x": -1152.109375,
"y": 54.331966
},
"parameters": {
"clamp": true,
"default_in1": 0,
"default_in2": 0,
"op": 0
},
"seed_int": 0,
"type": "math"
},
{
"name": "math_2",
"node_position": {
"x": -1432.109131,
"y": 315.772003
},
"parameters": {
"clamp": true,
"default_in1": 0,
"default_in2": 0.46,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "colorize",
"node_position": {
"x": -305.277802,
"y": 35.73111
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1,
"b": 0.394531,
"g": 0.379794,
"pos": 0.131665,
"r": 0.342133
},
{
"a": 1,
"b": 0.324219,
"g": 0.284859,
"pos": 0.267572,
"r": 0.281158
},
{
"a": 1,
"b": 0.160156,
"g": 0.143265,
"pos": 1,
"r": 0.140137
}
],
"type": "Gradient"
}
},
"seed_int": 0,
"type": "colorize"
},
{
"name": "reroute",
"node_position": {
"x": -380,
"y": 177.119995
},
"parameters": {
},
"seed_int": 0,
"type": "reroute"
},
{
"name": "invert",
"node_position": {
"x": -280,
"y": 297.119995
},
"parameters": {
},
"seed_int": 0,
"type": "invert"
},
{
"name": "normal_map2",
"node_position": {
"x": -300,
"y": 137.12001
},
"parameters": {
"buffer": 1,
"param2": 0,
"size": 10,
"strength": 1
},
"seed_int": 0,
"type": "normal_map2"
},
{
"name": "math_3",
"node_position": {
"x": -120,
"y": 277.119995
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0.14,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "math_5",
"node_position": {
"x": -620,
"y": 37.119999
},
"parameters": {
"clamp": true,
"default_in1": 0,
"default_in2": 0,
"op": 1
},
"seed_int": 0,
"type": "math"
},
{
"name": "fbm2",
"node_position": {
"x": -1168,
"y": 259.119995
},
"parameters": {
"folds": 0,
"iterations": 5,
"noise": 0,
"offset": 0,
"persistence": 0.5,
"scale_x": 12,
"scale_y": 12
},
"seed_int": 0,
"type": "fbm2"
},
{
"name": "math_4",
"node_position": {
"x": -881.000061,
"y": 228.119995
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0.5,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "tones_map",
"node_position": {
"x": -897.630005,
"y": 47.970657
},
"parameters": {
"in_max": 1,
"in_min": 0.49,
"out_max": 1,
"out_min": 0
},
"seed_int": 0,
"type": "tones_map"
}
],
"parameters": {
},
"seed_int": 0,
"shortdesc": "",
"type": "graph"
}

View file

@ -0,0 +1,7 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://boluuvdyoysy7"]
[ext_resource type="Shader" uid="uid://dsdrwuvbo85rv" path="res://materials/tree_abstractor.gdshader" id="1_jo5p1"]
[resource]
render_priority = 0
shader = ExtResource("1_jo5p1")

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dfo6tpij7p21d"
path.s3tc="res://.godot/imported/forest_floor_grass_albedo.png-5eace128d804bb00e037dee24a0f7f97.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://materials/forest_floor_grass_albedo.png"
dest_files=["res://.godot/imported/forest_floor_grass_albedo.png-5eace128d804bb00e037dee24a0f7f97.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: 1.8 MiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c7tmbo0hmtrgm"
path.s3tc="res://.godot/imported/forest_floor_grass_normal.png-c5504866386b1f942fb631586da08e2d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://materials/forest_floor_grass_normal.png"
dest_files=["res://.godot/imported/forest_floor_grass_normal.png-c5504866386b1f942fb631586da08e2d.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://materials/forest_floor_grass_normal.png"
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

View file

@ -0,0 +1,19 @@
shader_type spatial;
uniform sampler2D albedo : hint_default_black, source_color;
void vertex() {
}
void fragment() {
// Called for every pixel the material is visible on.
vec4 col = texture(albedo, UV);
ALPHA = col.w;
ALBEDO = col.xyz;
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View file

@ -0,0 +1 @@
uid://dsdrwuvbo85rv

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dq7w8p5uip7gs"
path.s3tc="res://.godot/imported/walls_albedo.png-14d409b72623475467ee56404365c248.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://materials/walls_albedo.png"
dest_files=["res://.godot/imported/walls_albedo.png-14d409b72623475467ee56404365c248.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: 3.6 MiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ctbhdv8f5ts1a"
path.s3tc="res://.godot/imported/walls_normal.png-c40f01dc33d54b9da34e2b029436249f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://materials/walls_normal.png"
dest_files=["res://.godot/imported/walls_normal.png-c40f01dc33d54b9da34e2b029436249f.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://materials/walls_normal.png"
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.

View file

@ -32,7 +32,14 @@ animation/trimming=false
animation/remove_immutable_tracks=true animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false animation/import_rest_as_RESET=false
import_script/path="" import_script/path=""
_subresources={} _subresources={
"materials": {
"leaves": {
"use_external/enabled": true,
"use_external/path": "uid://dqtsjjn0jp0oj"
}
}
}
blender/nodes/visible=0 blender/nodes/visible=0
blender/nodes/active_collection_only=false blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true blender/nodes/punctual_lights=true

Binary file not shown.

View file

@ -1,4 +1,70 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://dqtsjjn0jp0oj"] [gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://dqtsjjn0jp0oj"]
[ext_resource type="Texture2D" uid="uid://d1sxmql1f46f6" path="res://materials/leaves_albedo.png" id="1_dgtoi"]
[sub_resource type="Shader" id="Shader_6fq30"]
code = "// NOTE: Shader automatically converted from Godot Engine 4.4.2.rc's StandardMaterial3D.
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley, specular_schlick_ggx, skip_vertex_transform;
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable;
uniform ivec2 albedo_texture_size;
uniform float point_size : hint_range(0.1, 128.0, 0.1);
uniform float roughness : hint_range(0.0, 1.0);
uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable;
uniform vec4 metallic_texture_channel;
uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable;
uniform float specular : hint_range(0.0, 1.0, 0.01);
uniform float metallic : hint_range(0.0, 1.0, 0.01);
uniform vec3 uv1_scale;
uniform vec3 uv1_offset;
uniform vec3 uv2_scale;
uniform vec3 uv2_offset;
void vertex() {
VERTEX = (MODELVIEW_MATRIX * vec4(VERTEX * 1.2, 1.0)).xyz;
NORMAL = normalize((MODELVIEW_MATRIX * vec4(NORMAL, 0.0)).xyz);
BINORMAL = normalize((MODELVIEW_MATRIX * vec4(BINORMAL, 0.0)).xyz);
TANGENT = normalize((MODELVIEW_MATRIX * vec4(TANGENT, 0.0)).xyz);
UV = UV * uv1_scale.xy + uv1_offset.xy;
vec3 center = vec3(VIEWPORT_SIZE / 2.0, 0.0);
}
void fragment() {
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo, base_uv);
ALBEDO = albedo.rgb * albedo_tex.rgb;
ALPHA = albedo_tex.a;
float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel);
METALLIC = metallic_tex * metallic;
SPECULAR = specular;
vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0);
float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel);
ROUGHNESS = roughness_tex * roughness;
}
"
[resource] [resource]
albedo_color = Color(0.27451, 0.388235, 0.192157, 1) render_priority = 0
shader = SubResource("Shader_6fq30")
shader_parameter/albedo = Color(0.27451, 0.388235, 0.192157, 1)
shader_parameter/texture_albedo = ExtResource("1_dgtoi")
shader_parameter/albedo_texture_size = Vector2i(0, 0)
shader_parameter/point_size = 1.0
shader_parameter/roughness = 1.0
shader_parameter/metallic_texture_channel = Vector4(1, 0, 0, 0)
shader_parameter/specular = 0.5
shader_parameter/metallic = 0.0
shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0)
shader_parameter/uv2_scale = Vector3(1, 1, 1)
shader_parameter/uv2_offset = Vector3(0, 0, 0)

Binary file not shown.

Binary file not shown.

View file

@ -18,7 +18,10 @@ func _ready():
func _process(_delta): func _process(_delta):
var target : Vector3 = get_parent().global_position + Vector3(0.0, pivot_height, 0.0) var target : Vector3 = get_parent().global_position + Vector3(0.0, pivot_height, 0.0)
var diff := self.global_position - target var diff := self.global_position - target
self.look_at_from_position(target + diff.normalized() * dist, get_parent().global_position + Vector3(0.0, look_target_height, 0.0)) if abs(diff).x + abs(diff.z) > 0.1:
self.look_at_from_position(target + diff.normalized() * dist, get_parent().global_position + Vector3(0.0, look_target_height, 0.0))
else:
self.global_position = target + diff.normalized() * dist
" "
[node name="Player" type="PlayerBody"] [node name="Player" type="PlayerBody"]

View file

@ -15,15 +15,19 @@ sky_material = SubResource("ProceduralSkyMaterial_pvuhy")
[sub_resource type="Environment" id="Environment_lj5yw"] [sub_resource type="Environment" id="Environment_lj5yw"]
background_mode = 2 background_mode = 2
background_energy_multiplier = 1.84
sky = SubResource("Sky_x4b8f") sky = SubResource("Sky_x4b8f")
ambient_light_source = 3 ambient_light_source = 3
ssao_enabled = true
ssao_radius = 2.55
ssao_intensity = 5.42
[node name="Valley" type="Node3D"] [node name="Valley" type="Node3D"]
[node name="level" parent="." instance=ExtResource("1_ch7jd")] [node name="level" parent="." instance=ExtResource("1_ch7jd")]
[node name="Player" parent="." instance=ExtResource("2_pvuhy")] [node name="Player" parent="." instance=ExtResource("2_pvuhy")]
transform = Transform3D(0.99745, 0, 0.0713757, 0, 1, 0, -0.0713757, 0, 0.99745, 4.57328, 0.0706022, -40.0223) transform = Transform3D(0.99745, 0, 0.0713757, 0, 1, 0, -0.0713757, 0, 0.99745, 4.57328, 31.6645, -38.9574)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -0.740828, 0.671695, 0, -0.671695, -0.740828, 0, 6.05439, 0) transform = Transform3D(1, 0, 0, 0, -0.740828, 0.671695, 0, -0.671695, -0.740828, 0, 6.05439, 0)
@ -44,6 +48,39 @@ transform = Transform3D(-0.880138, 0, 0.474718, 0, 1, 0, -0.474718, 0, -0.880138
[node name="Node3D23" parent="." instance=ExtResource("3_lj5yw")] [node name="Node3D23" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.635459, 0, 0.772135, 0, 1, 0, -0.772135, 0, -0.635459, 13.5623, 1.23662, 60.5792) transform = Transform3D(-0.635459, 0, 0.772135, 0, 1, 0, -0.772135, 0, -0.635459, 13.5623, 1.23662, 60.5792)
[node name="Node3D39" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.981023, 0, -0.193892, 0, 1, 0, 0.193892, 0, 0.981023, -13.5101, 1.23662, 62.9594)
[node name="Node3D94" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.981023, 0, -0.193892, 0, 1, 0, 0.193892, 0, 0.981023, -17.689, 1.23662, 55.8823)
[node name="Node3D95" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.981023, 0, -0.193892, 0, 1, 0, 0.193892, 0, 0.981023, -25.44, 1.23662, 52.1079)
[node name="Node3D96" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.841464, -1.6038e-08, -0.540314, 1.51426e-08, 1, -6.10033e-09, 0.540314, -3.04854e-09, 0.841464, -22.8788, 1.23662, 45.1656)
[node name="Node3D97" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.841464, -1.6038e-08, -0.540314, 1.51426e-08, 1, -6.10033e-09, 0.540314, -3.04854e-09, 0.841464, -22.5418, 1.23662, 35.5947)
[node name="Node3D98" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.841464, -1.6038e-08, -0.540314, 1.51426e-08, 1, -6.10033e-09, 0.540314, -3.04854e-09, 0.841464, -21.733, 1.23662, 26.0238)
[node name="Node3D99" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.841464, -1.6038e-08, -0.540314, 1.51426e-08, 1, -6.10033e-09, 0.540314, -3.04854e-09, 0.841464, -24.6986, 1.23662, 20.1599)
[node name="Node3D103" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.420197, -1.18985e-08, -0.907433, 1.51426e-08, 1, -6.10033e-09, 0.907433, -1.11775e-08, 0.420197, -23.71, 1.23662, 12.7674)
[node name="Node3D100" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.62591, -2.81386e-08, -0.779895, 2.5615e-08, 1, -1.55225e-08, 0.779895, -1.02614e-08, 0.62591, -18.7674, 1.23662, 17.3965)
[node name="Node3D101" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.62591, -2.81386e-08, -0.779895, 2.5615e-08, 1, -1.55225e-08, 0.779895, -1.02614e-08, 0.62591, -16.7454, 1.23662, 9.51059)
[node name="Node3D102" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.104755, -4.17581e-08, -0.994498, 3.49956e-08, 1, -3.83029e-08, 0.994498, -3.07907e-08, 0.104755, -12.0273, 1.23662, 3.10752)
[node name="Node3D2" parent="." instance=ExtResource("3_lj5yw")] [node name="Node3D2" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.583853, 0, 0.811859, 0, 1, 0, -0.811859, 0, -0.583853, 13.7278, 1.31703, 30.075) transform = Transform3D(-0.583853, 0, 0.811859, 0, 1, 0, -0.811859, 0, -0.583853, 13.7278, 1.31703, 30.075)
@ -185,6 +222,12 @@ transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.1481
[node name="Node3D86" parent="." instance=ExtResource("3_lj5yw")] [node name="Node3D86" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 18.7966, 0.853164, 61.4759) transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 18.7966, 0.853164, 61.4759)
[node name="Node3D104" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(0.395593, 9.15362e-08, -0.918426, 3.51579e-08, 1, 1.14811e-07, 0.918426, -7.77082e-08, 0.395593, -11.1774, -0.230842, 39.2564)
[node name="Node3D105" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.199709, -1.05476e-07, 0.979855, 3.51579e-08, 1, 1.14811e-07, -0.979855, 5.73785e-08, -0.199709, 3.23367, -0.230842, 53.8158)
[node name="Node3D87" parent="." instance=ExtResource("3_lj5yw")] [node name="Node3D87" parent="." instance=ExtResource("3_lj5yw")]
transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 21.7753, 1.18729, 49.1584) transform = Transform3D(-0.262273, -1.0157e-07, 0.964994, 3.51579e-08, 1, 1.14811e-07, -0.964994, 6.40389e-08, -0.262273, 21.7753, 1.18729, 49.1584)