This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* \brief Returns positional offset for a given point as a result of summing 4 gerstner waves | |
* \param positionWS point in world space | |
* \param wavelengths wavelength of each of the 4 waves | |
* \param amplitudes amplitudes of each of the 4 waves | |
* \param directions direction of each of the 4 waves (each row = one direction). MUST BE NORMALIZED! | |
* \param speed global speed multiplier. Individual wave speed depends on Wavelength | |
* \param steepness Gerstner wave 'Steepness' parameter. Modulates the horizontal offset of points | |
* \param normal returns the normal of given point. | |
* \return positional offset of the given point |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Generate high-resolution white on black text decal in GIMP and apply Filters > Generic > Distance Map | |
// then scale down to e.g. 64 pixel height. | |
// Import decal image into Godot and set: | |
// Compression mode to lossless | |
// Filter ON | |
// Mipmaps ON | |
// Fix alpha border ON | |
// Invert color ON (if required) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Attach this script to the parent node of an AnimationPlayer. | |
""" | |
extends Node2D | |
export(NodePath) var anim_player_path: NodePath | |
export(String) var track_name: String | |
onready var anim_player: AnimationPlayer = get_node(anim_player_path) as AnimationPlayer | |
onready var tree: SceneTree = get_tree() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class_name RingBuffer extends Reference | |
""" | |
Uses simple arrays as ring buffers, passed to these static methods. | |
Allocates the first two slots for metadata (pointer, queue length). | |
USAGE: | |
var rb: Array = RingBuffer.create(5) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# as of godot 4.1 | |
_static_init | |
_init | |
_notification 20 Node.NOTIFICATION_SCENE_INSTANTIATED # only on instantiated scene roots | |
_notification 18 Node.NOTIFICATION_PARENTED | |
_enter_tree | |
tree_entered signal | |
_notification 27 Node.NOTIFICATION_POST_ENTER_TREE | |
_ready | |
ready signal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export var viewportResizeStanddown = 0.5 | |
var viewportResizeCounter = 0.0 | |
signal settingsChanged() | |
signal particlesSettingsChanged() | |
signal removeGpuParticles() | |
func forbidParticles(time): | |
particlesForbiddenCounter = time | |
particlesForbidden = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Linked List | |
# from https://gist.github.com/bojidar-bg/a570c614a4dd1cd84949 | |
# Example use | |
""" | |
var my_linked_list = LinkedList.new() | |
func _ready(): | |
var ll = my_linked_list |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This file is in the public domain. Where | |
// a public domain declaration is not recognized, you are granted | |
// a license to freely use, modify, and redistribute this file in | |
// any way you choose. | |
using System.Collections; | |
using System.Collections.Generic; | |
using UnityEngine; | |
// Unity remake of a fake volumetric light glow effect |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class_name CharRigidBody extends RigidBody2D | |
# Your visual representation node, e.g. Sprite | |
export(NodePath) var visual_body_path: NodePath | |
# For RigidBody tweening | |
var physics_body_trans_last: Transform | |
var physics_body_trans_current: Transform | |
var debug: bool = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Beginner-friendly GDScript 1 to GDScript 2 Conversion Guide | |
First and foremost, this should not be considered a replacement for the official migration guide, | |
found at https://docs.godotengine.org/en/latest/tutorials/migrating/upgrading_to_godot_4.html! | |
Instead, this document is intended to be a friendly guide to helping you upgrade your projects from | |
GDScript 1 to 2. To do this, I'm going to list the most common conversions I've run into while upgrading | |
a few of my games and tools. This document is written as of the first release candidate version of Godot 4.0. | |
The first thing to do when converting a project (no need if you're starting from new) is to either have your | |
project in source control, or make a duplicate of your entire project's folder and rename it. This will |