first commit

This commit is contained in:
2026-07-20 22:48:58 +07:00
commit e80aea750e
599 changed files with 2375815 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 358 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2ituqwj8vjlq"
path.s3tc="res://.godot/imported/1672960658_grizly-club-p-tekstura-fasada-doma-6.jpg-f782d92ec2fa8131141e53877ca9d22b.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/texture_custom/1672960658_grizly-club-p-tekstura-fasada-doma-6.jpg"
dest_files=["res://.godot/imported/1672960658_grizly-club-p-tekstura-fasada-doma-6.jpg-f782d92ec2fa8131141e53877ca9d22b.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://u5r75bsy6h8v"
path.s3tc="res://.godot/imported/1673357848_grizly-club-p-besshovnaya-tekstura-okon-neboskreba-3.jpg-f40fd8267f6df285856a1432d7e58b57.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/texture_custom/1673357848_grizly-club-p-besshovnaya-tekstura-okon-neboskreba-3.jpg"
dest_files=["res://.godot/imported/1673357848_grizly-club-p-besshovnaya-tekstura-okon-neboskreba-3.jpg-f40fd8267f6df285856a1432d7e58b57.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://d06wphmcnv50x"
path="res://.godot/imported/Pocelujj_Otca_-_Betonnyjj_Demon_78112783.mp3-76aefe188fce833caa2ca6bd0ac288e8.mp3str"
[deps]
source_file="res://addons/texture_custom/Pocelujj_Otca_-_Betonnyjj_Demon_78112783.mp3"
dest_files=["res://.godot/imported/Pocelujj_Otca_-_Betonnyjj_Demon_78112783.mp3-76aefe188fce833caa2ca6bd0ac288e8.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b26ir1ccbj3f1"
path.s3tc="res://.godot/imported/Timeline 1_00086400.png-98001ba65ea07407d97e176958d8dd80.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/texture_custom/Timeline 1_00086400.png"
dest_files=["res://.godot/imported/Timeline 1_00086400.png-98001ba65ea07407d97e176958d8dd80.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://by4817bwewm7u"
path.s3tc="res://.godot/imported/istockphoto-1212675245-612x612.jpg-9a3421f1d9147b6a109300ee1e71d4e3.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/texture_custom/istockphoto-1212675245-612x612.jpg"
dest_files=["res://.godot/imported/istockphoto-1212675245-612x612.jpg-9a3421f1d9147b6a109300ee1e71d4e3.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djc6320ta5njy"
path.s3tc="res://.godot/imported/photo_2025-01-16_20-48-40.jpg-d2fdf16ed860bfaf75ef7386e800a963.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/texture_custom/photo_2025-01-16_20-48-40.jpg"
dest_files=["res://.godot/imported/photo_2025-01-16_20-48-40.jpg-d2fdf16ed860bfaf75ef7386e800a963.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
+53
View File
@@ -0,0 +1,53 @@
shader_type spatial;
// Настройки, которые можно крутить в Инспекторе
uniform sampler2D albedo_texture : source_color, filter_nearest;
uniform float vertex_snap_resolution = 60.0; // Чем меньше число, тем сильнее "дрожь"
uniform vec2 texture_pixelation = vec2(64.0, 64.0); // Пикселизация текстуры
uniform float dither_strength = 0.15; // Сила дизеринга (шума)
// Матрица Байера 4x4 для упорядоченного дизеринга
const float bayer_matrix[16] = float[16](
0.0, 8.0, 2.0, 10.0,
12.0, 4.0, 14.0, 6.0,
3.0, 11.0, 1.0, 9.0,
15.0, 7.0, 13.0, 5.0
);
void vertex() {
// 1. Эффект "дрожания" вершин (Vertex Snapping)
// Переводим вершину в пространство камеры
vec4 view_pos = MODELVIEW_MATRIX * vec4(VERTEX, 1.0);
// Умножаем на коэффициент сетки, округляем и делим обратно
view_pos.xyz *= vertex_snap_resolution;
view_pos.xyz = floor(view_pos.xyz);
view_pos.xyz /= vertex_snap_resolution;
// Возвращаем в локальное пространство
VERTEX = (inverse(MODELVIEW_MATRIX) * view_pos).xyz;
}
void fragment() {
// 2. Пикселизация UV координат текстуры
vec2 uv = UV;
vec2 pixelated_uv = floor(uv * texture_pixelation) / texture_pixelation;
// Читаем цвет из текстуры (filter_nearest не дает ей мылиться)
vec4 tex_color = texture(albedo_texture, pixelated_uv);
// 3. Упорядоченный дизеринг (имитация 16-битного цвета)
// Берем экранные координаты в разрешении 320x240 (как на PS1)
vec2 screen_pos = SCREEN_UV * vec2(320.0, 240.0);
int x = int(mod(screen_pos.x, 4.0));
int y = int(mod(screen_pos.y, 4.0));
// Достаем порог из матрицы Байера
float threshold = (bayer_matrix[y * 4 + x] / 16.0) - 0.5;
// Применяем шум к цвету
vec3 final_color = tex_color.rgb + (threshold * dither_strength);
final_color = clamp(final_color, 0.0, 1.0);
ALBEDO = final_color;
}
+1
View File
@@ -0,0 +1 @@
uid://0uxg2amf4yf6
+68
View File
@@ -0,0 +1,68 @@
shader_type canvas_item;
// === ЭКРАННАЯ ТЕКСТУРА (обязательно для Godot 4) ===
uniform sampler2D screen_texture : hint_screen_texture;
// === НАСТРОЙКИ ===
uniform float aberration_strength : hint_range(0.0, 0.02) = 0.003;
uniform float scanline_intensity : hint_range(0.0, 1.0) = 0.25;
uniform float scanline_count = 320.0;
uniform float vignette_strength : hint_range(0.0, 1.0) = 0.3;
uniform float color_saturation : hint_range(0.0, 2.0) = 0.7;
uniform float brightness : hint_range(-0.5, 0.5) = 0.0;
uniform float contrast : hint_range(0.5, 1.5) = 1.1;
uniform float opacity : hint_range(0.0, 1.0) = 1.0;
uniform bool enable_scanlines = true;
uniform bool enable_vignette = true;
uniform bool enable_aberration = true;
void fragment() {
vec2 uv = UV;
// === ХРОМАТИЧЕСКАЯ АБЕРРАЦИЯ ===
vec3 color;
if (enable_aberration && aberration_strength > 0.0) {
vec2 center = vec2(0.5, 0.5);
vec2 dir = uv - center;
float dist = length(dir);
vec2 offset = normalize(dir) * dist * aberration_strength;
float r = texture(screen_texture, uv + offset).r;
float g = texture(screen_texture, uv).g;
float b = texture(screen_texture, uv - offset).b;
color = vec3(r, g, b);
} else {
color = texture(screen_texture, uv).rgb;
}
// === СКАНЛАЙНЫ ===
if (enable_scanlines && scanline_intensity > 0.0) {
float scanline = sin(uv.y * scanline_count * 3.14159265);
scanline = scanline * 0.5 + 0.5;
scanline = pow(scanline, 1.2);
color *= 1.0 - (scanline * scanline_intensity * 0.5);
}
// === ВИНЬЕТКА ===
if (enable_vignette && vignette_strength > 0.0) {
vec2 center_uv = uv - 0.5;
float vignette = dot(center_uv, center_uv) * 4.0;
vignette = 1.0 - (vignette * vignette_strength * 0.7);
vignette = clamp(vignette, 0.0, 1.0);
color *= vignette;
}
// === НАСЫЩЕННОСТЬ ЦВЕТА ===
if (color_saturation != 1.0) {
float gray = dot(color, vec3(0.299, 0.587, 0.114));
color = mix(vec3(gray), color, color_saturation);
}
// === ЯРКОСТЬ И КОНТРАСТ ===
color = (color - 0.5) * contrast + 0.5;
color += brightness;
color = clamp(color, 0.0, 1.0);
// === ИТОГОВЫЙ ЦВЕТ С ПРОЗРАЧНОСТЬЮ ===
COLOR = vec4(color, opacity);
}
@@ -0,0 +1 @@
uid://c3h1lw7pkowvb
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://bpdehecmtqb5w"
path="res://.godot/imported/untitled.obj-746e308bd5c91702b0616340e310c338.mesh"
[deps]
files=["res://.godot/imported/untitled.obj-746e308bd5c91702b0616340e310c338.mesh"]
source_file="res://addons/texture_custom/untitled.obj"
dest_files=["res://.godot/imported/untitled.obj-746e308bd5c91702b0616340e310c338.mesh", "res://.godot/imported/untitled.obj-746e308bd5c91702b0616340e310c338.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false