Skip to content

Instantly share code, notes, and snippets.

View DeerTears's full-sized avatar

Emberlynn Bland DeerTears

View GitHub Profile
#godot printout of slidermargin.gd. extends container.
{class_name:, hint:0, hint_string:, name:Node, type:0, usage:256},
{class_name:, hint:18, hint_string:, name:editor_description, type:4, usage:1048578},
{class_name:, hint:0, hint_string:, name:_import_path, type:15, usage:1048581},
{class_name:, hint:0, hint_string:pause_, name:Pause, type:0, usage:128},
{class_name:, hint:3, hint_string:Inherit,Stop,Process, name:pause_mode, type:2, usage:7},
{class_name:, hint:0, hint_string:, name:name, type:4, usage:0},
{class_name:, hint:0, hint_string:, name:filename, type:4, usage:0},
{class_name:Node, hint:17, hint_string:Node, name:owner, type:17, usage:0},
# https://docs.godotengine.org/en/stable/classes/class_@globalscope.html#enum-globalscope-propertyusageflags
PROPERTY_USAGE_GROUP = 128
#Used to group properties together in the editor.
PROPERTY_USAGE_CATEGORY = 256
# Used to categorize properties together in the editor.
PROPERTY_HINT_EXP_EASING = 4
# Hints that a float property should be edited via an exponential easing function. The hint string can include "attenuation" to flip the curve horizontally and/or "inout" to also include in/out easing.
@DeerTears
DeerTears / bouncing_vector3.gd
Created April 15, 2021 22:19
attempting to figure out a better way to bounce or debug my code since bouncing is too strong in godot's 3d for some reason?
var direction
func phys_process(delta):
if player_hit_wall:
if not just_bounced:
var wall_normal = $WallCast.get_collision_normal()
if wall_normal.length() != 0:
just_bounced = true
# bug: this code only shows intensity, not sign of the bounce
var bounce_phi = (direction.dot(wall_normal))
if bounce_phi > 0.75:

test wow test wow test wow test test wow test_test wow

@DeerTears
DeerTears / dont_crash.md
Created September 15, 2021 02:36
this killed my site once lol
@DeerTears
DeerTears / puzzle_panel.gd
Created September 28, 2021 02:47
something witness-y but not really
extends Area
# Has a bunch of collisionshape children to check different squares against.
# Not the most optimized system since it's multiple objects vs contained in one plane.
# Z clipping in picking is also an issue
class_name PuzzlePanel
const HALF_PI := 1.570796
[gd_scene load_steps=14 format=2]
[ext_resource path="res://icon.png" type="Texture" id=1]
[ext_resource path="res://systems/panels/PuzzlePanel.gd" type="Script" id=3]
[sub_resource type="CubeMesh" id=1]
size = Vector3( 50, 0.2, 50 )
[sub_resource type="ConcavePolygonShape" id=2]
data = PoolVector3Array( -25, 0.1, 25, 25, 0.1, 25, -25, -0.1, 25, 25, 0.1, 25, 25, -0.1, 25, -25, -0.1, 25, 25, 0.1, -25, -25, 0.1, -25, 25, -0.1, -25, -25, 0.1, -25, -25, -0.1, -25, 25, -0.1, -25, 25, 0.1, 25, 25, 0.1, -25, 25, -0.1, 25, 25, 0.1, -25, 25, -0.1, -25, 25, -0.1, 25, -25, 0.1, -25, -25, 0.1, 25, -25, -0.1, -25, -25, 0.1, 25, -25, -0.1, 25, -25, -0.1, -25, 25, 0.1, 25, -25, 0.1, 25, 25, 0.1, -25, -25, 0.1, 25, -25, 0.1, -25, 25, 0.1, -25, -25, -0.1, 25, 25, -0.1, 25, -25, -0.1, -25, 25, -0.1, 25, 25, -0.1, -25, -25, -0.1, -25 )
Next step Link
Apply materials and shaders to brushes. Textures
Place Godot scenes using Trenchbroom. Entities
Prepare your project for scaling up. Best Practices
@DeerTears
DeerTears / godot_arc_sky.glsl
Created October 12, 2021 22:28
pretty skybox shader for panorama sky usage
shader_type canvas_item;
uniform vec4 top: hint_color = vec4(0.0, 0.05, 0.15, 1.0);
uniform vec4 bottom: hint_color = vec4(0.0, 0.49, 0.88, 1.0);
uniform vec4 circle_top: hint_color = vec4(0.27, 0.24, 0.9, 1.0);
uniform vec4 circle_bottom: hint_color = vec4(1.0, 0.56, 0.35, 1.0);
uniform float horizon_top = 0.4;
uniform float horizon_bottom = 0.6;