diff --git a/materials/forest_grass.ptex b/materials/forest_grass.ptex new file mode 100644 index 00000000..d26b14d2 --- /dev/null +++ b/materials/forest_grass.ptex @@ -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" +} \ No newline at end of file diff --git a/materials/walls.ptex b/materials/walls.ptex new file mode 100644 index 00000000..9852a7f4 --- /dev/null +++ b/materials/walls.ptex @@ -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" +} \ No newline at end of file diff --git a/project/materials/abstractor_pass.tres b/project/materials/abstractor_pass.tres new file mode 100644 index 00000000..fa678692 --- /dev/null +++ b/project/materials/abstractor_pass.tres @@ -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") diff --git a/project/materials/forest_floor_grass_albedo.png b/project/materials/forest_floor_grass_albedo.png new file mode 100644 index 00000000..2816155b Binary files /dev/null and b/project/materials/forest_floor_grass_albedo.png differ diff --git a/project/materials/forest_floor_grass_albedo.png.import b/project/materials/forest_floor_grass_albedo.png.import new file mode 100644 index 00000000..7bc63761 --- /dev/null +++ b/project/materials/forest_floor_grass_albedo.png.import @@ -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 diff --git a/project/materials/forest_floor_grass_normal.png b/project/materials/forest_floor_grass_normal.png new file mode 100644 index 00000000..aea32bae Binary files /dev/null and b/project/materials/forest_floor_grass_normal.png differ diff --git a/project/materials/forest_floor_grass_normal.png.import b/project/materials/forest_floor_grass_normal.png.import new file mode 100644 index 00000000..9b34df6f --- /dev/null +++ b/project/materials/forest_floor_grass_normal.png.import @@ -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 diff --git a/project/materials/tree_abstractor.gdshader b/project/materials/tree_abstractor.gdshader new file mode 100644 index 00000000..b1d7638a --- /dev/null +++ b/project/materials/tree_abstractor.gdshader @@ -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. +//} diff --git a/project/materials/tree_abstractor.gdshader.uid b/project/materials/tree_abstractor.gdshader.uid new file mode 100644 index 00000000..d2a74aa1 --- /dev/null +++ b/project/materials/tree_abstractor.gdshader.uid @@ -0,0 +1 @@ +uid://dsdrwuvbo85rv diff --git a/project/materials/walls_albedo.png b/project/materials/walls_albedo.png new file mode 100644 index 00000000..2aaaaf82 Binary files /dev/null and b/project/materials/walls_albedo.png differ diff --git a/project/materials/walls_albedo.png.import b/project/materials/walls_albedo.png.import new file mode 100644 index 00000000..e641a109 --- /dev/null +++ b/project/materials/walls_albedo.png.import @@ -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 diff --git a/project/materials/walls_normal.png b/project/materials/walls_normal.png new file mode 100644 index 00000000..296585f7 Binary files /dev/null and b/project/materials/walls_normal.png differ diff --git a/project/materials/walls_normal.png.import b/project/materials/walls_normal.png.import new file mode 100644 index 00000000..084e414b --- /dev/null +++ b/project/materials/walls_normal.png.import @@ -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 diff --git a/project/models/player/character.blend b/project/models/player/character.blend index 56943d7f..145ad266 100644 Binary files a/project/models/player/character.blend and b/project/models/player/character.blend differ diff --git a/project/models/player/character.blend1 b/project/models/player/character.blend1 index 6c595c55..292becb5 100644 Binary files a/project/models/player/character.blend1 and b/project/models/player/character.blend1 differ diff --git a/project/models/props/tree.blend b/project/models/props/tree.blend index 55ffd5df..b5024b3e 100644 Binary files a/project/models/props/tree.blend and b/project/models/props/tree.blend differ diff --git a/project/models/props/tree.blend.import b/project/models/props/tree.blend.import index bdbbc893..301caed8 100644 --- a/project/models/props/tree.blend.import +++ b/project/models/props/tree.blend.import @@ -32,7 +32,14 @@ animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" -_subresources={} +_subresources={ +"materials": { +"leaves": { +"use_external/enabled": true, +"use_external/path": "uid://dqtsjjn0jp0oj" +} +} +} blender/nodes/visible=0 blender/nodes/active_collection_only=false blender/nodes/punctual_lights=true diff --git a/project/models/props/tree.blend1 b/project/models/props/tree.blend1 index 08ed9078..55ffd5df 100644 Binary files a/project/models/props/tree.blend1 and b/project/models/props/tree.blend1 differ diff --git a/project/models/props/tree_leaves.tres b/project/models/props/tree_leaves.tres index 2f4274f2..388f0f1d 100644 --- a/project/models/props/tree_leaves.tres +++ b/project/models/props/tree_leaves.tres @@ -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] -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) diff --git a/project/models/terrains/level.blend b/project/models/terrains/level.blend index 681f4d8c..788dddef 100644 Binary files a/project/models/terrains/level.blend and b/project/models/terrains/level.blend differ diff --git a/project/models/terrains/level.blend1 b/project/models/terrains/level.blend1 index 7653014e..e4267887 100644 Binary files a/project/models/terrains/level.blend1 and b/project/models/terrains/level.blend1 differ diff --git a/project/scenes/valley.tscn b/project/scenes/valley.tscn index 34574298..860b88a5 100644 --- a/project/scenes/valley.tscn +++ b/project/scenes/valley.tscn @@ -15,15 +15,19 @@ sky_material = SubResource("ProceduralSkyMaterial_pvuhy") [sub_resource type="Environment" id="Environment_lj5yw"] background_mode = 2 +background_energy_multiplier = 1.84 sky = SubResource("Sky_x4b8f") ambient_light_source = 3 +ssao_enabled = true +ssao_radius = 2.55 +ssao_intensity = 5.42 [node name="Valley" type="Node3D"] [node name="level" parent="." instance=ExtResource("1_ch7jd")] [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="."] 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")] 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")] 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")] 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")] 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)