├── .gitignore ├── LICENSE ├── README.md ├── Simple Terrain ├── LICENSE.md ├── README.md ├── World.tscn ├── addons │ └── zylann.hterrain │ │ ├── LICENSE.md │ │ ├── doc │ │ ├── .gdignore │ │ ├── docs │ │ │ ├── images │ │ │ │ ├── alpha_blending_and_depth_blending.png │ │ │ │ ├── bad_array_blending.png │ │ │ │ ├── brush_editor.png │ │ │ │ ├── channel_packer.png │ │ │ │ ├── choose_bullet_physics.png │ │ │ │ ├── color_painting.png │ │ │ │ ├── data_directory_property.png │ │ │ │ ├── default_terrain.png │ │ │ │ ├── detail_layers.png │ │ │ │ ├── dilation.png │ │ │ │ ├── erosion_slope.png │ │ │ │ ├── erosion_steps.png │ │ │ │ ├── generator.png │ │ │ │ ├── gimp_png_preserve_colors.png │ │ │ │ ├── grass_models.png │ │ │ │ ├── hole_painting.png │ │ │ │ ├── ignore_tools_on_export.png │ │ │ │ ├── importer.png │ │ │ │ ├── inspector_texture_set.png │ │ │ │ ├── inspector_texture_set_save.png │ │ │ │ ├── lod_geometry.png │ │ │ │ ├── lookdev_grass.png │ │ │ │ ├── lookdev_menu.png │ │ │ │ ├── lots_of_textures_blending.png │ │ │ │ ├── low_poly.png │ │ │ │ ├── normalmap_conventions.png │ │ │ │ ├── overview.png │ │ │ │ ├── panel_import_button.png │ │ │ │ ├── panel_textures_edit_button.png │ │ │ │ ├── pbr_textures.png │ │ │ │ ├── resize_tool.png │ │ │ │ ├── sculpting_tools.png │ │ │ │ ├── single_sampling_and_triplanar_sampling.png │ │ │ │ ├── slope_limit_tool.png │ │ │ │ ├── splatmap_and_textured_result.png │ │ │ │ ├── texture_array_import_dock.png │ │ │ │ ├── texture_atlas_example.png │ │ │ │ ├── texture_dialog.png │ │ │ │ ├── texture_set_editor.png │ │ │ │ ├── texture_set_import_tool.png │ │ │ │ ├── texture_set_import_tool_directory.png │ │ │ │ ├── texture_set_import_tool_success.png │ │ │ │ ├── texture_set_import_tool_texture_types.png │ │ │ │ ├── texture_slots.png │ │ │ │ ├── tiling_artifacts.png │ │ │ │ ├── tiling_reduction.png │ │ │ │ ├── transition_array_blending.png │ │ │ │ ├── update_editor_collider.png │ │ │ │ └── warped_checker_variations.png │ │ │ └── index.md │ │ ├── mkdocs.yml │ │ └── requirements.txt │ │ ├── hterrain.gd │ │ ├── hterrain_chunk.gd │ │ ├── hterrain_chunk_debug.gd │ │ ├── hterrain_collider.gd │ │ ├── hterrain_data.gd │ │ ├── hterrain_detail_layer.gd │ │ ├── hterrain_mesher.gd │ │ ├── hterrain_resource_loader.gd │ │ ├── hterrain_resource_saver.gd │ │ ├── hterrain_texture_set.gd │ │ ├── models │ │ ├── grass_quad.obj │ │ ├── grass_quad.obj.import │ │ ├── grass_quad_x2.obj │ │ ├── grass_quad_x2.obj.import │ │ ├── grass_quad_x3.obj │ │ ├── grass_quad_x3.obj.import │ │ ├── grass_quad_x4.obj │ │ └── grass_quad_x4.obj.import │ │ ├── native │ │ ├── .clang-format │ │ ├── .gitignore │ │ ├── SConstruct │ │ ├── bin │ │ │ ├── linux │ │ │ │ └── libhterrain_native.so │ │ │ └── win64 │ │ │ │ └── hterrain_native.dll │ │ ├── factory.gd │ │ ├── hterrain.gdnlib │ │ ├── image_utils.gdns │ │ ├── image_utils_generic.gd │ │ └── src │ │ │ ├── .gdignore │ │ │ ├── gd_library.cpp │ │ │ ├── image_utils.cpp │ │ │ ├── image_utils.h │ │ │ ├── int_range_2d.h │ │ │ ├── math_funcs.h │ │ │ └── vector2i.h │ │ ├── plugin.cfg │ │ ├── shaders │ │ ├── array.shader │ │ ├── array_global.shader │ │ ├── detail.shader │ │ ├── lookdev.shader │ │ ├── low_poly.shader │ │ ├── multisplat16.shader │ │ ├── multisplat16_global.shader │ │ ├── multisplat16_lite.shader │ │ ├── simple4.shader │ │ ├── simple4_global.shader │ │ └── simple4_lite.shader │ │ ├── tools │ │ ├── about │ │ │ ├── about_dialog.gd │ │ │ └── about_dialog.tscn │ │ ├── brush │ │ │ ├── brush_editor.gd │ │ │ ├── brush_editor.tscn │ │ │ ├── decal.gd │ │ │ ├── decal.shader │ │ │ ├── painter.gd │ │ │ ├── shaders │ │ │ │ ├── alpha.shader │ │ │ │ ├── color.shader │ │ │ │ ├── erode.shader │ │ │ │ ├── flatten.shader │ │ │ │ ├── level.shader │ │ │ │ ├── raise.shader │ │ │ │ ├── smooth.shader │ │ │ │ ├── splat16.shader │ │ │ │ ├── splat4.shader │ │ │ │ └── splat_indexed.shader │ │ │ ├── shapes │ │ │ │ ├── acrylic1.exr │ │ │ │ ├── acrylic1.exr.import │ │ │ │ ├── round0.exr │ │ │ │ ├── round0.exr.import │ │ │ │ ├── round1.exr │ │ │ │ ├── round1.exr.import │ │ │ │ ├── round2.exr │ │ │ │ ├── round2.exr.import │ │ │ │ ├── round3.exr │ │ │ │ ├── round3.exr.import │ │ │ │ ├── smoke.exr │ │ │ │ ├── smoke.exr.import │ │ │ │ ├── texture1.exr │ │ │ │ ├── texture1.exr.import │ │ │ │ ├── thing.exr │ │ │ │ ├── thing.exr.import │ │ │ │ ├── vegetation1.exr │ │ │ │ └── vegetation1.exr.import │ │ │ └── terrain_painter.gd │ │ ├── bump2normal_tex.shader │ │ ├── detail_editor │ │ │ ├── detail_editor.gd │ │ │ └── detail_editor.tscn │ │ ├── exporter │ │ │ ├── export_image_dialog.gd │ │ │ └── export_image_dialog.tscn │ │ ├── generate_mesh_dialog.gd │ │ ├── generate_mesh_dialog.tscn │ │ ├── generator │ │ │ ├── generator_dialog.gd │ │ │ ├── generator_dialog.tscn │ │ │ ├── shaders │ │ │ │ ├── bump2normal.shader │ │ │ │ ├── erode.shader │ │ │ │ └── perlin_noise.shader │ │ │ └── texture_generator.gd │ │ ├── globalmap_baker.gd │ │ ├── icons │ │ │ ├── empty.png │ │ │ ├── empty.png.import │ │ │ ├── icon_anchor_bottom.svg │ │ │ ├── icon_anchor_bottom.svg.import │ │ │ ├── icon_anchor_bottom_left.svg │ │ │ ├── icon_anchor_bottom_left.svg.import │ │ │ ├── icon_anchor_bottom_right.svg │ │ │ ├── icon_anchor_bottom_right.svg.import │ │ │ ├── icon_anchor_center.svg │ │ │ ├── icon_anchor_center.svg.import │ │ │ ├── icon_anchor_left.svg │ │ │ ├── icon_anchor_left.svg.import │ │ │ ├── icon_anchor_right.svg │ │ │ ├── icon_anchor_right.svg.import │ │ │ ├── icon_anchor_top.svg │ │ │ ├── icon_anchor_top.svg.import │ │ │ ├── icon_anchor_top_left.svg │ │ │ ├── icon_anchor_top_left.svg.import │ │ │ ├── icon_anchor_top_right.svg │ │ │ ├── icon_anchor_top_right.svg.import │ │ │ ├── icon_detail_layer_node.svg │ │ │ ├── icon_detail_layer_node.svg.import │ │ │ ├── icon_grass.svg │ │ │ ├── icon_grass.svg.import │ │ │ ├── icon_heightmap_color.svg │ │ │ ├── icon_heightmap_color.svg.import │ │ │ ├── icon_heightmap_data.svg │ │ │ ├── icon_heightmap_data.svg.import │ │ │ ├── icon_heightmap_erode.svg │ │ │ ├── icon_heightmap_erode.svg.import │ │ │ ├── icon_heightmap_flatten.svg │ │ │ ├── icon_heightmap_flatten.svg.import │ │ │ ├── icon_heightmap_level.svg │ │ │ ├── icon_heightmap_level.svg.import │ │ │ ├── icon_heightmap_lower.svg │ │ │ ├── icon_heightmap_lower.svg.import │ │ │ ├── icon_heightmap_mask.svg │ │ │ ├── icon_heightmap_mask.svg.import │ │ │ ├── icon_heightmap_node.svg │ │ │ ├── icon_heightmap_node.svg.import │ │ │ ├── icon_heightmap_node_large.svg │ │ │ ├── icon_heightmap_node_large.svg.import │ │ │ ├── icon_heightmap_paint.svg │ │ │ ├── icon_heightmap_paint.svg.import │ │ │ ├── icon_heightmap_raise.svg │ │ │ ├── icon_heightmap_raise.svg.import │ │ │ ├── icon_heightmap_smooth.svg │ │ │ ├── icon_heightmap_smooth.svg.import │ │ │ ├── icon_heightmap_unmask.svg │ │ │ ├── icon_heightmap_unmask.svg.import │ │ │ ├── icon_long_arrow_down.svg │ │ │ ├── icon_long_arrow_down.svg.import │ │ │ ├── icon_long_arrow_right.svg │ │ │ ├── icon_long_arrow_right.svg.import │ │ │ ├── icon_minimap_out_of_range_position.svg │ │ │ ├── icon_minimap_out_of_range_position.svg.import │ │ │ ├── icon_minimap_position.svg │ │ │ ├── icon_minimap_position.svg.import │ │ │ ├── icon_small_circle.svg │ │ │ ├── icon_small_circle.svg.import │ │ │ ├── white.png │ │ │ └── white.png.import │ │ ├── importer │ │ │ ├── importer_dialog.gd │ │ │ └── importer_dialog.tscn │ │ ├── inspector │ │ │ ├── inspector.gd │ │ │ └── inspector.tscn │ │ ├── load_texture_dialog.gd │ │ ├── minimap │ │ │ ├── minimap.gd │ │ │ ├── minimap.tscn │ │ │ ├── minimap_normal.shader │ │ │ ├── minimap_overlay.gd │ │ │ └── ratio_container.gd │ │ ├── normalmap_baker.gd │ │ ├── packed_textures │ │ │ ├── packed_texture_array_importer.gd │ │ │ ├── packed_texture_importer.gd │ │ │ ├── packed_texture_util.gd │ │ │ ├── stream_texture_importer.gd │ │ │ └── texture_layered_importer.gd │ │ ├── panel.gd │ │ ├── panel.tscn │ │ ├── plugin.gd │ │ ├── preview_generator.gd │ │ ├── progress_window.gd │ │ ├── progress_window.tscn │ │ ├── resize_dialog │ │ │ ├── resize_dialog.gd │ │ │ └── resize_dialog.tscn │ │ ├── terrain_preview.gd │ │ ├── terrain_preview.tscn │ │ ├── texture_editor │ │ │ ├── display_alpha.shader │ │ │ ├── display_alpha_material.tres │ │ │ ├── display_alpha_slice.shader │ │ │ ├── display_color.shader │ │ │ ├── display_color_material.tres │ │ │ ├── display_color_slice.shader │ │ │ ├── display_normal.shader │ │ │ ├── flow_container.gd │ │ │ ├── set_editor │ │ │ │ ├── source_file_item_editor.gd │ │ │ │ ├── source_file_item_editor.tscn │ │ │ │ ├── texture_set_editor.gd │ │ │ │ ├── texture_set_editor.tscn │ │ │ │ ├── texture_set_import_editor.gd │ │ │ │ └── texture_set_import_editor.tscn │ │ │ ├── texture_editor.gd │ │ │ ├── texture_editor.tscn │ │ │ ├── texture_list.gd │ │ │ ├── texture_list.tscn │ │ │ ├── texture_list_item.gd │ │ │ └── texture_list_item.tscn │ │ └── util │ │ │ ├── dialog_fitter.gd │ │ │ ├── dialog_fitter.tscn │ │ │ ├── editor_util.gd │ │ │ ├── interval_slider.gd │ │ │ ├── result.gd │ │ │ └── rich_text_label_hyperlinks.gd │ │ └── util │ │ ├── direct_mesh_instance.gd │ │ ├── direct_multimesh_instance.gd │ │ ├── errors.gd │ │ ├── grid.gd │ │ ├── image_file_cache.gd │ │ ├── logger.gd │ │ ├── quad_tree_lod.gd │ │ └── util.gd ├── assets │ └── maujoe.camera_control │ │ ├── CHANGELOG.md │ │ ├── DOCUMENTATION.md │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── demo │ │ ├── default_env.tres │ │ └── demo.tscn │ │ ├── icon.png │ │ ├── icon.png.import │ │ ├── screenshots │ │ ├── editor_settings.png │ │ ├── editor_settings.png.import │ │ ├── gui_settings.png │ │ ├── gui_settings.png.import │ │ ├── ingame_gui.png │ │ └── ingame_gui.png.import │ │ └── scripts │ │ ├── camera_control.gd │ │ └── camera_control_gui.gd ├── default_env.tres ├── grass.png ├── grass.png.import ├── icon.png ├── icon.png.import ├── project.godot ├── t_data │ ├── color.png │ ├── color.png.import │ ├── data.hterrain │ ├── detail.png │ ├── detail.png.import │ ├── global_albedo.png │ ├── global_albedo.png.import │ ├── height.res │ ├── normal.png │ ├── normal.png.import │ ├── splat.png │ └── splat.png.import └── terrain_textures │ ├── slot0_albedo_bump.packed_tex │ ├── slot0_albedo_bump.packed_tex.import │ ├── slot0_normal_roughness.packed_tex │ ├── slot0_normal_roughness.packed_tex.import │ ├── slot1_albedo_bump.packed_tex │ ├── slot1_albedo_bump.packed_tex.import │ ├── slot1_normal_roughness.packed_tex │ ├── slot1_normal_roughness.packed_tex.import │ ├── slot2_albedo_bump.packed_tex │ ├── slot2_albedo_bump.packed_tex.import │ ├── slot2_normal_roughness.packed_tex │ ├── slot2_normal_roughness.packed_tex.import │ ├── slot3_albedo_bump.packed_tex │ ├── slot3_albedo_bump.packed_tex.import │ ├── slot3_normal_roughness.packed_tex │ └── slot3_normal_roughness.packed_tex.import ├── grass_interact ├── World.tscn ├── assets │ ├── grass_straw.mtl │ ├── grass_straw.obj │ └── grass_straw.obj.import ├── default_env.tres ├── grass.shader ├── grass.tres ├── grass_mover.gd ├── icon.png ├── icon.png.import ├── logs │ └── godot.log └── project.godot ├── grass_interact_4 ├── .godot │ ├── .gdignore │ ├── editor │ │ ├── World.tscn-editstate-73d50b7f59085c9a9ce28353ee849bb1.cfg │ │ ├── World.tscn-folding-73d50b7f59085c9a9ce28353ee849bb1.cfg │ │ ├── default_env.tres-folding-7cf3fd67ad9f55210191d77b582b8209.cfg │ │ ├── editor_layout.cfg │ │ ├── filesystem_cache8 │ │ ├── filesystem_update4 │ │ ├── grass.gdshader-folding-f1a1174293bba1359c18f05805576f01.cfg │ │ ├── grass.tres-folding-809d9d2f9d7ac58a0b9146e093a5621b.cfg │ │ ├── grass_straw.obj-51027a4338858db480209e3245334277.mesh-folding-45cee63d4c7d216fd4c07d93e9ae2fbb.cfg │ │ ├── project_metadata.cfg │ │ └── script_editor_cache.cfg │ ├── global_script_class_cache.cfg │ ├── imported │ │ ├── grass_straw.obj-51027a4338858db480209e3245334277.md5 │ │ ├── grass_straw.obj-51027a4338858db480209e3245334277.mesh │ │ ├── icon.png-487276ed1e3a0c39cad0279d744ee560.ctex │ │ └── icon.png-487276ed1e3a0c39cad0279d744ee560.md5 │ ├── shader_cache │ │ ├── BlitShaderRD │ │ │ └── e5047fcefa30442783be734705aed10b8020504a66f92f63ed86bdf34970cde1 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── BokehDofShaderRD │ │ │ └── 740231f9184e30b53261c38e375c4c8c10b9970d370ba5012b655652f91c4124 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CanvasOcclusionShaderRD │ │ │ └── 7056555b40140d5d4fa7f634d9107d9b0c53f4988a9c267b12ecb2e9b79339bb │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CanvasSdfShaderRD │ │ │ └── 884841f2ed8f766f2ec50c7630bc034ee802170ea7afe00146eb9b501b6fe106 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CanvasShaderRD │ │ │ └── 02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3 │ │ │ │ ├── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ │ │ ├── 4ec852a08804e533592028acf4549bb0f684d7ab.cache │ │ │ │ ├── 6b3b870743b828dcd054fdf31e0034e036dad94f.cache │ │ │ │ ├── 7d3bc38ef95ec9de74da0f4336fe04379e9d264c.cache │ │ │ │ ├── 98676c93f49a619be763bf730c8db104e1e3ad96.cache │ │ │ │ ├── c58570947be7f76937b1582424c0fd3d81be0352.cache │ │ │ │ ├── c705f207082a6859c3d537450f3724065aa7c085.cache │ │ │ │ ├── ddbe30d4d1be5d69b00075293fd27da8decd4af2.cache │ │ │ │ └── f3e258e8f7ec2e7e740b62f3bc48ecf5c99fb0db.cache │ │ ├── ClusterDebugShaderRD │ │ │ └── 83e2437dfe07b95ac1d67c650fdf23af6a1484610816c522994f8fa9087daffd │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── ClusterRenderShaderRD │ │ │ └── e74d7eb7e8fa11d868ae9c77ed87e621549a85cc19907efda2cb9022010f3106 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── ClusterStoreShaderRD │ │ │ └── a1146ca823067431cc78e070a0bd512d7ae5e62190b7eed5e125f96b4c0a53af │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CopyShaderGLES3 │ │ │ └── b1bc5a355ed9bda23f291956f121e0535b4e81b54cdac398412d200e6133161f │ │ │ │ └── 0569298c4bd67f71fa194e93b48a113d8bfd63e0.cache │ │ ├── CopyShaderRD │ │ │ └── 207a7c8aa7fd8380cac15be4492cc2ec40b0b60da59e2bc7f9e00e700a6ef504 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CopyToFbShaderRD │ │ │ └── 9df1b2798f0817a2808802d4571852bc2392ae4c17bd8718b77a7e6ab6771356 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CubeToDpShaderRD │ │ │ └── 4933c20de143e376182a3823bc5aba3697964d0d244feb80d739ee73b527c9f4 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CubemapDownsamplerShaderRD │ │ │ └── 1476944f77adc4764c57ec91ee47d0c95dc0abd28cd6b6ae525dd04ea3e173aa │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CubemapFilterShaderRD │ │ │ └── f17f17bd1ffca0619464e706e0c7c0600b70291584fce577f41c103af9b1f9ff │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── CubemapRoughnessShaderRD │ │ │ └── a7daf7eb929f5f743f35ad608b9ffa353b7dda2bf7ec66c3e088d9cd6fa957ef │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── FsrUpscaleShaderRD │ │ │ └── 99b0eb9fdef9ba503a8d0d1289e4845b1a3e5665a7f034a994738334204a4d20 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── GiShaderRD │ │ │ └── f3a40cb89aebf1d8885abf5a21709e05d03775fe2687d93ad2bf44b79a215d09 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── LuminanceReduceShaderRD │ │ │ └── ea366273aa1ae3cfbaf5b0d808a0d54fd64450cc41b6e7e0ac72a15d294bda82 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── ParticlesCopyShaderRD │ │ │ └── 91b875446f6cb83730ece374de0d55df2b19a73640dea924f46a7da75d458103 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── ParticlesShaderRD │ │ │ └── f7ab6ccfa252be89882edb865a0c044053c5e338929dd6e1fa9e48d94dd7c7ac │ │ │ │ └── f128cab0b22fb7e0d9f023d6cdb81309be392d95.cache │ │ ├── ResolveShaderRD │ │ │ └── cc90a4f2c705e3b20d9ba19a096b54e5619fe6298f485b98cb306c4e44aa9453 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SceneForwardClusteredShaderRD │ │ │ └── 5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61 │ │ │ │ ├── 0111b66bc05d2e7be4a6f4707fd1bdbcf7535a05.cache │ │ │ │ ├── 12ebab518252ae4276b8badba1a6fc1b95a33c8b.cache │ │ │ │ ├── 18d20e2757a0f4ce9b109ae99852f1be6eaa1288.cache │ │ │ │ ├── 2268f151ef1dca9e12de830ee96448fd3c98d520.cache │ │ │ │ ├── 2c9cd118e5c7b12c6353b981a1b3d8d3ec947c4a.cache │ │ │ │ ├── 2e3c805e9bd451eef3b030bfea65a5da186cf4ed.cache │ │ │ │ ├── 34a5e28b5a870ad273349f953c5d1224ef2811a7.cache │ │ │ │ ├── 34f0482071405bdf40266198d48d9d1fba3dbcff.cache │ │ │ │ ├── 381c6495bc96c90037715c46acaa3b301d4a488f.cache │ │ │ │ ├── 39494d8bc2cf10f8ff30e985f03346f69431cfc6.cache │ │ │ │ ├── 4a35c33c27d16668bac93996ecb8e3be2a7f4830.cache │ │ │ │ ├── 54202eec702711805ef2e96464566c5d36cf146f.cache │ │ │ │ ├── 6c6b12a5e393b3ca55ab7e2b9672a7cf1ad24213.cache │ │ │ │ ├── 7fb66440f65dac23b75016fc52fb82ae26e9393f.cache │ │ │ │ ├── 89bcfaacc477a90ca3cd35fca123dad31ee31dc7.cache │ │ │ │ ├── 9e90053c797fffdb6e38ca23390c7a5507ab0fa3.cache │ │ │ │ ├── a2e255ed5160eb89feb9e5de52572875c4569905.cache │ │ │ │ ├── ac7f014a039e6922c10840b358eae0b78441cf65.cache │ │ │ │ ├── bb1180fbd147b6e348c825ef2adb98c6354bd9fb.cache │ │ │ │ ├── c756652d5308f9f1e7160661dc35b4014d5ae9f3.cache │ │ │ │ ├── dd067b9b497e0a08dec1b617ee25e7b2b463c49a.cache │ │ │ │ ├── dfe2cd8f6a54d8a4d9cde5047b4dc131c46d8b1d.cache │ │ │ │ ├── f342c2c786896028539048028f2388007c962f3c.cache │ │ │ │ └── fc3ff5191b02a9d4ce4f33e597ad09bb0fe7579a.cache │ │ ├── SceneShaderGLES3 │ │ │ └── 7757391c487ac94cfa6418166bd5fdacce470f09394c1a2a875e878c8c5d8596 │ │ │ │ └── 0569298c4bd67f71fa194e93b48a113d8bfd63e0.cache │ │ ├── ScreenSpaceReflectionFilterShaderRD │ │ │ └── 7a6a4769c4fc15e126e986bb7474257b7c90114042b87634f62bb4bd78e5df22 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── ScreenSpaceReflectionScaleShaderRD │ │ │ └── cd61b242ea431a009a3b8b5010af05b7ffddd05ca5cd4d10486dad2803485f95 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── ScreenSpaceReflectionShaderRD │ │ │ └── faa60f35e2f91f1715cb0e42d2050709fe742de5d72eabb37f9985333796be23 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SdfgiDebugProbesShaderRD │ │ │ └── 3b48c587869d005dd5b942933181bee46a4dc441829670585dc39bb9e4458ce7 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SdfgiDebugShaderRD │ │ │ └── 27cdb15febab97223a8e2c16d840cc50e7a652af374eec9ce7765d6d1cac21fa │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SdfgiDirectLightShaderRD │ │ │ └── a006ba392117c4f3162292685a0476b64904e17d08cbfffb735554a60b7995f5 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SdfgiIntegrateShaderRD │ │ │ └── 49652bfbb10cff2d39a9c687b49d889ba799600982310b4e5e977f66ff13fc4d │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SdfgiPreprocessShaderRD │ │ │ └── bf9eab12054600f8af2280218756be8d78c3656fdef410d83214273d932ac06d │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SkeletonShaderRD │ │ │ └── 6bc2f8ef4b30b454ed825eb79818637020c3967eb512a04a9303e91d48c80a26 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SkyShaderRD │ │ │ └── 3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6 │ │ │ │ ├── 03e3b11c69e24394b2d955a8c0ba85587bb70839.cache │ │ │ │ ├── 064198c016022615fe6753142c7d0fb63e72359e.cache │ │ │ │ ├── 30d73e67a87678d23764c9bb22b806795c0e3dcf.cache │ │ │ │ ├── 5e341807a40df1680aa1db561c90fe1002c781bd.cache │ │ │ │ ├── 8ff1cb75fe7e72aab2ee40f4669b989cb284bbc7.cache │ │ │ │ └── de678811d1bad3cad4892a8db7b6ea0be197d51d.cache │ │ ├── SortShaderRD │ │ │ └── 412ea376207f1c650aff670638c1ba8c6602e7c6e2d023346389f03c9b898070 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SpecularMergeShaderRD │ │ │ └── c6c4f2797a84a99cf42df508bdd4e026e53dbd67370214e4d536794687458926 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsEffectsDownsampleShaderRD │ │ │ └── 0dbb53e60c94a8c7d7e1bb8c962ad9a6f0fc293216fefa1fc1ea37a44d86fca7 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsaoBlurShaderRD │ │ │ └── 8f23836971ceb8d5fef4c302502d7e02b8042e1004ef87274bb8b04fab8e19f7 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsaoImportanceMapShaderRD │ │ │ └── 56fd96198277dfa0f36f517803c0a9ce7472d25bab97ffd36a2b15c0ff1d15a4 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsaoInterleaveShaderRD │ │ │ └── 8cdb821e9772807c355e880e986eb644062eab1ae9dc8ff42db59e7cac89352e │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsaoShaderRD │ │ │ └── 0937c03d70e85899b90dc34a45f5bd9822b73fec1566e922af3d6c062ef9088b │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsilBlurShaderRD │ │ │ └── b2450b00ea26280e666a522dc687d39a8227f51fdf6b029597085b8d6ea6a2bf │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsilImportanceMapShaderRD │ │ │ └── c55b0b2baba2646a0f7567009b05e7acbfa335524a3f3683c0423d6a6a94ccd5 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsilInterleaveShaderRD │ │ │ └── d69b6050309243f6ef74b5603f008a6bf8330e4b3f0354b97bcbcc9c95703be3 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SsilShaderRD │ │ │ └── 63e628cfc12381799deefc60bf50552d4a7640aa10cf63fdf84ea93ea541c381 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── SubsurfaceScatteringShaderRD │ │ │ └── 3a47474ea41c1ab67d56e550848f41927a2d67d2e1de4084970e48c587da9d47 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── TaaResolveShaderRD │ │ │ └── c3bd50ff28d1cf5a593920485472694b75e875312c00725c52aa1df0d3b35873 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── TonemapShaderRD │ │ │ └── f0c47d5cefe95675f0e641e28994970040cc37f5261113c6b95258acadbb7cc7 │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── VolumetricFogProcessShaderRD │ │ │ └── 195852f319852f883dd2a4ba0b6f5cc5c3944daa9855f317d03498bb2ad2351f │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ ├── VolumetricFogShaderRD │ │ │ └── 64171d81af1f283f227db68cac873686fbf672b73f2a504a3d967a5df51fafe7 │ │ │ │ └── 9a227745af2d65830f930370a9fbba551fbd6f60.cache │ │ ├── VoxelGiDebugShaderRD │ │ │ └── 271f62d84e02344b9219f7186517599d17e3b18a27efb630f7960cf4557f68cd │ │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ │ └── VoxelGiShaderRD │ │ │ └── fb1baf448be34295af6c42c77af446b2458932650f5d00ce923194c4d9265131 │ │ │ └── 087916079fba7c625e62b0c2cca570e0fb87c99a.cache │ └── uid_cache.bin ├── World.tscn ├── assets │ ├── grass_straw.mtl │ ├── grass_straw.obj │ └── grass_straw.obj.import ├── default_env.tres ├── grass.gdshader ├── grass.tres ├── grass_mover.gd ├── icon.png ├── icon.png.import ├── logs │ └── godot.log └── project.godot ├── rain_drops ├── Demo.tscn ├── Demo2D.tscn ├── default_env.tres ├── icon.png ├── icon.png.import ├── project.godot ├── raindrops.png ├── raindrops.png.import ├── raindrops.shader ├── raindrops.tres ├── raindrops2d.shader ├── raindrops_nor.png ├── raindrops_nor.png.import └── raindrops_nor.shader ├── tiling_rotation ├── DemoScene.tscn ├── checker.png ├── checker.png.import ├── default_env.tres ├── icon.png ├── icon.png.import ├── project.godot ├── rat_on_shark.png ├── rat_on_shark.png.import ├── tiling_rotation.shader └── tiling_rotation.tres ├── world_normal_mix_shader ├── SceneVisual.tscn ├── SceneWritten.tscn ├── default_env.tres ├── icon.png ├── icon.png.import ├── models │ ├── boulder.obj │ └── boulder.obj.import ├── project.godot ├── shaders │ ├── world_normal_mix.gdshader │ └── world_normal_mix_visual.tres └── textures │ ├── moss │ ├── moss_albedo.png │ ├── moss_albedo.png.import │ ├── moss_normal.png │ ├── moss_normal.png.import │ ├── moss_orm.png │ └── moss_orm.png.import │ └── rock │ ├── rock_albedo.png │ ├── rock_albedo.png.import │ ├── rock_normal.png │ ├── rock_normal.png.import │ ├── rock_orm.png │ └── rock_orm.png.import └── world_normal_mix_shader_4 └── world_normal_mix_4.gdshader /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Godot-specific ignores 3 | .import/ 4 | export.cfg 5 | export_presets.cfg 6 | 7 | # Mono-specific ignores 8 | .mono/ 9 | data_*/ 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TutorialResources -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/LICENSE.md: -------------------------------------------------------------------------------- 1 | HeightMap terrain for Godot Engine 2 | ------------------------------------ 3 | 4 | Copyright (c) 2016-2020 Marc Gilleron 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 7 | 8 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11 | 12 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/.gdignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/.gdignore -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/alpha_blending_and_depth_blending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/alpha_blending_and_depth_blending.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/bad_array_blending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/bad_array_blending.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/brush_editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/brush_editor.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/channel_packer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/channel_packer.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/choose_bullet_physics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/choose_bullet_physics.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/color_painting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/color_painting.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/data_directory_property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/data_directory_property.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/default_terrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/default_terrain.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/detail_layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/detail_layers.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/dilation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/dilation.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/erosion_slope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/erosion_slope.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/erosion_steps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/erosion_steps.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/generator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/generator.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/gimp_png_preserve_colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/gimp_png_preserve_colors.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/grass_models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/grass_models.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/hole_painting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/hole_painting.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/ignore_tools_on_export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/ignore_tools_on_export.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/importer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/importer.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/inspector_texture_set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/inspector_texture_set.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/inspector_texture_set_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/inspector_texture_set_save.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/lod_geometry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/lod_geometry.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/lookdev_grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/lookdev_grass.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/lookdev_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/lookdev_menu.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/lots_of_textures_blending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/lots_of_textures_blending.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/low_poly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/low_poly.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/normalmap_conventions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/normalmap_conventions.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/overview.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/panel_import_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/panel_import_button.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/panel_textures_edit_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/panel_textures_edit_button.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/pbr_textures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/pbr_textures.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/resize_tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/resize_tool.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/sculpting_tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/sculpting_tools.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/single_sampling_and_triplanar_sampling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/single_sampling_and_triplanar_sampling.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/slope_limit_tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/slope_limit_tool.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/splatmap_and_textured_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/splatmap_and_textured_result.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_array_import_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_array_import_dock.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_atlas_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_atlas_example.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_dialog.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_editor.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_import_tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_import_tool.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_import_tool_directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_import_tool_directory.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_import_tool_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_import_tool_success.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_import_tool_texture_types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_set_import_tool_texture_types.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_slots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/texture_slots.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/tiling_artifacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/tiling_artifacts.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/tiling_reduction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/tiling_reduction.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/transition_array_blending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/transition_array_blending.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/update_editor_collider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/update_editor_collider.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/docs/images/warped_checker_variations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/doc/docs/images/warped_checker_variations.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: HTerrain plugin documentation 2 | theme: readthedocs 3 | 4 | # I had to specify this even though it's supposed to be the default 5 | # See https://github.com/mkdocs/mkdocs/issues/2145#issuecomment-735342512 6 | docs_dir: docs 7 | 8 | markdown_extensions: 9 | # Makes permalinks appear on headings 10 | - toc: 11 | permalink: True 12 | # Makes boxes for notes and warnings 13 | - admonition 14 | # Better highlighter which supports GDScript 15 | - codehilite 16 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/doc/requirements.txt: -------------------------------------------------------------------------------- 1 | mkdocs>=1.1.2 -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/hterrain_resource_loader.gd: -------------------------------------------------------------------------------- 1 | tool 2 | class_name HTerrainDataLoader 3 | extends ResourceFormatLoader 4 | 5 | 6 | const HTerrainData = preload("./hterrain_data.gd") 7 | 8 | 9 | func get_recognized_extensions(): 10 | return PoolStringArray([HTerrainData.META_EXTENSION]) 11 | 12 | 13 | func get_resource_type(path): 14 | var ext = path.get_extension().to_lower() 15 | if ext == HTerrainData.META_EXTENSION: 16 | return "Resource" 17 | return "" 18 | 19 | 20 | func handles_type(typename): 21 | return typename == "Resource" 22 | 23 | 24 | func load(path, original_path): 25 | var res = HTerrainData.new() 26 | res.load_data(path.get_base_dir()) 27 | return res 28 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/hterrain_resource_saver.gd: -------------------------------------------------------------------------------- 1 | tool 2 | class_name HTerrainDataSaver 3 | extends ResourceFormatSaver 4 | 5 | 6 | const HTerrainData = preload("./hterrain_data.gd") 7 | 8 | 9 | func get_recognized_extensions(res): 10 | if res != null and res is HTerrainData: 11 | return PoolStringArray([HTerrainData.META_EXTENSION]) 12 | return PoolStringArray() 13 | 14 | 15 | func recognize(res): 16 | return res is HTerrainData 17 | 18 | 19 | func save(path, resource, flags): 20 | resource.save_data(path.get_base_dir()) 21 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/models/grass_quad.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.80 (sub 75) OBJ File: 'grass.blend' 2 | # www.blender.org 3 | o Cube 4 | v 0.000000 1.000000 -0.500000 5 | v 0.000000 0.000000 -0.500000 6 | v 0.000000 1.000000 0.500000 7 | v 0.000000 0.000000 0.500000 8 | vt 0.999900 0.000100 9 | vt 0.999900 0.999900 10 | vt 0.000100 0.999900 11 | vt 0.000100 0.000100 12 | vn 1.0000 0.0000 0.0000 13 | s off 14 | f 2/1/1 1/2/1 3/3/1 4/4/1 15 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/models/grass_quad.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/grass_quad.obj-da067750350fe98ec466261b2aeaf486.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/grass_quad.obj-da067750350fe98ec466261b2aeaf486.mesh" ] 10 | 11 | source_file="res://addons/zylann.hterrain/models/grass_quad.obj" 12 | dest_files=[ "res://.import/grass_quad.obj-da067750350fe98ec466261b2aeaf486.mesh", "res://.import/grass_quad.obj-da067750350fe98ec466261b2aeaf486.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | offset_mesh=Vector3( 0, 0, 0 ) 19 | optimize_mesh=true 20 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/models/grass_quad_x2.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.80 (sub 75) OBJ File: 'grass_x2.blend' 2 | # www.blender.org 3 | o Cube 4 | v 0.000000 1.000000 -0.500000 5 | v 0.000000 0.000000 -0.500000 6 | v 0.000000 1.000000 0.500000 7 | v 0.000000 0.000000 0.500000 8 | v -0.500000 1.000000 0.000000 9 | v -0.500000 0.000000 0.000000 10 | v 0.500000 1.000000 0.000000 11 | v 0.500000 0.000000 0.000000 12 | vt 0.999900 0.000100 13 | vt 0.999900 0.999900 14 | vt 0.000100 0.999900 15 | vt 0.000100 0.000100 16 | vt 0.999900 0.000100 17 | vt 0.999900 0.999900 18 | vt 0.000100 0.999900 19 | vt 0.000100 0.000100 20 | vn 1.0000 0.0000 0.0000 21 | vn 0.0000 0.0000 -1.0000 22 | s off 23 | f 2/1/1 1/2/1 3/3/1 4/4/1 24 | f 6/5/2 5/6/2 7/7/2 8/8/2 25 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/models/grass_quad_x2.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/grass_quad_x2.obj-2054c140f543f2a80e2eb921f865ea49.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/grass_quad_x2.obj-2054c140f543f2a80e2eb921f865ea49.mesh" ] 10 | 11 | source_file="res://addons/zylann.hterrain/models/grass_quad_x2.obj" 12 | dest_files=[ "res://.import/grass_quad_x2.obj-2054c140f543f2a80e2eb921f865ea49.mesh", "res://.import/grass_quad_x2.obj-2054c140f543f2a80e2eb921f865ea49.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | offset_mesh=Vector3( 0, 0, 0 ) 19 | optimize_mesh=true 20 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/models/grass_quad_x3.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.80 (sub 75) OBJ File: 'grass_x3.blend' 2 | # www.blender.org 3 | o Cube 4 | v 0.000000 1.000000 -0.500000 5 | v 0.000000 0.000000 -0.500000 6 | v 0.000000 1.000000 0.500000 7 | v 0.000000 0.000000 0.500000 8 | v -0.433013 1.000000 -0.250000 9 | v -0.433013 0.000000 -0.250000 10 | v 0.433013 1.000000 0.250000 11 | v 0.433013 0.000000 0.250000 12 | v -0.433013 1.000000 0.250000 13 | v -0.433013 0.000000 0.250000 14 | v 0.433013 1.000000 -0.250000 15 | v 0.433013 0.000000 -0.250000 16 | vt 0.999900 0.000100 17 | vt 0.999900 0.999900 18 | vt 0.000100 0.999900 19 | vt 0.000100 0.000100 20 | vt 0.999900 0.000100 21 | vt 0.999900 0.999900 22 | vt 0.000100 0.999900 23 | vt 0.000100 0.000100 24 | vt 0.999900 0.000100 25 | vt 0.999900 0.999900 26 | vt 0.000100 0.999900 27 | vt 0.000100 0.000100 28 | vn 1.0000 0.0000 0.0000 29 | vn 0.5000 0.0000 -0.8660 30 | vn -0.5000 0.0000 -0.8660 31 | s off 32 | f 2/1/1 1/2/1 3/3/1 4/4/1 33 | f 6/5/2 5/6/2 7/7/2 8/8/2 34 | f 10/9/3 9/10/3 11/11/3 12/12/3 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/models/grass_quad_x3.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/grass_quad_x3.obj-8691724bc5006b6f65d4e8742ffc84dc.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/grass_quad_x3.obj-8691724bc5006b6f65d4e8742ffc84dc.mesh" ] 10 | 11 | source_file="res://addons/zylann.hterrain/models/grass_quad_x3.obj" 12 | dest_files=[ "res://.import/grass_quad_x3.obj-8691724bc5006b6f65d4e8742ffc84dc.mesh", "res://.import/grass_quad_x3.obj-8691724bc5006b6f65d4e8742ffc84dc.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | offset_mesh=Vector3( 0, 0, 0 ) 19 | optimize_mesh=true 20 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/models/grass_quad_x4.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.80 (sub 75) OBJ File: 'grass_x4.blend' 2 | # www.blender.org 3 | o Cube 4 | v 0.250000 1.000000 -0.500000 5 | v 0.250000 0.000000 -0.500000 6 | v 0.250000 1.000000 0.500000 7 | v 0.250000 0.000000 0.500000 8 | v 0.500000 0.000000 -0.250000 9 | v 0.500000 1.000000 -0.250000 10 | v -0.500000 0.000000 -0.250000 11 | v -0.500000 1.000000 -0.250000 12 | v -0.250000 0.000000 0.500000 13 | v -0.250000 1.000000 0.500000 14 | v -0.250000 0.000000 -0.500000 15 | v -0.250000 1.000000 -0.500000 16 | v 0.500000 0.000000 0.250000 17 | v 0.500000 1.000000 0.250000 18 | v -0.500000 0.000000 0.250000 19 | v -0.500000 1.000000 0.250000 20 | vt 0.999900 0.000100 21 | vt 0.999900 0.999900 22 | vt 0.000100 0.999900 23 | vt 0.000100 0.000100 24 | vt 0.999900 0.000100 25 | vt 0.999900 0.999900 26 | vt 0.000100 0.999900 27 | vt 0.000100 0.000100 28 | vt 0.999900 0.000100 29 | vt 0.999900 0.999900 30 | vt 0.000100 0.999900 31 | vt 0.000100 0.000100 32 | vt 0.999900 0.000100 33 | vt 0.999900 0.999900 34 | vt 0.000100 0.999900 35 | vt 0.000100 0.000100 36 | vn 1.0000 0.0000 0.0000 37 | vn 0.0000 0.0000 -1.0000 38 | s off 39 | f 2/1/1 1/2/1 3/3/1 4/4/1 40 | f 7/5/2 8/6/2 6/7/2 5/8/2 41 | f 11/9/1 12/10/1 10/11/1 9/12/1 42 | f 15/13/2 16/14/2 14/15/2 13/16/2 43 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/models/grass_quad_x4.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/grass_quad_x4.obj-c449a7d6c810ba1595ed30df9fbf3d28.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/grass_quad_x4.obj-c449a7d6c810ba1595ed30df9fbf3d28.mesh" ] 10 | 11 | source_file="res://addons/zylann.hterrain/models/grass_quad_x4.obj" 12 | dest_files=[ "res://.import/grass_quad_x4.obj-c449a7d6c810ba1595ed30df9fbf3d28.mesh", "res://.import/grass_quad_x4.obj-c449a7d6c810ba1595ed30df9fbf3d28.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | offset_mesh=Vector3( 0, 0, 0 ) 19 | optimize_mesh=true 20 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/.gitignore: -------------------------------------------------------------------------------- 1 | # Build 2 | # Ignored locally because there are other folders in which we want to version OBJ files 3 | *.obj 4 | 5 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/bin/linux/libhterrain_native.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/native/bin/linux/libhterrain_native.so -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/bin/win64/hterrain_native.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/native/bin/win64/hterrain_native.dll -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/factory.gd: -------------------------------------------------------------------------------- 1 | 2 | const NATIVE_PATH = "res://addons/zylann.hterrain/native/" 3 | 4 | const ImageUtilsGeneric = preload("./image_utils_generic.gd") 5 | 6 | # See https://docs.godotengine.org/en/3.2/classes/class_os.html#class-os-method-get-name 7 | const _supported_os = { 8 | "Windows": true, 9 | "X11": true, 10 | #"OSX": true 11 | } 12 | 13 | 14 | static func is_native_available() -> bool: 15 | var os = OS.get_name() 16 | if not _supported_os.has(os): 17 | return false 18 | # API changes can cause binary incompatibility 19 | var v = Engine.get_version_info() 20 | return v.major == 3 and v.minor == 2 21 | 22 | 23 | static func get_image_utils(): 24 | if is_native_available(): 25 | var ImageUtilsNative = load(NATIVE_PATH + "image_utils.gdns") 26 | if ImageUtilsNative != null: 27 | return ImageUtilsNative.new() 28 | return ImageUtilsGeneric.new() 29 | 30 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/hterrain.gdnlib: -------------------------------------------------------------------------------- 1 | [general] 2 | 3 | singleton = false 4 | load_once = true 5 | symbol_prefix = "godot_" 6 | reloadable = false 7 | 8 | [entry] 9 | 10 | Windows.64 = "res://addons/zylann.hterrain/native/bin/win64/hterrain_native.dll" 11 | X11.64 = "res://addons/zylann.hterrain/native/bin/linux/libhterrain_native.so" 12 | 13 | [dependencies] 14 | 15 | X11.64 = [] 16 | Windows.64 = [] 17 | OSX.64 = [] 18 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/image_utils.gdns: -------------------------------------------------------------------------------- 1 | [gd_resource type="NativeScript" load_steps=2 format=2] 2 | 3 | [ext_resource path="res://addons/zylann.hterrain/native/hterrain.gdnlib" type="GDNativeLibrary" id=1] 4 | 5 | [resource] 6 | resource_name = "image_utils" 7 | class_name = "ImageUtils" 8 | library = ExtResource( 1 ) 9 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/src/.gdignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/native/src/.gdignore -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/src/gd_library.cpp: -------------------------------------------------------------------------------- 1 | #include "image_utils.h" 2 | 3 | extern "C" { 4 | 5 | void GDN_EXPORT godot_gdnative_init(godot_gdnative_init_options *o) { 6 | #ifdef _DEBUG 7 | printf("godot_gdnative_init hterrain_native\n"); 8 | #endif 9 | godot::Godot::gdnative_init(o); 10 | } 11 | 12 | void GDN_EXPORT godot_gdnative_terminate(godot_gdnative_terminate_options *o) { 13 | #ifdef _DEBUG 14 | printf("godot_gdnative_terminate hterrain_native\n"); 15 | #endif 16 | godot::Godot::gdnative_terminate(o); 17 | } 18 | 19 | void GDN_EXPORT godot_nativescript_init(void *handle) { 20 | #ifdef _DEBUG 21 | printf("godot_nativescript_init hterrain_native\n"); 22 | #endif 23 | godot::Godot::nativescript_init(handle); 24 | 25 | godot::register_tool_class(); 26 | } 27 | 28 | } // extern "C" 29 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/src/math_funcs.h: -------------------------------------------------------------------------------- 1 | #ifndef MATH_FUNCS_H 2 | #define MATH_FUNCS_H 3 | 4 | namespace Math { 5 | 6 | inline float lerp(float minv, float maxv, float t) { 7 | return minv + t * (maxv - minv); 8 | } 9 | 10 | template 11 | inline T clamp(T x, T minv, T maxv) { 12 | if (x < minv) { 13 | return minv; 14 | } 15 | if (x > maxv) { 16 | return maxv; 17 | } 18 | return x; 19 | } 20 | 21 | template 22 | inline T min(T a, T b) { 23 | return a < b ? a : b; 24 | } 25 | 26 | } // namespace Math 27 | 28 | #endif // MATH_FUNCS_H 29 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/native/src/vector2i.h: -------------------------------------------------------------------------------- 1 | #ifndef VECTOR2I_H 2 | #define VECTOR2I_H 3 | 4 | #include 5 | 6 | struct Vector2i { 7 | int x; 8 | int y; 9 | 10 | Vector2i(godot::Vector2 v) : 11 | x(static_cast(v.x)), 12 | y(static_cast(v.y)) {} 13 | 14 | bool any_zero() const { 15 | return x == 0 || y == 0; 16 | } 17 | }; 18 | 19 | #endif // VECTOR2I_H 20 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/plugin.cfg: -------------------------------------------------------------------------------- 1 | [plugin] 2 | 3 | name="Heightmap Terrain" 4 | description="Heightmap-based terrain" 5 | author="Marc Gilleron" 6 | version="1.5.2" 7 | script="tools/plugin.gd" 8 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/about/about_dialog.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends WindowDialog 3 | 4 | const Util = preload("../../util/util.gd") 5 | const Logger = preload("../../util/logger.gd") 6 | const Errors = preload("../../util/errors.gd") 7 | 8 | const PLUGIN_CFG_PATH = "res://addons/zylann.hterrain/plugin.cfg" 9 | 10 | 11 | onready var _about_rich_text_label = $VB/HB2/TC/About 12 | 13 | var _logger = Logger.get_for(self) 14 | 15 | 16 | func _ready(): 17 | if Util.is_in_edited_scene(self): 18 | return 19 | 20 | var plugin_cfg = ConfigFile.new() 21 | var err = plugin_cfg.load(PLUGIN_CFG_PATH) 22 | if err != OK: 23 | _logger.error("Could not load {0}: {1}" \ 24 | .format([PLUGIN_CFG_PATH, Errors.get_message(err)])) 25 | return 26 | var version = plugin_cfg.get_value("plugin", "version", "--.--.--") 27 | 28 | _about_rich_text_label.bbcode_text = _about_rich_text_label.bbcode_text \ 29 | .format({"version": version}) 30 | 31 | 32 | func _on_Ok_pressed(): 33 | hide() 34 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/decal.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode unshaded;//, depth_test_disable; 3 | 4 | uniform sampler2D u_terrain_heightmap; 5 | uniform mat4 u_terrain_inverse_transform; 6 | uniform mat3 u_terrain_normal_basis; 7 | 8 | void vertex() { 9 | vec2 cell_coords = (u_terrain_inverse_transform * WORLD_MATRIX * vec4(VERTEX, 1)).xz; 10 | 11 | vec2 ps = vec2(1.0) / vec2(textureSize(u_terrain_heightmap, 0)); 12 | vec2 uv = ps * cell_coords; 13 | 14 | // Get terrain normal 15 | float k = 1.0; 16 | float left = texture(u_terrain_heightmap, uv + vec2(-ps.x, 0)).r * k; 17 | float right = texture(u_terrain_heightmap, uv + vec2(ps.x, 0)).r * k; 18 | float back = texture(u_terrain_heightmap, uv + vec2(0, -ps.y)).r * k; 19 | float fore = texture(u_terrain_heightmap, uv + vec2(0, ps.y)).r * k; 20 | vec3 n = normalize(vec3(left - right, 2.0, back - fore)); 21 | 22 | n = u_terrain_normal_basis * n; 23 | 24 | float h = texture(u_terrain_heightmap, uv).r; 25 | VERTEX.y = h; 26 | VERTEX += 1.0 * n; 27 | NORMAL = n;//vec3(0.0, 1.0, 0.0); 28 | } 29 | 30 | void fragment() { 31 | float len = length(2.0 * UV - 1.0); 32 | float g = clamp(1.0 - 15.0 * abs(0.9 - len), 0.0, 1.0); 33 | ALBEDO = vec3(1.0, 0.1, 0.1); 34 | ALPHA = g; 35 | } 36 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shaders/alpha.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | render_mode blend_disabled; 3 | 4 | uniform sampler2D u_brush_texture; 5 | uniform float u_factor = 1.0; 6 | uniform float u_value = 1.0; 7 | 8 | void fragment() { 9 | float brush_value = texture(u_brush_texture, SCREEN_UV).r; 10 | 11 | vec4 src = texture(TEXTURE, UV); 12 | COLOR = vec4(src.rgb, mix(src.a, u_value, u_factor * brush_value)); 13 | } 14 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shaders/color.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | render_mode blend_disabled; 3 | 4 | uniform sampler2D u_brush_texture; 5 | uniform float u_factor = 1.0; 6 | uniform vec4 u_color = vec4(1.0); 7 | 8 | void fragment() { 9 | float brush_value = texture(u_brush_texture, SCREEN_UV).r; 10 | 11 | vec4 src = texture(TEXTURE, UV); 12 | 13 | // Despite hints, albedo textures render darker. 14 | // Trying to undo sRGB does not work because of 8-bit precision loss 15 | // that would occur either in texture, or on the source image. 16 | // So it's not possible to use viewports to paint albedo... 17 | //src.rgb = pow(src.rgb, vec3(0.4545)); 18 | 19 | vec4 col = vec4(mix(src.rgb, u_color.rgb, brush_value * u_factor), src.a); 20 | COLOR = col; 21 | } 22 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shaders/flatten.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | render_mode blend_disabled; 3 | 4 | uniform sampler2D u_brush_texture; 5 | uniform float u_factor = 1.0; 6 | uniform float u_flatten_value; 7 | 8 | void fragment() { 9 | float brush_value = texture(u_brush_texture, SCREEN_UV).r; 10 | 11 | float src_h = texture(TEXTURE, UV).r; 12 | float h = mix(src_h, u_flatten_value, u_factor * brush_value); 13 | COLOR = vec4(h, 0.0, 0.0, 1.0); 14 | } 15 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shaders/level.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | render_mode blend_disabled; 3 | 4 | uniform sampler2D u_brush_texture; 5 | uniform float u_factor = 1.0; 6 | uniform vec4 u_texture_rect; 7 | 8 | // TODO Could actually level to whatever height the brush was at the beginning of the stroke? 9 | 10 | void fragment() { 11 | float brush_value = texture(u_brush_texture, SCREEN_UV).r; 12 | 13 | // The heightmap does not have mipmaps, 14 | // so we need to use an approximation of average. 15 | // This is not a very good one though... 16 | float dst_h = 0.0; 17 | vec2 uv_min = vec2(u_texture_rect.xy); 18 | vec2 uv_max = vec2(u_texture_rect.xy + u_texture_rect.zw); 19 | for (int i = 0; i < 5; ++i) { 20 | for (int j = 0; j < 5; ++j) { 21 | float x = mix(uv_min.x, uv_max.x, float(i) / 4.0); 22 | float y = mix(uv_min.y, uv_max.y, float(j) / 4.0); 23 | float h = texture(TEXTURE, vec2(x, y)).r; 24 | dst_h += h; 25 | } 26 | } 27 | dst_h /= (5.0 * 5.0); 28 | 29 | // TODO I have no idea if this will check out 30 | float src_h = texture(TEXTURE, UV).r; 31 | float h = mix(src_h, dst_h, u_factor * brush_value); 32 | COLOR = vec4(h, 0.0, 0.0, 1.0); 33 | } 34 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shaders/raise.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | render_mode blend_disabled; 3 | 4 | uniform sampler2D u_brush_texture; 5 | uniform float u_factor = 1.0; 6 | 7 | void fragment() { 8 | float brush_value = texture(u_brush_texture, SCREEN_UV).r; 9 | 10 | float src_h = texture(TEXTURE, UV).r; 11 | float h = src_h + u_factor * brush_value; 12 | COLOR = vec4(h, 0.0, 0.0, 1.0); 13 | } 14 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shaders/smooth.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | render_mode blend_disabled; 3 | 4 | uniform sampler2D u_brush_texture; 5 | uniform float u_factor = 1.0; 6 | 7 | void fragment() { 8 | float brush_value = texture(u_brush_texture, SCREEN_UV).r; 9 | 10 | vec2 offset = TEXTURE_PIXEL_SIZE; 11 | float src_nx = texture(TEXTURE, UV - vec2(offset.x, 0.0)).r; 12 | float src_px = texture(TEXTURE, UV + vec2(offset.x, 0.0)).r; 13 | float src_ny = texture(TEXTURE, UV - vec2(0.0, offset.y)).r; 14 | float src_py = texture(TEXTURE, UV + vec2(0.0, offset.y)).r; 15 | float src_h = texture(TEXTURE, UV).r; 16 | float dst_h = (src_h + src_nx + src_px + src_ny + src_py) * 0.2; 17 | float h = mix(src_h, dst_h, u_factor * brush_value); 18 | COLOR = vec4(h, 0.0, 0.0, 1.0); 19 | } 20 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/acrylic1.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/acrylic1.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/acrylic1.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/acrylic1.exr-8a4b622f104c607118d296791ee118f3.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/acrylic1.exr" 13 | dest_files=[ "res://.import/acrylic1.exr-8a4b622f104c607118d296791ee118f3.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round0.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round0.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round0.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/round0.exr-fc6d691e8892911b1b4496769ee75dbb.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/round0.exr" 13 | dest_files=[ "res://.import/round0.exr-fc6d691e8892911b1b4496769ee75dbb.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round1.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round1.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round1.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/round1.exr-8050cfbed31968e6ce8bd055fbaa6897.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/round1.exr" 13 | dest_files=[ "res://.import/round1.exr-8050cfbed31968e6ce8bd055fbaa6897.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round2.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round2.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round2.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/round2.exr-2a843db3bf131f2b2f5964ce65600f42.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/round2.exr" 13 | dest_files=[ "res://.import/round2.exr-2a843db3bf131f2b2f5964ce65600f42.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round3.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round3.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/round3.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/round3.exr-77a9cdd9a592eb6010dc1db702d42c3a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/round3.exr" 13 | dest_files=[ "res://.import/round3.exr-77a9cdd9a592eb6010dc1db702d42c3a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/smoke.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/smoke.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/smoke.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/smoke.exr-0061a0a2acdf1ca295ec547e4b8c920d.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/smoke.exr" 13 | dest_files=[ "res://.import/smoke.exr-0061a0a2acdf1ca295ec547e4b8c920d.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/texture1.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/texture1.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/texture1.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/texture1.exr-0fac1840855f814972ea5666743101fc.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/texture1.exr" 13 | dest_files=[ "res://.import/texture1.exr-0fac1840855f814972ea5666743101fc.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/thing.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/thing.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/thing.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/thing.exr-8e88d861fe83e5e870fa01faee694c73.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/thing.exr" 13 | dest_files=[ "res://.import/thing.exr-8e88d861fe83e5e870fa01faee694c73.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/vegetation1.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/vegetation1.exr -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/brush/shapes/vegetation1.exr.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/vegetation1.exr-0573f4c73944e2dd8f3202b8930ac625.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/brush/shapes/vegetation1.exr" 13 | dest_files=[ "res://.import/vegetation1.exr-0573f4c73944e2dd8f3202b8930ac625.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/bump2normal_tex.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | vec4 pack_normal(vec3 n) { 4 | return vec4((0.5 * (n + 1.0)).xzy, 1.0); 5 | } 6 | 7 | void fragment() { 8 | vec2 uv = UV; 9 | vec2 ps = TEXTURE_PIXEL_SIZE; 10 | float left = texture(TEXTURE, uv + vec2(-ps.x, 0)).r; 11 | float right = texture(TEXTURE, uv + vec2(ps.x, 0)).r; 12 | float back = texture(TEXTURE, uv + vec2(0, -ps.y)).r; 13 | float fore = texture(TEXTURE, uv + vec2(0, ps.y)).r; 14 | vec3 n = normalize(vec3(left - right, 2.0, fore - back)); 15 | COLOR = pack_normal(n); 16 | // DEBUG 17 | //COLOR.r = fract(TIME * 100.0); 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/generator/shaders/bump2normal.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | vec4 pack_normal(vec3 n) { 4 | return vec4((0.5 * (n + 1.0)).xzy, 1.0); 5 | } 6 | 7 | void fragment() { 8 | vec2 uv = SCREEN_UV; 9 | vec2 ps = SCREEN_PIXEL_SIZE; 10 | float left = texture(SCREEN_TEXTURE, uv + vec2(-ps.x, 0)).r; 11 | float right = texture(SCREEN_TEXTURE, uv + vec2(ps.x, 0)).r; 12 | float back = texture(SCREEN_TEXTURE, uv + vec2(0, -ps.y)).r; 13 | float fore = texture(SCREEN_TEXTURE, uv + vec2(0, ps.y)).r; 14 | vec3 n = normalize(vec3(left - right, 2.0, fore - back)); 15 | COLOR = pack_normal(n); 16 | } 17 | 18 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/icons/empty.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/empty.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/empty.png-31363f083c9c4e2e8e54cf64f3716737.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/empty.png" 13 | dest_files=[ "res://.import/empty.png-31363f083c9c4e2e8e54cf64f3716737.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_bottom.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_bottom.svg-963f115d31a41c38349ab03453cf2ef5.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_bottom.svg" 13 | dest_files=[ "res://.import/icon_anchor_bottom.svg-963f115d31a41c38349ab03453cf2ef5.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_bottom_left.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_bottom_left.svg-c59f20ff71f725e47b5fc556b5ef93c4.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_bottom_left.svg" 13 | dest_files=[ "res://.import/icon_anchor_bottom_left.svg-c59f20ff71f725e47b5fc556b5ef93c4.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_bottom_right.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_bottom_right.svg-23dd5f1d1c7021fe105f8bde603dcc4d.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_bottom_right.svg" 13 | dest_files=[ "res://.import/icon_anchor_bottom_right.svg-23dd5f1d1c7021fe105f8bde603dcc4d.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_center.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_center.svg-d48605c4035ec4a02ae8159aea6db85f.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_center.svg" 13 | dest_files=[ "res://.import/icon_anchor_center.svg-d48605c4035ec4a02ae8159aea6db85f.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_left.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_left.svg-77f3e03e6fbadfd7e4dc1ab3661e6e7c.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_left.svg" 13 | dest_files=[ "res://.import/icon_anchor_left.svg-77f3e03e6fbadfd7e4dc1ab3661e6e7c.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_right.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_right.svg-90e3a37e8d38587bac01703849f8b9f7.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_right.svg" 13 | dest_files=[ "res://.import/icon_anchor_right.svg-90e3a37e8d38587bac01703849f8b9f7.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_top.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_top.svg-f1dcf93e569fe43b280b5dc072ee78e5.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_top.svg" 13 | dest_files=[ "res://.import/icon_anchor_top.svg-f1dcf93e569fe43b280b5dc072ee78e5.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_top_left.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_top_left.svg-aea4438056394f9967bf74b13799fedc.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_top_left.svg" 13 | dest_files=[ "res://.import/icon_anchor_top_left.svg-aea4438056394f9967bf74b13799fedc.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_anchor_top_right.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_anchor_top_right.svg-e9f520f41c9c20cc5e64aca56427ca01.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_anchor_top_right.svg" 13 | dest_files=[ "res://.import/icon_anchor_top_right.svg-e9f520f41c9c20cc5e64aca56427ca01.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_detail_layer_node.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_detail_layer_node.svg-70daba484432569847b1d2fe22768af3.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_detail_layer_node.svg" 13 | dest_files=[ "res://.import/icon_detail_layer_node.svg-70daba484432569847b1d2fe22768af3.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_grass.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_grass.svg-6a20eb11bc23d46b8a4c0f365f95554b.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_grass.svg" 13 | dest_files=[ "res://.import/icon_grass.svg-6a20eb11bc23d46b8a4c0f365f95554b.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_color.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_color.svg-2b3375697cab4a6c7b8d933fc7f2b982.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_color.svg" 13 | dest_files=[ "res://.import/icon_heightmap_color.svg-2b3375697cab4a6c7b8d933fc7f2b982.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_data.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_data.svg-00236b6035ce13dd687a19d98237bdbd.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_data.svg" 13 | dest_files=[ "res://.import/icon_heightmap_data.svg-00236b6035ce13dd687a19d98237bdbd.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_erode.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_erode.svg-fad285f0810d69bec16027ac0257c223.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_erode.svg" 13 | dest_files=[ "res://.import/icon_heightmap_erode.svg-fad285f0810d69bec16027ac0257c223.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_flatten.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_flatten.svg-3d183c33fce9f34c419c53418ef26264.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_flatten.svg" 13 | dest_files=[ "res://.import/icon_heightmap_flatten.svg-3d183c33fce9f34c419c53418ef26264.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_level.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_level.svg-0abbb78afcf28f4da15188c85861a768.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_level.svg" 13 | dest_files=[ "res://.import/icon_heightmap_level.svg-0abbb78afcf28f4da15188c85861a768.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_lower.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_lower.svg-5bb5cae46ea03f9d65d6c497a65882db.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_lower.svg" 13 | dest_files=[ "res://.import/icon_heightmap_lower.svg-5bb5cae46ea03f9d65d6c497a65882db.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_mask.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_mask.svg-3fad663c59a229c1c6c17c4e8d5bad09.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_mask.svg" 13 | dest_files=[ "res://.import/icon_heightmap_mask.svg-3fad663c59a229c1c6c17c4e8d5bad09.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_node.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_node.svg-0b776ad0015c7d9d9553b161b36e70fe.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_node.svg" 13 | dest_files=[ "res://.import/icon_heightmap_node.svg-0b776ad0015c7d9d9553b161b36e70fe.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_node_large.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_node_large.svg-4b8ff9077cb0d8dc06efcf638cce1edb.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_node_large.svg" 13 | dest_files=[ "res://.import/icon_heightmap_node_large.svg-4b8ff9077cb0d8dc06efcf638cce1edb.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=8.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_paint.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_paint.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_paint.svg-ad4c1d13ab344959f8e60b793d52d80d.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_paint.svg" 13 | dest_files=[ "res://.import/icon_heightmap_paint.svg-ad4c1d13ab344959f8e60b793d52d80d.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_raise.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_raise.svg-16ae516b9460ce83d04d965ed6b9989a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_raise.svg" 13 | dest_files=[ "res://.import/icon_heightmap_raise.svg-16ae516b9460ce83d04d965ed6b9989a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_smooth.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_smooth.svg-1216ccdd3a408b8769b0a0964b7bd3f9.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_smooth.svg" 13 | dest_files=[ "res://.import/icon_heightmap_smooth.svg-1216ccdd3a408b8769b0a0964b7bd3f9.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_heightmap_unmask.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_heightmap_unmask.svg-f88c0addb6f444beecc364dd218d67e9.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_heightmap_unmask.svg" 13 | dest_files=[ "res://.import/icon_heightmap_unmask.svg-f88c0addb6f444beecc364dd218d67e9.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_long_arrow_down.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_long_arrow_down.svg-baa34c94eaf2f9f3533b079350dd260b.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_long_arrow_down.svg" 13 | dest_files=[ "res://.import/icon_long_arrow_down.svg-baa34c94eaf2f9f3533b079350dd260b.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_long_arrow_right.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_long_arrow_right.svg-2e9c5428ca49af0df04372d4de12fdd2.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_long_arrow_right.svg" 13 | dest_files=[ "res://.import/icon_long_arrow_right.svg-2e9c5428ca49af0df04372d4de12fdd2.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_minimap_out_of_range_position.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_minimap_out_of_range_position.svg-be0d8e592b6594137b0f40434b64f771.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_minimap_out_of_range_position.svg" 13 | dest_files=[ "res://.import/icon_minimap_out_of_range_position.svg-be0d8e592b6594137b0f40434b64f771.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_minimap_position.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_minimap_position.svg-09c3263e8852c7010dcfa0a85245403d.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_minimap_position.svg" 13 | dest_files=[ "res://.import/icon_minimap_position.svg-09c3263e8852c7010dcfa0a85245403d.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/icon_small_circle.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_small_circle.svg-758362406034e77f78350899f9b2cf34.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/icon_small_circle.svg" 13 | dest_files=[ "res://.import/icon_small_circle.svg-758362406034e77f78350899f9b2cf34.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/addons/zylann.hterrain/tools/icons/white.png -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/icons/white.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/white.png-06b7d7f95e74cd7f8357ec25a73870fb.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://addons/zylann.hterrain/tools/icons/white.png" 13 | dest_files=[ "res://.import/white.png-06b7d7f95e74cd7f8357ec25a73870fb.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/load_texture_dialog.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends EditorFileDialog 3 | 4 | 5 | func _init(): 6 | #access = EditorFileDialog.ACCESS_RESOURCES 7 | mode = EditorFileDialog.MODE_OPEN_FILE 8 | # TODO I actually want a dialog to load a texture, not specifically a PNG... 9 | add_filter("*.png ; PNG files") 10 | add_filter("*.jpg ; JPG files") 11 | resizable = true 12 | access = EditorFileDialog.ACCESS_RESOURCES 13 | connect("popup_hide", self, "call_deferred", ["_on_close"]) 14 | 15 | 16 | func _on_close(): 17 | # Disconnect listeners automatically, 18 | # so we can re-use the same dialog with different listeners 19 | var cons = get_signal_connection_list("file_selected") 20 | for con in cons: 21 | disconnect("file_selected", con.target, con.method) 22 | 23 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/minimap/minimap_normal.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | uniform sampler2D u_normalmap; 4 | uniform sampler2D u_globalmap; 5 | uniform vec3 u_light_direction = vec3(0.5, -0.7, 0.2); 6 | 7 | vec3 unpack_normal(vec4 rgba) { 8 | return rgba.xzy * 2.0 - vec3(1.0); 9 | } 10 | 11 | void fragment() { 12 | vec3 albedo = texture(u_globalmap, UV).rgb; 13 | // Undo sRGB 14 | // TODO I don't know what is correct tbh, this didn't work well 15 | //albedo *= pow(albedo, vec3(0.4545)); 16 | //albedo *= pow(albedo, vec3(1.0 / 0.4545)); 17 | albedo = sqrt(albedo); 18 | 19 | vec3 normal = unpack_normal(texture(u_normalmap, UV)); 20 | float g = max(-dot(u_light_direction, normal), 0.0); 21 | 22 | COLOR = vec4(albedo * g, 1.0); 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/minimap/minimap_overlay.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends Control 3 | 4 | 5 | export(Texture) var cursor_texture 6 | export(Texture) var out_of_range_texture 7 | 8 | onready var _sprite = $Cursor 9 | 10 | var _pos := Vector2() 11 | var _rot := 0.0 12 | 13 | 14 | func set_cursor_position_normalized(pos_norm: Vector2, dir: Vector2): 15 | if Rect2(0, 0, 1, 1).has_point(pos_norm): 16 | _sprite.texture = cursor_texture 17 | else: 18 | pos_norm.x = clamp(pos_norm.x, 0.0, 1.0) 19 | pos_norm.y = clamp(pos_norm.y, 0.0, 1.0) 20 | _sprite.texture = out_of_range_texture 21 | 22 | _sprite.position = pos_norm * rect_size 23 | _sprite.rotation = dir.angle() 24 | 25 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/minimap/ratio_container.gd: -------------------------------------------------------------------------------- 1 | # Simple container keeping its children under the same aspect ratio 2 | 3 | tool 4 | extends Container 5 | 6 | 7 | export(float) var ratio := 1.0 8 | 9 | 10 | func _notification(what: int): 11 | if what == NOTIFICATION_SORT_CHILDREN: 12 | _sort_children2() 13 | 14 | 15 | # TODO Function with ugly name to workaround a Godot 3.1 issue 16 | # See https://github.com/godotengine/godot/pull/38396 17 | func _sort_children2(): 18 | for i in get_child_count(): 19 | var child = get_child(i) 20 | if not (child is Control): 21 | continue 22 | var w = rect_size.x 23 | var h = rect_size.x / ratio 24 | 25 | if h > rect_size.y: 26 | h = rect_size.y 27 | w = h * ratio 28 | 29 | var rect := Rect2(0, 0, w, h) 30 | 31 | fit_child_in_rect(child, rect) 32 | 33 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/progress_window.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends Control 3 | 4 | 5 | #onready var _label = get_node("VBoxContainer/Label") 6 | onready var _progress_bar = $VBoxContainer/ProgressBar 7 | 8 | 9 | func show_progress(message, progress): 10 | self.window_title = message 11 | _progress_bar.ratio = progress 12 | 13 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/display_alpha.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | void fragment() { 4 | float a = texture(TEXTURE, UV).a; 5 | COLOR = vec4(a, a, a, 1.0); 6 | } 7 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/display_alpha_material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="ShaderMaterial" load_steps=2 format=2] 2 | 3 | [ext_resource path="res://addons/zylann.hterrain/tools/texture_editor/display_alpha.shader" type="Shader" id=1] 4 | 5 | [resource] 6 | 7 | render_priority = 0 8 | shader = ExtResource( 1 ) 9 | 10 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/display_alpha_slice.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | uniform sampler2DArray u_texture_array; 4 | uniform float u_index; 5 | 6 | void fragment() { 7 | vec4 col = texture(u_texture_array, vec3(UV.x, UV.y, u_index)); 8 | COLOR = vec4(col.a, col.a, col.a, 1.0); 9 | } 10 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/display_color.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | void fragment() { 4 | // TODO Have an option to "undo" sRGB, for funzies? 5 | vec4 col = texture(TEXTURE, UV); 6 | COLOR = vec4(col.rgb, 1.0); 7 | } 8 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/display_color_material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="ShaderMaterial" load_steps=2 format=2] 2 | 3 | [ext_resource path="res://addons/zylann.hterrain/tools/texture_editor/display_color.shader" type="Shader" id=1] 4 | 5 | [resource] 6 | shader = ExtResource( 1 ) 7 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/display_color_slice.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | uniform sampler2DArray u_texture_array; 4 | uniform float u_index; 5 | 6 | void fragment() { 7 | vec4 col = texture(u_texture_array, vec3(UV.x, UV.y, u_index)); 8 | COLOR = vec4(col.rgb, 1.0); 9 | } 10 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/display_normal.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | uniform float u_strength = 1.0; 4 | uniform bool u_flip_y = false; 5 | 6 | vec3 unpack_normal(vec4 rgba) { 7 | vec3 n = rgba.xzy * 2.0 - vec3(1.0); 8 | // Had to negate Z because it comes from Y in the normal map, 9 | // and OpenGL-style normal maps are Y-up. 10 | n.z *= -1.0; 11 | return n; 12 | } 13 | 14 | vec3 pack_normal(vec3 n) { 15 | n.z *= -1.0; 16 | return 0.5 * (n.xzy + vec3(1.0)); 17 | } 18 | 19 | void fragment() { 20 | vec4 col = texture(TEXTURE, UV); 21 | vec3 n = unpack_normal(col); 22 | n = normalize(mix(n, vec3(-n.x, n.y, -n.z), 0.5 - 0.5 * u_strength)); 23 | if (u_flip_y) { 24 | n.z = -n.z; 25 | } 26 | col.rgb = pack_normal(n); 27 | COLOR = vec4(col.rgb, 1.0); 28 | } 29 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/flow_container.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends Container 3 | 4 | const SEPARATION = 2 5 | 6 | 7 | func _notification(what: int): 8 | if what == NOTIFICATION_SORT_CHILDREN: 9 | _sort_children2() 10 | 11 | 12 | # TODO Function with ugly name to workaround a Godot 3.1 issue 13 | # See https://github.com/godotengine/godot/pull/38396 14 | func _sort_children2(): 15 | var max_x := rect_size.x - SEPARATION 16 | var pos := Vector2(SEPARATION, SEPARATION) 17 | var line_height := 0 18 | 19 | for i in get_child_count(): 20 | var child = get_child(i) 21 | if not child is Control: 22 | continue 23 | 24 | var rect = child.get_rect() 25 | 26 | if rect.size.y > line_height: 27 | line_height = rect.size.y 28 | 29 | if pos.x + rect.size.x > max_x: 30 | pos.x = SEPARATION 31 | pos.y += line_height + SEPARATION 32 | line_height = rect.size.y 33 | 34 | rect.position = pos 35 | fit_child_in_rect(child, rect) 36 | 37 | pos.x += rect.size.x + SEPARATION 38 | 39 | rect_min_size.y = pos.y + line_height 40 | 41 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/set_editor/source_file_item_editor.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends Control 3 | 4 | const EmptyTexture = preload("../../icons/empty.png") 5 | 6 | signal load_pressed 7 | signal clear_pressed 8 | 9 | 10 | onready var _label = $Label 11 | onready var _texture_rect = $TextureRect 12 | 13 | onready var _buttons = [ 14 | $LoadButton, 15 | $ClearButton 16 | ] 17 | 18 | var _material : Material 19 | 20 | 21 | func set_label(text: String): 22 | _label.text = text 23 | 24 | 25 | func set_texture(tex: Texture): 26 | if tex == null: 27 | _texture_rect.texture = EmptyTexture 28 | _texture_rect.material = null 29 | else: 30 | _texture_rect.texture = tex 31 | _texture_rect.material = _material 32 | 33 | 34 | func set_texture_tooltip(msg: String): 35 | _texture_rect.hint_tooltip = msg 36 | 37 | 38 | func _on_LoadButton_pressed(): 39 | emit_signal("load_pressed") 40 | 41 | 42 | func _on_ClearButton_pressed(): 43 | emit_signal("clear_pressed") 44 | 45 | 46 | func set_material(mat: Material): 47 | _material = mat 48 | if _texture_rect.texture != EmptyTexture: 49 | _texture_rect.material = _material 50 | 51 | 52 | func set_enabled(enabled: bool): 53 | for b in _buttons: 54 | b.disabled = not enabled 55 | 56 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/texture_editor/texture_list.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=2] 2 | 3 | [ext_resource path="res://addons/zylann.hterrain/tools/texture_editor/texture_list.gd" type="Script" id=1] 4 | [ext_resource path="res://addons/zylann.hterrain/tools/texture_editor/flow_container.gd" type="Script" id=2] 5 | 6 | [node name="TextureList" type="ScrollContainer"] 7 | anchor_right = 1.0 8 | anchor_bottom = 1.0 9 | scroll_horizontal_enabled = false 10 | script = ExtResource( 1 ) 11 | __meta__ = { 12 | "_edit_use_anchors_": false 13 | } 14 | 15 | [node name="Container" type="Container" parent="."] 16 | margin_right = 800.0 17 | margin_bottom = 82.0 18 | rect_min_size = Vector2( 0, 82 ) 19 | size_flags_horizontal = 3 20 | script = ExtResource( 2 ) 21 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/util/dialog_fitter.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://addons/zylann.hterrain/tools/util/dialog_fitter.gd" type="Script" id=1] 4 | 5 | [node name="DialogFitter" type="Control"] 6 | mouse_filter = 2 7 | script = ExtResource( 1 ) 8 | __meta__ = { 9 | "_edit_use_anchors_": false 10 | } 11 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/util/result.gd: -------------------------------------------------------------------------------- 1 | # Data structure to hold the result of a function that can be expected to fail. 2 | # The use case is to report errors back to the GUI and act accordingly, 3 | # instead of forgetting them to the console or having the script break on an assertion. 4 | # This is a C-like way of things, where the result can bubble, and does not require globals. 5 | 6 | tool 7 | 8 | # Replace `success` with `error : int`? 9 | var success := false 10 | var value = null 11 | var message := "" 12 | var inner_result = null 13 | 14 | 15 | func _init(p_success: bool, p_message := "", p_inner = null): 16 | success = p_success 17 | message = p_message 18 | inner_result = p_inner 19 | 20 | 21 | # TODO Can't type-hint self return 22 | func with_value(v): 23 | value = v 24 | return self 25 | 26 | 27 | func get_message() -> String: 28 | var msg := message 29 | if inner_result != null: 30 | msg += "\n" 31 | msg += inner_result.get_message() 32 | return msg 33 | 34 | 35 | func is_ok() -> bool: 36 | return success 37 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/tools/util/rich_text_label_hyperlinks.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends RichTextLabel 3 | 4 | 5 | func _ready(): 6 | connect("meta_clicked", self, "_on_meta_clicked") 7 | 8 | 9 | func _on_meta_clicked(meta): 10 | OS.shell_open(meta) 11 | 12 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/util/direct_multimesh_instance.gd: -------------------------------------------------------------------------------- 1 | 2 | # Implementation of MultiMeshInstance which doesn't use the scene tree 3 | 4 | var _multimesh_instance := RID() 5 | 6 | 7 | func _init(): 8 | _multimesh_instance = VisualServer.instance_create() 9 | 10 | 11 | func _notification(what: int): 12 | if what == NOTIFICATION_PREDELETE: 13 | VisualServer.free_rid(_multimesh_instance) 14 | 15 | 16 | func set_world(world: World): 17 | VisualServer.instance_set_scenario( 18 | _multimesh_instance, world.get_scenario() if world != null else RID()) 19 | 20 | 21 | func set_visible(visible: bool): 22 | VisualServer.instance_set_visible(_multimesh_instance, visible) 23 | 24 | 25 | func set_transform(trans: Transform): 26 | VisualServer.instance_set_transform(_multimesh_instance, trans) 27 | 28 | 29 | func set_multimesh(mm: MultiMesh): 30 | VisualServer.instance_set_base(_multimesh_instance, mm.get_rid() if mm != null else RID()) 31 | 32 | 33 | func set_material_override(material: Material): 34 | VisualServer.instance_geometry_set_material_override( \ 35 | _multimesh_instance, material.get_rid() if material != null else RID()) 36 | 37 | 38 | func set_aabb(aabb: AABB): 39 | VisualServer.instance_set_custom_aabb(_multimesh_instance, aabb) 40 | 41 | -------------------------------------------------------------------------------- /Simple Terrain/addons/zylann.hterrain/util/logger.gd: -------------------------------------------------------------------------------- 1 | 2 | class Base: 3 | var _context := "" 4 | 5 | func _init(p_context): 6 | _context = p_context 7 | 8 | func debug(msg: String): 9 | pass 10 | 11 | func warn(msg: String): 12 | push_warning("{0}: {1}".format([_context, msg])) 13 | 14 | func error(msg: String): 15 | push_error("{0}: {1}".format([_context, msg])) 16 | 17 | 18 | class Verbose extends Base: 19 | func _init(p_context: String).(p_context): 20 | pass 21 | 22 | func debug(msg: String): 23 | print(_context, ": ", msg) 24 | 25 | 26 | static func get_for(owner: Object) -> Base: 27 | # Note: don't store the owner. If it's a Reference, it could create a cycle 28 | var context = owner.get_script().resource_path.get_file() 29 | if OS.is_stdout_verbose(): 30 | return Verbose.new(context) 31 | return Base.new(context) 32 | 33 | -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.2 2 | - Ingame gui configuration: 3 | - draggability (configurable) 4 | - customizable gui background 5 | 6 | 7 | - enhanced movement (acceleration, deceleration..) 8 | -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/assets/maujoe.camera_control/icon.png -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-5d9aeb34e4fe76b4f9b5e813feff67e9.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://assets/maujoe.camera_control/icon.png" 13 | dest_files=[ "res://.import/icon.png-5d9aeb34e4fe76b4f9b5e813feff67e9.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/screenshots/editor_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/assets/maujoe.camera_control/screenshots/editor_settings.png -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/screenshots/editor_settings.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/editor_settings.png-af80b133a522dbb700e51845cc0c35b8.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://assets/maujoe.camera_control/screenshots/editor_settings.png" 13 | dest_files=[ "res://.import/editor_settings.png-af80b133a522dbb700e51845cc0c35b8.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/screenshots/gui_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/assets/maujoe.camera_control/screenshots/gui_settings.png -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/screenshots/gui_settings.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/gui_settings.png-a6d78a2514c6bec149d4ad7b06f0c4e8.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://assets/maujoe.camera_control/screenshots/gui_settings.png" 13 | dest_files=[ "res://.import/gui_settings.png-a6d78a2514c6bec149d4ad7b06f0c4e8.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/screenshots/ingame_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/assets/maujoe.camera_control/screenshots/ingame_gui.png -------------------------------------------------------------------------------- /Simple Terrain/assets/maujoe.camera_control/screenshots/ingame_gui.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/ingame_gui.png-3187694b99488d34f95f567f152c6937.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://assets/maujoe.camera_control/screenshots/ingame_gui.png" 13 | dest_files=[ "res://.import/ingame_gui.png-3187694b99488d34f95f567f152c6937.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | [resource] 6 | background_mode = 2 7 | background_sky = SubResource( 1 ) 8 | -------------------------------------------------------------------------------- /Simple Terrain/grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/grass.png -------------------------------------------------------------------------------- /Simple Terrain/grass.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/grass.png-79cf597cc1adecdff9d12adae9606f9b.s3tc.stex" 6 | path.etc2="res://.import/grass.png-79cf597cc1adecdff9d12adae9606f9b.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://grass.png" 15 | dest_files=[ "res://.import/grass.png-79cf597cc1adecdff9d12adae9606f9b.s3tc.stex", "res://.import/grass.png-79cf597cc1adecdff9d12adae9606f9b.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=1 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /Simple Terrain/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/icon.png -------------------------------------------------------------------------------- /Simple Terrain/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://icon.png" 13 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=4 10 | 11 | _global_script_classes=[ { 12 | "base": "ResourceFormatLoader", 13 | "class": "HTerrainDataLoader", 14 | "language": "GDScript", 15 | "path": "res://addons/zylann.hterrain/hterrain_resource_loader.gd" 16 | }, { 17 | "base": "ResourceFormatSaver", 18 | "class": "HTerrainDataSaver", 19 | "language": "GDScript", 20 | "path": "res://addons/zylann.hterrain/hterrain_resource_saver.gd" 21 | } ] 22 | _global_script_class_icons={ 23 | "HTerrainDataLoader": "", 24 | "HTerrainDataSaver": "" 25 | } 26 | 27 | [application] 28 | 29 | config/name="Simple Terrain" 30 | config/icon="res://icon.png" 31 | 32 | [display] 33 | 34 | window/size/width=1920 35 | window/size/height=1080 36 | 37 | [editor_plugins] 38 | 39 | enabled=PoolStringArray( "zylann.hterrain" ) 40 | 41 | [rendering] 42 | 43 | quality/filters/msaa=3 44 | environment/default_environment="res://default_env.tres" 45 | -------------------------------------------------------------------------------- /Simple Terrain/t_data/color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/t_data/color.png -------------------------------------------------------------------------------- /Simple Terrain/t_data/color.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/color.png-2b64dc55d4960363f195cece465eeede.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://t_data/color.png" 13 | dest_files=[ "res://.import/color.png-2b64dc55d4960363f195cece465eeede.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=false 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/t_data/data.hterrain: -------------------------------------------------------------------------------- 1 | { 2 | "maps": [ 3 | [ 4 | { 5 | "id": 0 6 | } 7 | ], 8 | [ 9 | { 10 | "id": 0 11 | } 12 | ], 13 | [ 14 | { 15 | "id": 0 16 | } 17 | ], 18 | [ 19 | { 20 | "id": 0 21 | } 22 | ], 23 | [ 24 | { 25 | "id": 0 26 | } 27 | ], 28 | [ 29 | { 30 | "id": 0 31 | } 32 | ], 33 | [ 34 | 35 | ], 36 | [ 37 | 38 | ] 39 | ], 40 | "version": "0.11" 41 | } -------------------------------------------------------------------------------- /Simple Terrain/t_data/detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/t_data/detail.png -------------------------------------------------------------------------------- /Simple Terrain/t_data/detail.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/detail.png-6814169adead9a5a18dff6e24f018495.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://t_data/detail.png" 13 | dest_files=[ "res://.import/detail.png-6814169adead9a5a18dff6e24f018495.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=0 27 | process/fix_alpha_border=false 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/t_data/global_albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/t_data/global_albedo.png -------------------------------------------------------------------------------- /Simple Terrain/t_data/global_albedo.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/global_albedo.png-b3cfc22e4a4c839289c0beb560fec6ed.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://t_data/global_albedo.png" 13 | dest_files=[ "res://.import/global_albedo.png-b3cfc22e4a4c839289c0beb560fec6ed.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=1 27 | process/fix_alpha_border=false 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/t_data/height.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/t_data/height.res -------------------------------------------------------------------------------- /Simple Terrain/t_data/normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/t_data/normal.png -------------------------------------------------------------------------------- /Simple Terrain/t_data/normal.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/normal.png-31b015c420662cdc8d1c929637760519.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://t_data/normal.png" 13 | dest_files=[ "res://.import/normal.png-31b015c420662cdc8d1c929637760519.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=0 27 | process/fix_alpha_border=false 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/t_data/splat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/Simple Terrain/t_data/splat.png -------------------------------------------------------------------------------- /Simple Terrain/t_data/splat.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/splat.png-2d78704a547bb585d7b2b9b60100cb32.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://t_data/splat.png" 13 | dest_files=[ "res://.import/splat.png-2d78704a547bb585d7b2b9b60100cb32.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=0 27 | process/fix_alpha_border=false 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot0_albedo_bump.packed_tex: -------------------------------------------------------------------------------- 1 | { 2 | "contains_albedo": true, 3 | "resolution": 1024, 4 | "src": { 5 | "a": "res://textures_raw/Ground003_2K-JPG/Ground003_2K_Displacement.jpg", 6 | "rgb": "res://textures_raw/Ground003_2K-JPG/Ground003_2K_Color.jpg" 7 | } 8 | } -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot0_albedo_bump.packed_tex.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="hterrain_packed_texture_importer" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/slot0_albedo_bump.packed_tex-7a055474131d8c49befc3b22852653f2.s3tc.stex" 6 | path.etc2="res://.import/slot0_albedo_bump.packed_tex-7a055474131d8c49befc3b22852653f2.etc2.stex" 7 | 8 | [deps] 9 | 10 | source_file="res://terrain_textures/slot0_albedo_bump.packed_tex" 11 | dest_files=[ "res://.import/slot0_albedo_bump.packed_tex-7a055474131d8c49befc3b22852653f2.s3tc.stex", "res://.import/slot0_albedo_bump.packed_tex-7a055474131d8c49befc3b22852653f2.etc2.stex" ] 12 | 13 | [params] 14 | 15 | compress/mode=2 16 | flags/repeat=1 17 | flags/filter=true 18 | flags/mipmaps=true 19 | -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot0_normal_roughness.packed_tex: -------------------------------------------------------------------------------- 1 | { 2 | "contains_albedo": false, 3 | "resolution": 1024, 4 | "src": { 5 | "a": "res://textures_raw/Ground003_2K-JPG/Ground003_2K_Roughness.jpg", 6 | "normalmap_flip_y": true, 7 | "rgb": "res://textures_raw/Ground003_2K-JPG/Ground003_2K_Normal.jpg" 8 | } 9 | } -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot0_normal_roughness.packed_tex.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="hterrain_packed_texture_importer" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/slot0_normal_roughness.packed_tex-36d06541132c6902e66a38c9c29bb0e5.s3tc.stex" 6 | path.etc2="res://.import/slot0_normal_roughness.packed_tex-36d06541132c6902e66a38c9c29bb0e5.etc2.stex" 7 | 8 | [deps] 9 | 10 | source_file="res://terrain_textures/slot0_normal_roughness.packed_tex" 11 | dest_files=[ "res://.import/slot0_normal_roughness.packed_tex-36d06541132c6902e66a38c9c29bb0e5.s3tc.stex", "res://.import/slot0_normal_roughness.packed_tex-36d06541132c6902e66a38c9c29bb0e5.etc2.stex" ] 12 | 13 | [params] 14 | 15 | compress/mode=2 16 | flags/repeat=1 17 | flags/filter=true 18 | flags/mipmaps=true 19 | -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot1_albedo_bump.packed_tex: -------------------------------------------------------------------------------- 1 | { 2 | "contains_albedo": true, 3 | "resolution": 1024, 4 | "src": { 5 | "a": "res://textures_raw/Rocks006_1K-JPG/Rocks006_1K_Displacement.jpg", 6 | "rgb": "res://textures_raw/Rocks006_1K-JPG/Rocks006_1K_Color.jpg" 7 | } 8 | } -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot1_albedo_bump.packed_tex.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="hterrain_packed_texture_importer" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/slot1_albedo_bump.packed_tex-a09fb5fe16c642793a9ec718198ff97d.s3tc.stex" 6 | path.etc2="res://.import/slot1_albedo_bump.packed_tex-a09fb5fe16c642793a9ec718198ff97d.etc2.stex" 7 | 8 | [deps] 9 | 10 | source_file="res://terrain_textures/slot1_albedo_bump.packed_tex" 11 | dest_files=[ "res://.import/slot1_albedo_bump.packed_tex-a09fb5fe16c642793a9ec718198ff97d.s3tc.stex", "res://.import/slot1_albedo_bump.packed_tex-a09fb5fe16c642793a9ec718198ff97d.etc2.stex" ] 12 | 13 | [params] 14 | 15 | compress/mode=2 16 | flags/repeat=1 17 | flags/filter=true 18 | flags/mipmaps=true 19 | -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot1_normal_roughness.packed_tex: -------------------------------------------------------------------------------- 1 | { 2 | "contains_albedo": false, 3 | "resolution": 1024, 4 | "src": { 5 | "a": "res://textures_raw/Rocks006_1K-JPG/Rocks006_1K_Roughness.jpg", 6 | "normalmap_flip_y": true, 7 | "rgb": "res://textures_raw/Rocks006_1K-JPG/Rocks006_1K_Normal.jpg" 8 | } 9 | } -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot1_normal_roughness.packed_tex.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="hterrain_packed_texture_importer" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/slot1_normal_roughness.packed_tex-2422228ca4c84b631f4eec367c205e7c.s3tc.stex" 6 | path.etc2="res://.import/slot1_normal_roughness.packed_tex-2422228ca4c84b631f4eec367c205e7c.etc2.stex" 7 | 8 | [deps] 9 | 10 | source_file="res://terrain_textures/slot1_normal_roughness.packed_tex" 11 | dest_files=[ "res://.import/slot1_normal_roughness.packed_tex-2422228ca4c84b631f4eec367c205e7c.s3tc.stex", "res://.import/slot1_normal_roughness.packed_tex-2422228ca4c84b631f4eec367c205e7c.etc2.stex" ] 12 | 13 | [params] 14 | 15 | compress/mode=2 16 | flags/repeat=1 17 | flags/filter=true 18 | flags/mipmaps=true 19 | -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot2_albedo_bump.packed_tex: -------------------------------------------------------------------------------- 1 | { 2 | "contains_albedo": true, 3 | "resolution": 1024, 4 | "src": { 5 | "a": "res://textures_raw/Rocks007_1K-JPG/Rocks007_1K_Displacement.jpg", 6 | "rgb": "res://textures_raw/Rocks007_1K-JPG/Rocks007_1K_Color.jpg" 7 | } 8 | } -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot2_albedo_bump.packed_tex.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="hterrain_packed_texture_importer" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/slot2_albedo_bump.packed_tex-f37ac7d9d0dc76f87142c5c89578dc47.s3tc.stex" 6 | path.etc2="res://.import/slot2_albedo_bump.packed_tex-f37ac7d9d0dc76f87142c5c89578dc47.etc2.stex" 7 | 8 | [deps] 9 | 10 | source_file="res://terrain_textures/slot2_albedo_bump.packed_tex" 11 | dest_files=[ "res://.import/slot2_albedo_bump.packed_tex-f37ac7d9d0dc76f87142c5c89578dc47.s3tc.stex", "res://.import/slot2_albedo_bump.packed_tex-f37ac7d9d0dc76f87142c5c89578dc47.etc2.stex" ] 12 | 13 | [params] 14 | 15 | compress/mode=2 16 | flags/repeat=1 17 | flags/filter=true 18 | flags/mipmaps=true 19 | -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot2_normal_roughness.packed_tex: -------------------------------------------------------------------------------- 1 | { 2 | "contains_albedo": false, 3 | "resolution": 1024, 4 | "src": { 5 | "a": "res://textures_raw/Rocks007_1K-JPG/Rocks007_1K_Roughness.jpg", 6 | "normalmap_flip_y": true, 7 | "rgb": "res://textures_raw/Rocks007_1K-JPG/Rocks007_1K_Normal.jpg" 8 | } 9 | } -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot2_normal_roughness.packed_tex.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="hterrain_packed_texture_importer" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/slot2_normal_roughness.packed_tex-a54e2939889c1b26b01e8293ce9e612a.s3tc.stex" 6 | path.etc2="res://.import/slot2_normal_roughness.packed_tex-a54e2939889c1b26b01e8293ce9e612a.etc2.stex" 7 | 8 | [deps] 9 | 10 | source_file="res://terrain_textures/slot2_normal_roughness.packed_tex" 11 | dest_files=[ "res://.import/slot2_normal_roughness.packed_tex-a54e2939889c1b26b01e8293ce9e612a.s3tc.stex", "res://.import/slot2_normal_roughness.packed_tex-a54e2939889c1b26b01e8293ce9e612a.etc2.stex" ] 12 | 13 | [params] 14 | 15 | compress/mode=2 16 | flags/repeat=1 17 | flags/filter=true 18 | flags/mipmaps=true 19 | -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot3_albedo_bump.packed_tex: -------------------------------------------------------------------------------- 1 | { 2 | "contains_albedo": true, 3 | "resolution": 1024, 4 | "src": { 5 | "a": "res://textures_raw/Rock028_1K-JPG/Rock028_1K_Displacement.jpg", 6 | "rgb": "res://textures_raw/Rock028_1K-JPG/Rock028_1K_Color.jpg" 7 | } 8 | } -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot3_albedo_bump.packed_tex.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="hterrain_packed_texture_importer" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/slot3_albedo_bump.packed_tex-38e58be604bdc703676bb195f762c72d.s3tc.stex" 6 | path.etc2="res://.import/slot3_albedo_bump.packed_tex-38e58be604bdc703676bb195f762c72d.etc2.stex" 7 | 8 | [deps] 9 | 10 | source_file="res://terrain_textures/slot3_albedo_bump.packed_tex" 11 | dest_files=[ "res://.import/slot3_albedo_bump.packed_tex-38e58be604bdc703676bb195f762c72d.s3tc.stex", "res://.import/slot3_albedo_bump.packed_tex-38e58be604bdc703676bb195f762c72d.etc2.stex" ] 12 | 13 | [params] 14 | 15 | compress/mode=2 16 | flags/repeat=1 17 | flags/filter=true 18 | flags/mipmaps=true 19 | -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot3_normal_roughness.packed_tex: -------------------------------------------------------------------------------- 1 | { 2 | "contains_albedo": false, 3 | "resolution": 1024, 4 | "src": { 5 | "a": "res://textures_raw/Rock028_1K-JPG/Rock028_1K_Roughness.jpg", 6 | "normalmap_flip_y": true, 7 | "rgb": "res://textures_raw/Rock028_1K-JPG/Rock028_1K_Normal.jpg" 8 | } 9 | } -------------------------------------------------------------------------------- /Simple Terrain/terrain_textures/slot3_normal_roughness.packed_tex.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="hterrain_packed_texture_importer" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/slot3_normal_roughness.packed_tex-84501d615a0f935997060541d87bfa97.s3tc.stex" 6 | path.etc2="res://.import/slot3_normal_roughness.packed_tex-84501d615a0f935997060541d87bfa97.etc2.stex" 7 | 8 | [deps] 9 | 10 | source_file="res://terrain_textures/slot3_normal_roughness.packed_tex" 11 | dest_files=[ "res://.import/slot3_normal_roughness.packed_tex-84501d615a0f935997060541d87bfa97.s3tc.stex", "res://.import/slot3_normal_roughness.packed_tex-84501d615a0f935997060541d87bfa97.etc2.stex" ] 12 | 13 | [params] 14 | 15 | compress/mode=2 16 | flags/repeat=1 17 | flags/filter=true 18 | flags/mipmaps=true 19 | -------------------------------------------------------------------------------- /grass_interact/assets/grass_straw.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 500 6 | Ka 0.8 0.8 0.8 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /grass_interact/assets/grass_straw.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.91.2 OBJ File: '' 2 | # www.blender.org 3 | o grass_straw_Plane 4 | v -0.000000 0.500000 0.000000 5 | v 0.000000 0.000000 0.050000 6 | v 0.000000 0.000000 -0.050000 7 | vt 0.500000 1.000000 8 | vt 0.000000 0.000000 9 | vt 1.000000 0.000000 10 | vn 1.0000 0.0000 0.0000 11 | s off 12 | f 1/1/1 2/2/1 3/3/1 13 | -------------------------------------------------------------------------------- /grass_interact/assets/grass_straw.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/grass_straw.obj-51027a4338858db480209e3245334277.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/grass_straw.obj-51027a4338858db480209e3245334277.mesh" ] 10 | 11 | source_file="res://assets/grass_straw.obj" 12 | dest_files=[ "res://.import/grass_straw.obj-51027a4338858db480209e3245334277.mesh", "res://.import/grass_straw.obj-51027a4338858db480209e3245334277.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | offset_mesh=Vector3( 0, 0, 0 ) 19 | optimize_mesh=true 20 | -------------------------------------------------------------------------------- /grass_interact/default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | [resource] 6 | background_mode = 2 7 | background_sky = SubResource( 1 ) 8 | -------------------------------------------------------------------------------- /grass_interact/grass.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode cull_disabled; 3 | 4 | uniform vec4 albedo : hint_color; 5 | 6 | uniform vec3 player_pos = vec3(0.0); 7 | uniform float interact_power = 0.5; 8 | uniform float radius = 1.0; 9 | 10 | void vertex() { 11 | vec3 world_vert = (WORLD_MATRIX * vec4(VERTEX, 1.0)).xyz; // model space to world space 12 | vec3 direction = world_vert - player_pos; 13 | direction.y = 0.0; 14 | direction = normalize(direction); 15 | float dist = distance(player_pos, world_vert); 16 | float power = smoothstep(radius, 0.0, dist); 17 | direction = (vec4(direction, 1.0) * WORLD_MATRIX).xyz; // world space direction to model space 18 | VERTEX += direction * power * interact_power * (1.0 - UV.y); 19 | } 20 | 21 | void fragment() { 22 | ALBEDO = albedo.rgb; 23 | } -------------------------------------------------------------------------------- /grass_interact/grass_mover.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends Spatial 3 | 4 | 5 | # Called when the node enters the scene tree for the first time. 6 | func _process(delta: float) -> void: 7 | get_parent().get_parent().get_node("Grass").material_override.set_shader_param("player_pos", global_transform.origin) 8 | -------------------------------------------------------------------------------- /grass_interact/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact/icon.png -------------------------------------------------------------------------------- /grass_interact/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://icon.png" 13 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /grass_interact/logs/godot.log: -------------------------------------------------------------------------------- 1 | Godot Engine v3.2.3.stable.official - https://godotengine.org 2 | OpenGL ES 3.0 Renderer: Intel(R) UHD Graphics 620 3 | 4 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/.gdignore: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/World.tscn-folding-73d50b7f59085c9a9ce28353ee849bb1.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | node_unfolds=[NodePath("grass_straw"), PackedStringArray("Transform", "Visibility"), NodePath("Grass"), PackedStringArray("Transform", "Geometry", "material_override"), NodePath("Player/MeshInstance3D"), PackedStringArray("Transform", "mesh"), NodePath("Player/GrassMover"), PackedStringArray("Transform", "Visibility")] 4 | resource_unfolds=["res://World.tscn::2", PackedStringArray("Resource"), "res://World.tscn::3", PackedStringArray("Resource", "Shader Parameters"), "res://World.tscn::4", PackedStringArray("Resource"), "res://World.tscn::5", PackedStringArray("Resource")] 5 | nodes_folded=[] 6 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/default_env.tres-folding-7cf3fd67ad9f55210191d77b582b8209.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/filesystem_cache8: -------------------------------------------------------------------------------- 1 | ea4bc82a6ad023ab7ee23ee620429895 2 | ::res://::1695145302 3 | default_env.tres::Environment::-1::1695145198::0::1::::<><>:: 4 | grass.gdshader::Shader::-1::1695145198::0::1::::<><>:: 5 | grass.tres::VisualShader::-1::1695145198::0::1::::<><>:: 6 | grass_mover.gd::GDScript::-1::1695145198::0::1::::<>Node3D<>:: 7 | icon.png::CompressedTexture2D::5559799836094008936::1612275683::1695145304::1::::<><>:: 8 | World.tscn::PackedScene::-1::1695145198::0::1::::<><>::res://grass_mover.gd<>res://assets/grass_straw.obj<>res://grass.gdshader<>res://grass.tres 9 | ::res://assets/::1695144724 10 | grass_straw.obj::Mesh::5545816346687295902::1612277891::1695145304::1::::<><>:: 11 | ::res://logs/::1695144724 12 | godot.log::TextFile::-1::1612278178::0::1::::<><>:: 13 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/filesystem_update4: -------------------------------------------------------------------------------- 1 | res://default_env.tres 2 | res://World.tscn 3 | res://grass.tres 4 | res://grass.gdshader 5 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/grass.gdshader-folding-f1a1174293bba1359c18f05805576f01.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/grass.tres-folding-809d9d2f9d7ac58a0b9146e093a5621b.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/grass_straw.obj-51027a4338858db480209e3245334277.mesh-folding-45cee63d4c7d216fd4c07d93e9ae2fbb.cfg: -------------------------------------------------------------------------------- 1 | [folding] 2 | 3 | sections_unfolded=PackedStringArray() 4 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/project_metadata.cfg: -------------------------------------------------------------------------------- 1 | [editor_metadata] 2 | 3 | executable_path="C:/Program Files/Godot/Godot_v4.1.1-stable_win64.exe" 4 | 5 | [debug_options] 6 | 7 | run_live_debug=true 8 | run_reload_scripts=true 9 | 10 | [recent_files] 11 | 12 | scenes=["res://World.tscn"] 13 | scripts=["res://grass_mover.gd"] 14 | 15 | [linked_properties] 16 | 17 | Node3D:scale=true 18 | DirectionalLight3D:scale=true 19 | MeshInstance3D:scale=true 20 | MultiMeshInstance3D:scale=true 21 | 22 | [color_picker] 23 | 24 | recent_presets=PackedColorArray(1, 0.916106, 0.873447, 1) 25 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/editor/script_editor_cache.cfg: -------------------------------------------------------------------------------- 1 | [res://grass_mover.gd] 2 | 3 | state={ 4 | "bookmarks": PackedInt32Array(), 5 | "breakpoints": PackedInt32Array(), 6 | "column": 0, 7 | "folded_lines": Array[int]([]), 8 | "h_scroll_position": 0, 9 | "row": 2, 10 | "scroll_position": 0.0, 11 | "selection": false, 12 | "syntax_highlighter": "GDScript" 13 | } 14 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/global_script_class_cache.cfg: -------------------------------------------------------------------------------- 1 | list=Array[Dictionary]([]) 2 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/imported/grass_straw.obj-51027a4338858db480209e3245334277.md5: -------------------------------------------------------------------------------- 1 | source_md5="2901e0f4b58e7cefabf8767fe850f93a" 2 | dest_md5="24f717cea040525d3e7618f4f124a486" 3 | 4 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/imported/grass_straw.obj-51027a4338858db480209e3245334277.mesh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/imported/grass_straw.obj-51027a4338858db480209e3245334277.mesh -------------------------------------------------------------------------------- /grass_interact_4/.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex -------------------------------------------------------------------------------- /grass_interact_4/.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.md5: -------------------------------------------------------------------------------- 1 | source_md5="47313fa4c47a9963fddd764e1ec6e4a8" 2 | dest_md5="e460ea20cd8f2b0bb93e0b9aea181c60" 3 | 4 | -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/BlitShaderRD/e5047fcefa30442783be734705aed10b8020504a66f92f63ed86bdf34970cde1/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/BlitShaderRD/e5047fcefa30442783be734705aed10b8020504a66f92f63ed86bdf34970cde1/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/BokehDofShaderRD/740231f9184e30b53261c38e375c4c8c10b9970d370ba5012b655652f91c4124/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/BokehDofShaderRD/740231f9184e30b53261c38e375c4c8c10b9970d370ba5012b655652f91c4124/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasOcclusionShaderRD/7056555b40140d5d4fa7f634d9107d9b0c53f4988a9c267b12ecb2e9b79339bb/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasOcclusionShaderRD/7056555b40140d5d4fa7f634d9107d9b0c53f4988a9c267b12ecb2e9b79339bb/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasSdfShaderRD/884841f2ed8f766f2ec50c7630bc034ee802170ea7afe00146eb9b501b6fe106/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasSdfShaderRD/884841f2ed8f766f2ec50c7630bc034ee802170ea7afe00146eb9b501b6fe106/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/4ec852a08804e533592028acf4549bb0f684d7ab.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/4ec852a08804e533592028acf4549bb0f684d7ab.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/6b3b870743b828dcd054fdf31e0034e036dad94f.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/6b3b870743b828dcd054fdf31e0034e036dad94f.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/7d3bc38ef95ec9de74da0f4336fe04379e9d264c.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/7d3bc38ef95ec9de74da0f4336fe04379e9d264c.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/98676c93f49a619be763bf730c8db104e1e3ad96.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/98676c93f49a619be763bf730c8db104e1e3ad96.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/c58570947be7f76937b1582424c0fd3d81be0352.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/c58570947be7f76937b1582424c0fd3d81be0352.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/c705f207082a6859c3d537450f3724065aa7c085.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/c705f207082a6859c3d537450f3724065aa7c085.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/ddbe30d4d1be5d69b00075293fd27da8decd4af2.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/ddbe30d4d1be5d69b00075293fd27da8decd4af2.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/f3e258e8f7ec2e7e740b62f3bc48ecf5c99fb0db.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CanvasShaderRD/02e4d4e394d4d4d356a6056446b2ad3dce4a260af01de389e37159cb2919c0e3/f3e258e8f7ec2e7e740b62f3bc48ecf5c99fb0db.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ClusterDebugShaderRD/83e2437dfe07b95ac1d67c650fdf23af6a1484610816c522994f8fa9087daffd/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ClusterDebugShaderRD/83e2437dfe07b95ac1d67c650fdf23af6a1484610816c522994f8fa9087daffd/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ClusterRenderShaderRD/e74d7eb7e8fa11d868ae9c77ed87e621549a85cc19907efda2cb9022010f3106/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ClusterRenderShaderRD/e74d7eb7e8fa11d868ae9c77ed87e621549a85cc19907efda2cb9022010f3106/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ClusterStoreShaderRD/a1146ca823067431cc78e070a0bd512d7ae5e62190b7eed5e125f96b4c0a53af/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ClusterStoreShaderRD/a1146ca823067431cc78e070a0bd512d7ae5e62190b7eed5e125f96b4c0a53af/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CopyShaderGLES3/b1bc5a355ed9bda23f291956f121e0535b4e81b54cdac398412d200e6133161f/0569298c4bd67f71fa194e93b48a113d8bfd63e0.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CopyShaderGLES3/b1bc5a355ed9bda23f291956f121e0535b4e81b54cdac398412d200e6133161f/0569298c4bd67f71fa194e93b48a113d8bfd63e0.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CopyShaderRD/207a7c8aa7fd8380cac15be4492cc2ec40b0b60da59e2bc7f9e00e700a6ef504/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CopyShaderRD/207a7c8aa7fd8380cac15be4492cc2ec40b0b60da59e2bc7f9e00e700a6ef504/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CopyToFbShaderRD/9df1b2798f0817a2808802d4571852bc2392ae4c17bd8718b77a7e6ab6771356/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CopyToFbShaderRD/9df1b2798f0817a2808802d4571852bc2392ae4c17bd8718b77a7e6ab6771356/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CubeToDpShaderRD/4933c20de143e376182a3823bc5aba3697964d0d244feb80d739ee73b527c9f4/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CubeToDpShaderRD/4933c20de143e376182a3823bc5aba3697964d0d244feb80d739ee73b527c9f4/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CubemapDownsamplerShaderRD/1476944f77adc4764c57ec91ee47d0c95dc0abd28cd6b6ae525dd04ea3e173aa/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CubemapDownsamplerShaderRD/1476944f77adc4764c57ec91ee47d0c95dc0abd28cd6b6ae525dd04ea3e173aa/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CubemapFilterShaderRD/f17f17bd1ffca0619464e706e0c7c0600b70291584fce577f41c103af9b1f9ff/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CubemapFilterShaderRD/f17f17bd1ffca0619464e706e0c7c0600b70291584fce577f41c103af9b1f9ff/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/CubemapRoughnessShaderRD/a7daf7eb929f5f743f35ad608b9ffa353b7dda2bf7ec66c3e088d9cd6fa957ef/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/CubemapRoughnessShaderRD/a7daf7eb929f5f743f35ad608b9ffa353b7dda2bf7ec66c3e088d9cd6fa957ef/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/FsrUpscaleShaderRD/99b0eb9fdef9ba503a8d0d1289e4845b1a3e5665a7f034a994738334204a4d20/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/FsrUpscaleShaderRD/99b0eb9fdef9ba503a8d0d1289e4845b1a3e5665a7f034a994738334204a4d20/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/GiShaderRD/f3a40cb89aebf1d8885abf5a21709e05d03775fe2687d93ad2bf44b79a215d09/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/GiShaderRD/f3a40cb89aebf1d8885abf5a21709e05d03775fe2687d93ad2bf44b79a215d09/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/LuminanceReduceShaderRD/ea366273aa1ae3cfbaf5b0d808a0d54fd64450cc41b6e7e0ac72a15d294bda82/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/LuminanceReduceShaderRD/ea366273aa1ae3cfbaf5b0d808a0d54fd64450cc41b6e7e0ac72a15d294bda82/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ParticlesCopyShaderRD/91b875446f6cb83730ece374de0d55df2b19a73640dea924f46a7da75d458103/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ParticlesCopyShaderRD/91b875446f6cb83730ece374de0d55df2b19a73640dea924f46a7da75d458103/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ParticlesShaderRD/f7ab6ccfa252be89882edb865a0c044053c5e338929dd6e1fa9e48d94dd7c7ac/f128cab0b22fb7e0d9f023d6cdb81309be392d95.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ParticlesShaderRD/f7ab6ccfa252be89882edb865a0c044053c5e338929dd6e1fa9e48d94dd7c7ac/f128cab0b22fb7e0d9f023d6cdb81309be392d95.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ResolveShaderRD/cc90a4f2c705e3b20d9ba19a096b54e5619fe6298f485b98cb306c4e44aa9453/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ResolveShaderRD/cc90a4f2c705e3b20d9ba19a096b54e5619fe6298f485b98cb306c4e44aa9453/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/0111b66bc05d2e7be4a6f4707fd1bdbcf7535a05.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/0111b66bc05d2e7be4a6f4707fd1bdbcf7535a05.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/12ebab518252ae4276b8badba1a6fc1b95a33c8b.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/12ebab518252ae4276b8badba1a6fc1b95a33c8b.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/18d20e2757a0f4ce9b109ae99852f1be6eaa1288.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/18d20e2757a0f4ce9b109ae99852f1be6eaa1288.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/2268f151ef1dca9e12de830ee96448fd3c98d520.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/2268f151ef1dca9e12de830ee96448fd3c98d520.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/2c9cd118e5c7b12c6353b981a1b3d8d3ec947c4a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/2c9cd118e5c7b12c6353b981a1b3d8d3ec947c4a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/2e3c805e9bd451eef3b030bfea65a5da186cf4ed.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/2e3c805e9bd451eef3b030bfea65a5da186cf4ed.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/34a5e28b5a870ad273349f953c5d1224ef2811a7.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/34a5e28b5a870ad273349f953c5d1224ef2811a7.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/34f0482071405bdf40266198d48d9d1fba3dbcff.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/34f0482071405bdf40266198d48d9d1fba3dbcff.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/381c6495bc96c90037715c46acaa3b301d4a488f.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/381c6495bc96c90037715c46acaa3b301d4a488f.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/39494d8bc2cf10f8ff30e985f03346f69431cfc6.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/39494d8bc2cf10f8ff30e985f03346f69431cfc6.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/4a35c33c27d16668bac93996ecb8e3be2a7f4830.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/4a35c33c27d16668bac93996ecb8e3be2a7f4830.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/54202eec702711805ef2e96464566c5d36cf146f.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/54202eec702711805ef2e96464566c5d36cf146f.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/6c6b12a5e393b3ca55ab7e2b9672a7cf1ad24213.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/6c6b12a5e393b3ca55ab7e2b9672a7cf1ad24213.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/7fb66440f65dac23b75016fc52fb82ae26e9393f.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/7fb66440f65dac23b75016fc52fb82ae26e9393f.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/89bcfaacc477a90ca3cd35fca123dad31ee31dc7.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/89bcfaacc477a90ca3cd35fca123dad31ee31dc7.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/9e90053c797fffdb6e38ca23390c7a5507ab0fa3.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/9e90053c797fffdb6e38ca23390c7a5507ab0fa3.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/a2e255ed5160eb89feb9e5de52572875c4569905.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/a2e255ed5160eb89feb9e5de52572875c4569905.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/ac7f014a039e6922c10840b358eae0b78441cf65.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/ac7f014a039e6922c10840b358eae0b78441cf65.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/bb1180fbd147b6e348c825ef2adb98c6354bd9fb.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/bb1180fbd147b6e348c825ef2adb98c6354bd9fb.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/c756652d5308f9f1e7160661dc35b4014d5ae9f3.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/c756652d5308f9f1e7160661dc35b4014d5ae9f3.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/dd067b9b497e0a08dec1b617ee25e7b2b463c49a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/dd067b9b497e0a08dec1b617ee25e7b2b463c49a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/dfe2cd8f6a54d8a4d9cde5047b4dc131c46d8b1d.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/dfe2cd8f6a54d8a4d9cde5047b4dc131c46d8b1d.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/f342c2c786896028539048028f2388007c962f3c.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/f342c2c786896028539048028f2388007c962f3c.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/fc3ff5191b02a9d4ce4f33e597ad09bb0fe7579a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneForwardClusteredShaderRD/5a630ea5a33829193ef3a40dc4da0e39f17ce3a8c77e8a7ac789b99982144f61/fc3ff5191b02a9d4ce4f33e597ad09bb0fe7579a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SceneShaderGLES3/7757391c487ac94cfa6418166bd5fdacce470f09394c1a2a875e878c8c5d8596/0569298c4bd67f71fa194e93b48a113d8bfd63e0.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SceneShaderGLES3/7757391c487ac94cfa6418166bd5fdacce470f09394c1a2a875e878c8c5d8596/0569298c4bd67f71fa194e93b48a113d8bfd63e0.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ScreenSpaceReflectionFilterShaderRD/7a6a4769c4fc15e126e986bb7474257b7c90114042b87634f62bb4bd78e5df22/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ScreenSpaceReflectionFilterShaderRD/7a6a4769c4fc15e126e986bb7474257b7c90114042b87634f62bb4bd78e5df22/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ScreenSpaceReflectionScaleShaderRD/cd61b242ea431a009a3b8b5010af05b7ffddd05ca5cd4d10486dad2803485f95/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ScreenSpaceReflectionScaleShaderRD/cd61b242ea431a009a3b8b5010af05b7ffddd05ca5cd4d10486dad2803485f95/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/ScreenSpaceReflectionShaderRD/faa60f35e2f91f1715cb0e42d2050709fe742de5d72eabb37f9985333796be23/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/ScreenSpaceReflectionShaderRD/faa60f35e2f91f1715cb0e42d2050709fe742de5d72eabb37f9985333796be23/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SdfgiDebugProbesShaderRD/3b48c587869d005dd5b942933181bee46a4dc441829670585dc39bb9e4458ce7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SdfgiDebugProbesShaderRD/3b48c587869d005dd5b942933181bee46a4dc441829670585dc39bb9e4458ce7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SdfgiDebugShaderRD/27cdb15febab97223a8e2c16d840cc50e7a652af374eec9ce7765d6d1cac21fa/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SdfgiDebugShaderRD/27cdb15febab97223a8e2c16d840cc50e7a652af374eec9ce7765d6d1cac21fa/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SdfgiDirectLightShaderRD/a006ba392117c4f3162292685a0476b64904e17d08cbfffb735554a60b7995f5/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SdfgiDirectLightShaderRD/a006ba392117c4f3162292685a0476b64904e17d08cbfffb735554a60b7995f5/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SdfgiIntegrateShaderRD/49652bfbb10cff2d39a9c687b49d889ba799600982310b4e5e977f66ff13fc4d/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SdfgiIntegrateShaderRD/49652bfbb10cff2d39a9c687b49d889ba799600982310b4e5e977f66ff13fc4d/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SdfgiPreprocessShaderRD/bf9eab12054600f8af2280218756be8d78c3656fdef410d83214273d932ac06d/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SdfgiPreprocessShaderRD/bf9eab12054600f8af2280218756be8d78c3656fdef410d83214273d932ac06d/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SkeletonShaderRD/6bc2f8ef4b30b454ed825eb79818637020c3967eb512a04a9303e91d48c80a26/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SkeletonShaderRD/6bc2f8ef4b30b454ed825eb79818637020c3967eb512a04a9303e91d48c80a26/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/03e3b11c69e24394b2d955a8c0ba85587bb70839.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/03e3b11c69e24394b2d955a8c0ba85587bb70839.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/064198c016022615fe6753142c7d0fb63e72359e.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/064198c016022615fe6753142c7d0fb63e72359e.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/30d73e67a87678d23764c9bb22b806795c0e3dcf.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/30d73e67a87678d23764c9bb22b806795c0e3dcf.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/5e341807a40df1680aa1db561c90fe1002c781bd.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/5e341807a40df1680aa1db561c90fe1002c781bd.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/8ff1cb75fe7e72aab2ee40f4669b989cb284bbc7.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/8ff1cb75fe7e72aab2ee40f4669b989cb284bbc7.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/de678811d1bad3cad4892a8db7b6ea0be197d51d.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SkyShaderRD/3d7c408289bf826aba9dc433d32ba4c2bd222f07deb2921211ba48eac26fd9d6/de678811d1bad3cad4892a8db7b6ea0be197d51d.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SortShaderRD/412ea376207f1c650aff670638c1ba8c6602e7c6e2d023346389f03c9b898070/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SortShaderRD/412ea376207f1c650aff670638c1ba8c6602e7c6e2d023346389f03c9b898070/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SpecularMergeShaderRD/c6c4f2797a84a99cf42df508bdd4e026e53dbd67370214e4d536794687458926/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SpecularMergeShaderRD/c6c4f2797a84a99cf42df508bdd4e026e53dbd67370214e4d536794687458926/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsEffectsDownsampleShaderRD/0dbb53e60c94a8c7d7e1bb8c962ad9a6f0fc293216fefa1fc1ea37a44d86fca7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsEffectsDownsampleShaderRD/0dbb53e60c94a8c7d7e1bb8c962ad9a6f0fc293216fefa1fc1ea37a44d86fca7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsaoBlurShaderRD/8f23836971ceb8d5fef4c302502d7e02b8042e1004ef87274bb8b04fab8e19f7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsaoBlurShaderRD/8f23836971ceb8d5fef4c302502d7e02b8042e1004ef87274bb8b04fab8e19f7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsaoImportanceMapShaderRD/56fd96198277dfa0f36f517803c0a9ce7472d25bab97ffd36a2b15c0ff1d15a4/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsaoImportanceMapShaderRD/56fd96198277dfa0f36f517803c0a9ce7472d25bab97ffd36a2b15c0ff1d15a4/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsaoInterleaveShaderRD/8cdb821e9772807c355e880e986eb644062eab1ae9dc8ff42db59e7cac89352e/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsaoInterleaveShaderRD/8cdb821e9772807c355e880e986eb644062eab1ae9dc8ff42db59e7cac89352e/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsaoShaderRD/0937c03d70e85899b90dc34a45f5bd9822b73fec1566e922af3d6c062ef9088b/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsaoShaderRD/0937c03d70e85899b90dc34a45f5bd9822b73fec1566e922af3d6c062ef9088b/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsilBlurShaderRD/b2450b00ea26280e666a522dc687d39a8227f51fdf6b029597085b8d6ea6a2bf/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsilBlurShaderRD/b2450b00ea26280e666a522dc687d39a8227f51fdf6b029597085b8d6ea6a2bf/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsilImportanceMapShaderRD/c55b0b2baba2646a0f7567009b05e7acbfa335524a3f3683c0423d6a6a94ccd5/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsilImportanceMapShaderRD/c55b0b2baba2646a0f7567009b05e7acbfa335524a3f3683c0423d6a6a94ccd5/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsilInterleaveShaderRD/d69b6050309243f6ef74b5603f008a6bf8330e4b3f0354b97bcbcc9c95703be3/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsilInterleaveShaderRD/d69b6050309243f6ef74b5603f008a6bf8330e4b3f0354b97bcbcc9c95703be3/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SsilShaderRD/63e628cfc12381799deefc60bf50552d4a7640aa10cf63fdf84ea93ea541c381/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SsilShaderRD/63e628cfc12381799deefc60bf50552d4a7640aa10cf63fdf84ea93ea541c381/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/SubsurfaceScatteringShaderRD/3a47474ea41c1ab67d56e550848f41927a2d67d2e1de4084970e48c587da9d47/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/SubsurfaceScatteringShaderRD/3a47474ea41c1ab67d56e550848f41927a2d67d2e1de4084970e48c587da9d47/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/TaaResolveShaderRD/c3bd50ff28d1cf5a593920485472694b75e875312c00725c52aa1df0d3b35873/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/TaaResolveShaderRD/c3bd50ff28d1cf5a593920485472694b75e875312c00725c52aa1df0d3b35873/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/TonemapShaderRD/f0c47d5cefe95675f0e641e28994970040cc37f5261113c6b95258acadbb7cc7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/TonemapShaderRD/f0c47d5cefe95675f0e641e28994970040cc37f5261113c6b95258acadbb7cc7/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/VolumetricFogProcessShaderRD/195852f319852f883dd2a4ba0b6f5cc5c3944daa9855f317d03498bb2ad2351f/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/VolumetricFogProcessShaderRD/195852f319852f883dd2a4ba0b6f5cc5c3944daa9855f317d03498bb2ad2351f/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/VolumetricFogShaderRD/64171d81af1f283f227db68cac873686fbf672b73f2a504a3d967a5df51fafe7/9a227745af2d65830f930370a9fbba551fbd6f60.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/VolumetricFogShaderRD/64171d81af1f283f227db68cac873686fbf672b73f2a504a3d967a5df51fafe7/9a227745af2d65830f930370a9fbba551fbd6f60.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/VoxelGiDebugShaderRD/271f62d84e02344b9219f7186517599d17e3b18a27efb630f7960cf4557f68cd/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/VoxelGiDebugShaderRD/271f62d84e02344b9219f7186517599d17e3b18a27efb630f7960cf4557f68cd/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/shader_cache/VoxelGiShaderRD/fb1baf448be34295af6c42c77af446b2458932650f5d00ce923194c4d9265131/087916079fba7c625e62b0c2cca570e0fb87c99a.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/shader_cache/VoxelGiShaderRD/fb1baf448be34295af6c42c77af446b2458932650f5d00ce923194c4d9265131/087916079fba7c625e62b0c2cca570e0fb87c99a.cache -------------------------------------------------------------------------------- /grass_interact_4/.godot/uid_cache.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/.godot/uid_cache.bin -------------------------------------------------------------------------------- /grass_interact_4/assets/grass_straw.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 500 6 | Ka 0.8 0.8 0.8 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /grass_interact_4/assets/grass_straw.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.91.2 OBJ File: '' 2 | # www.blender.org 3 | o grass_straw_Plane 4 | v -0.000000 0.500000 0.000000 5 | v 0.000000 0.000000 0.050000 6 | v 0.000000 0.000000 -0.050000 7 | vt 0.500000 1.000000 8 | vt 0.000000 0.000000 9 | vt 1.000000 0.000000 10 | vn 1.0000 0.0000 0.0000 11 | s off 12 | f 1/1/1 2/2/1 3/3/1 13 | -------------------------------------------------------------------------------- /grass_interact_4/assets/grass_straw.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | importer_version=1 5 | type="Mesh" 6 | uid="uid://clao1xoxy2omw" 7 | path="res://.godot/imported/grass_straw.obj-51027a4338858db480209e3245334277.mesh" 8 | 9 | [deps] 10 | 11 | files=["res://.godot/imported/grass_straw.obj-51027a4338858db480209e3245334277.mesh"] 12 | 13 | source_file="res://assets/grass_straw.obj" 14 | dest_files=["res://.godot/imported/grass_straw.obj-51027a4338858db480209e3245334277.mesh", "res://.godot/imported/grass_straw.obj-51027a4338858db480209e3245334277.mesh"] 15 | 16 | [params] 17 | 18 | generate_tangents=true 19 | scale_mesh=Vector3(1, 1, 1) 20 | offset_mesh=Vector3(0, 0, 0) 21 | optimize_mesh=true 22 | -------------------------------------------------------------------------------- /grass_interact_4/default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=3 uid="uid://criw5w3ntd0ip"] 2 | 3 | [sub_resource type="Sky" id="1"] 4 | 5 | [resource] 6 | background_mode = 2 7 | sky = SubResource("1") 8 | -------------------------------------------------------------------------------- /grass_interact_4/grass.gdshader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode cull_disabled; 3 | 4 | uniform vec4 albedo : source_color; 5 | 6 | uniform vec3 player_pos = vec3(0.0); 7 | uniform float interact_power = 0.5; 8 | uniform float radius = 1.0; 9 | 10 | void vertex() { 11 | vec3 world_vert = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz; // model space to world space 12 | vec3 direction = world_vert - player_pos; 13 | direction.y = 0.0; 14 | direction = normalize(direction); 15 | float dist = distance(player_pos, world_vert); 16 | float power = smoothstep(radius, 0.0, dist); 17 | direction = (vec4(direction, 1.0) * MODEL_MATRIX).xyz; // world space direction to model space 18 | VERTEX += direction * power * interact_power * (1.0 - UV.y); 19 | } 20 | 21 | void fragment() { 22 | ALBEDO = albedo.rgb; 23 | } -------------------------------------------------------------------------------- /grass_interact_4/grass_mover.gd: -------------------------------------------------------------------------------- 1 | @tool 2 | extends Node3D 3 | 4 | 5 | # Called when the node enters the scene tree for the first time. 6 | func _process(delta: float) -> void: 7 | get_parent().get_parent().get_node("Grass").material_override.set_shader_parameter("player_pos", global_transform.origin) 8 | -------------------------------------------------------------------------------- /grass_interact_4/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/grass_interact_4/icon.png -------------------------------------------------------------------------------- /grass_interact_4/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://clhhddg2kyks3" 6 | path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://icon.png" 14 | dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /grass_interact_4/logs/godot.log: -------------------------------------------------------------------------------- 1 | Godot Engine v3.2.3.stable.official - https://godotengine.org 2 | OpenGL ES 3.0 Renderer: Intel(R) UHD Graphics 620 3 | 4 | -------------------------------------------------------------------------------- /rain_drops/Demo2D.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=2] 2 | 3 | [ext_resource path="res://raindrops2d.shader" type="Shader" id=1] 4 | [ext_resource path="res://raindrops.png" type="Texture" id=2] 5 | 6 | [sub_resource type="ShaderMaterial" id=1] 7 | shader = ExtResource( 1 ) 8 | shader_param/water_color = Color( 0.270588, 0.419608, 1, 1 ) 9 | shader_param/ring_color = Color( 1, 1, 1, 1 ) 10 | shader_param/ring_width = 0.1 11 | shader_param/fadeout = 0.2 12 | shader_param/pattern = ExtResource( 2 ) 13 | 14 | [node name="Demo2D" type="Node2D"] 15 | 16 | [node name="TextureRect" type="ColorRect" parent="."] 17 | material = SubResource( 1 ) 18 | margin_right = 512.0 19 | margin_bottom = 512.0 20 | -------------------------------------------------------------------------------- /rain_drops/default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | [resource] 6 | background_mode = 2 7 | background_sky = SubResource( 1 ) 8 | -------------------------------------------------------------------------------- /rain_drops/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/rain_drops/icon.png -------------------------------------------------------------------------------- /rain_drops/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://icon.png" 13 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /rain_drops/project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=4 10 | 11 | [application] 12 | 13 | config/name="rain_drops" 14 | config/icon="res://icon.png" 15 | 16 | [physics] 17 | 18 | common/enable_pause_aware_picking=true 19 | 20 | [rendering] 21 | 22 | quality/filters/msaa=3 23 | quality/filters/use_fxaa=true 24 | environment/default_environment="res://default_env.tres" 25 | -------------------------------------------------------------------------------- /rain_drops/raindrops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/rain_drops/raindrops.png -------------------------------------------------------------------------------- /rain_drops/raindrops.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/raindrops.png-b867f5d25f47e7704ddda9b2bb122976.s3tc.stex" 6 | path.etc2="res://.import/raindrops.png-b867f5d25f47e7704ddda9b2bb122976.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://raindrops.png" 15 | dest_files=[ "res://.import/raindrops.png-b867f5d25f47e7704ddda9b2bb122976.s3tc.stex", "res://.import/raindrops.png-b867f5d25f47e7704ddda9b2bb122976.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=0 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /rain_drops/raindrops.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | 3 | uniform vec4 water_color : hint_color; 4 | uniform vec4 ring_color : hint_color; 5 | uniform float ring_width : hint_range(0.0, 1.0) = 0.1; 6 | uniform float fadeout : hint_range(0.0, 1.0) = 0.2; 7 | uniform sampler2D pattern; 8 | 9 | void fragment() { 10 | vec2 pat = texture(pattern, UV).rg; 11 | float grad = pat.r; 12 | float fct_time = fract(TIME + pat.g); 13 | float fade = (1.0 - fct_time / fadeout); 14 | grad -= fct_time; 15 | grad /= ring_width; 16 | grad = clamp(grad, 0.0, 1.0); 17 | float ring = smoothstep(0.0, 1.0, min(grad, (1.0 - grad)) * 2.0); 18 | ring *= fade; 19 | ring = clamp(ring, 0.0, 1.0); 20 | ALBEDO = mix(water_color, ring_color, ring).rgb; 21 | } -------------------------------------------------------------------------------- /rain_drops/raindrops2d.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | uniform vec4 water_color : hint_color; 4 | uniform vec4 ring_color : hint_color; 5 | uniform float ring_width : hint_range(0.0, 1.0) = 0.1; 6 | uniform float fadeout : hint_range(0.0, 1.0) = 0.2; 7 | uniform sampler2D pattern; 8 | 9 | void fragment() { 10 | vec2 pat = texture(pattern, UV).rg; 11 | float grad = pat.r; 12 | float fct_time = fract(TIME + pat.g); 13 | float fade = (1.0 - fct_time / fadeout); 14 | grad -= fct_time; 15 | grad /= ring_width; 16 | grad = clamp(grad, 0.0, 1.0); 17 | float ring = smoothstep(0.0, 1.0, min(grad, (1.0 - grad)) * 2.0); 18 | ring *= fade; 19 | ring = clamp(ring, 0.0, 1.0); 20 | COLOR = vec4(mix(water_color, ring_color, ring).rgb, 1.0); 21 | } -------------------------------------------------------------------------------- /rain_drops/raindrops_nor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/rain_drops/raindrops_nor.png -------------------------------------------------------------------------------- /rain_drops/raindrops_nor.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/raindrops_nor.png-5cb784a1f8b8647a4f8c465d1ec9ab06.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://raindrops_nor.png" 13 | dest_files=[ "res://.import/raindrops_nor.png-5cb784a1f8b8647a4f8c465d1ec9ab06.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=true 23 | flags/filter=true 24 | flags/mipmaps=true 25 | flags/anisotropic=false 26 | flags/srgb=0 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /tiling_rotation/checker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/tiling_rotation/checker.png -------------------------------------------------------------------------------- /tiling_rotation/checker.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/checker.png-6bb199bedbd039461e4248c1d0b9691d.s3tc.stex" 6 | path.etc2="res://.import/checker.png-6bb199bedbd039461e4248c1d0b9691d.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://checker.png" 15 | dest_files=[ "res://.import/checker.png-6bb199bedbd039461e4248c1d0b9691d.s3tc.stex", "res://.import/checker.png-6bb199bedbd039461e4248c1d0b9691d.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=2 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /tiling_rotation/default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | [resource] 6 | background_mode = 2 7 | background_sky = SubResource( 1 ) 8 | -------------------------------------------------------------------------------- /tiling_rotation/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/tiling_rotation/icon.png -------------------------------------------------------------------------------- /tiling_rotation/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://icon.png" 13 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=1 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=1 23 | flags/filter=true 24 | flags/mipmaps=true 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /tiling_rotation/project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=4 10 | 11 | _global_script_classes=[ ] 12 | _global_script_class_icons={ 13 | 14 | } 15 | 16 | [application] 17 | 18 | config/name="TilingAndRotation" 19 | config/icon="res://icon.png" 20 | 21 | [rendering] 22 | 23 | quality/filters/msaa=3 24 | environment/default_environment="res://default_env.tres" 25 | -------------------------------------------------------------------------------- /tiling_rotation/rat_on_shark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/tiling_rotation/rat_on_shark.png -------------------------------------------------------------------------------- /tiling_rotation/rat_on_shark.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/rat_on_shark.png-20b168640df12fe8e72bcab0506c2069.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://rat_on_shark.png" 13 | dest_files=[ "res://.import/rat_on_shark.png-20b168640df12fe8e72bcab0506c2069.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=true 23 | flags/filter=true 24 | flags/mipmaps=true 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /tiling_rotation/tiling_rotation.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | //render_mode specular_schlick_ggx; 3 | 4 | uniform sampler2D albedo_texture; 5 | uniform float tiling = 1.0; 6 | uniform float randomize_rotation = 0.0; 7 | 8 | float rand(vec2 input) { 9 | return fract(sin(dot(input.xy, vec2(12.9898,78.233))) * 43758.5453123); 10 | } 11 | 12 | float mip_map_level(in vec2 texture_coordinate) { 13 | vec2 dx_vtc = dFdx(texture_coordinate); 14 | vec2 dy_vtc = dFdy(texture_coordinate); 15 | float delta_max_sqr = max(dot(dx_vtc, dx_vtc), dot(dy_vtc, dy_vtc)); 16 | float mml = 0.5 * log2(delta_max_sqr); 17 | return max(0, mml); 18 | } 19 | 20 | void fragment() { 21 | vec2 tiled_UV_raw = UV * tiling; 22 | vec2 tiled_UV = fract(tiled_UV_raw) - 0.5; 23 | vec2 unique_val = floor(UV * tiling) / tiling; 24 | float rotation = (rand(unique_val) * 2.0 - 1.0) * randomize_rotation * 3.14; 25 | float cosine = cos(rotation); 26 | float sine = sin(rotation); 27 | mat2 rotation_mat = mat2(vec2(cosine, -sine), vec2(sine, cosine)); 28 | vec2 new_uv = rotation_mat * tiled_UV + 0.5; 29 | float lod = mip_map_level(tiled_UV_raw * vec2(textureSize(albedo_texture, 0))); 30 | ALBEDO = textureLod(albedo_texture, new_uv, lod).rgb; 31 | SPECULAR = .1; 32 | ROUGHNESS = 1.0; 33 | METALLIC = 0.0; 34 | } -------------------------------------------------------------------------------- /world_normal_mix_shader/default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | [resource] 6 | background_mode = 2 7 | background_sky = SubResource( 1 ) 8 | -------------------------------------------------------------------------------- /world_normal_mix_shader/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/world_normal_mix_shader/icon.png -------------------------------------------------------------------------------- /world_normal_mix_shader/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://icon.png" 13 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | process/normal_map_invert_y=false 32 | stream=false 33 | size_limit=0 34 | detect_3d=true 35 | svg/scale=1.0 36 | -------------------------------------------------------------------------------- /world_normal_mix_shader/models/boulder.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/boulder.obj-db67c73e772463c9262a5e531240130a.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/boulder.obj-db67c73e772463c9262a5e531240130a.mesh" ] 10 | 11 | source_file="res://models/boulder.obj" 12 | dest_files=[ "res://.import/boulder.obj-db67c73e772463c9262a5e531240130a.mesh", "res://.import/boulder.obj-db67c73e772463c9262a5e531240130a.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | offset_mesh=Vector3( 0, 0, 0 ) 19 | octahedral_compression=true 20 | optimize_mesh_flags=4286 21 | -------------------------------------------------------------------------------- /world_normal_mix_shader/project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=4 10 | 11 | [application] 12 | 13 | config/name="world_wormal_mix_shader" 14 | config/icon="res://icon.png" 15 | 16 | [gui] 17 | 18 | common/drop_mouse_on_gui_input_disabled=true 19 | 20 | [physics] 21 | 22 | common/enable_pause_aware_picking=true 23 | 24 | [rendering] 25 | 26 | environment/default_environment="res://default_env.tres" 27 | -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/moss/moss_albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/world_normal_mix_shader/textures/moss/moss_albedo.png -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/moss/moss_albedo.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/moss_albedo.png-692dbf06354ebbd91eaebbaaa0bc42cd.s3tc.stex" 6 | path.etc2="res://.import/moss_albedo.png-692dbf06354ebbd91eaebbaaa0bc42cd.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://textures/moss/moss_albedo.png" 15 | dest_files=[ "res://.import/moss_albedo.png-692dbf06354ebbd91eaebbaaa0bc42cd.s3tc.stex", "res://.import/moss_albedo.png-692dbf06354ebbd91eaebbaaa0bc42cd.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=1 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | process/normal_map_invert_y=false 34 | stream=false 35 | size_limit=0 36 | detect_3d=false 37 | svg/scale=1.0 38 | -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/moss/moss_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/world_normal_mix_shader/textures/moss/moss_normal.png -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/moss/moss_normal.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/moss_normal.png-4bcda01bc30a605e92eb4c9950e63ef2.s3tc.stex" 6 | path.etc2="res://.import/moss_normal.png-4bcda01bc30a605e92eb4c9950e63ef2.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://textures/moss/moss_normal.png" 15 | dest_files=[ "res://.import/moss_normal.png-4bcda01bc30a605e92eb4c9950e63ef2.s3tc.stex", "res://.import/moss_normal.png-4bcda01bc30a605e92eb4c9950e63ef2.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=1 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=2 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | process/normal_map_invert_y=false 34 | stream=false 35 | size_limit=0 36 | detect_3d=false 37 | svg/scale=1.0 38 | -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/moss/moss_orm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/world_normal_mix_shader/textures/moss/moss_orm.png -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/moss/moss_orm.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/moss_orm.png-669c252197dfabc9daada19aa1262e77.s3tc.stex" 6 | path.etc2="res://.import/moss_orm.png-669c252197dfabc9daada19aa1262e77.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://textures/moss/moss_orm.png" 15 | dest_files=[ "res://.import/moss_orm.png-669c252197dfabc9daada19aa1262e77.s3tc.stex", "res://.import/moss_orm.png-669c252197dfabc9daada19aa1262e77.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=2 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | process/normal_map_invert_y=false 34 | stream=false 35 | size_limit=0 36 | detect_3d=false 37 | svg/scale=1.0 38 | -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/rock/rock_albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/world_normal_mix_shader/textures/rock/rock_albedo.png -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/rock/rock_albedo.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/rock_albedo.png-6e50a58e4ae9293383d041dd7af9187b.s3tc.stex" 6 | path.etc2="res://.import/rock_albedo.png-6e50a58e4ae9293383d041dd7af9187b.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://textures/rock/rock_albedo.png" 15 | dest_files=[ "res://.import/rock_albedo.png-6e50a58e4ae9293383d041dd7af9187b.s3tc.stex", "res://.import/rock_albedo.png-6e50a58e4ae9293383d041dd7af9187b.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=1 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | process/normal_map_invert_y=false 34 | stream=false 35 | size_limit=0 36 | detect_3d=false 37 | svg/scale=1.0 38 | -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/rock/rock_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/world_normal_mix_shader/textures/rock/rock_normal.png -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/rock/rock_normal.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/rock_normal.png-d39bd16cc24a7234059997b8b69a3efd.s3tc.stex" 6 | path.etc2="res://.import/rock_normal.png-d39bd16cc24a7234059997b8b69a3efd.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://textures/rock/rock_normal.png" 15 | dest_files=[ "res://.import/rock_normal.png-d39bd16cc24a7234059997b8b69a3efd.s3tc.stex", "res://.import/rock_normal.png-d39bd16cc24a7234059997b8b69a3efd.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=1 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=2 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | process/normal_map_invert_y=false 34 | stream=false 35 | size_limit=0 36 | detect_3d=false 37 | svg/scale=1.0 38 | -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/rock/rock_orm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Arnklit/TutorialResources/adb2c8755614c5c8dcaf2ee386cff2b7d3634252/world_normal_mix_shader/textures/rock/rock_orm.png -------------------------------------------------------------------------------- /world_normal_mix_shader/textures/rock/rock_orm.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/rock_orm.png-cfb77a840c822b9cc94439d132c80363.s3tc.stex" 6 | path.etc2="res://.import/rock_orm.png-cfb77a840c822b9cc94439d132c80363.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://textures/rock/rock_orm.png" 15 | dest_files=[ "res://.import/rock_orm.png-cfb77a840c822b9cc94439d132c80363.s3tc.stex", "res://.import/rock_orm.png-cfb77a840c822b9cc94439d132c80363.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=2 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | process/normal_map_invert_y=false 34 | stream=false 35 | size_limit=0 36 | detect_3d=false 37 | svg/scale=1.0 38 | --------------------------------------------------------------------------------