Skip to content

Instantly share code, notes, and snippets.

View unitycoder's full-sized avatar
‏‏‎

mika unitycoder

‏‏‎
View GitHub Profile
@unitycoder
unitycoder / PostDepthToWorldPos.shader
Created October 24, 2023 20:44 — forked from bgolus/PostDepthToWorldPos.shader
Get the world position from the camera depth texture with no external dependencies. Works as a post process or on an transparent object in the scene.
Shader "PostDepthToWorldPos"
{
Properties
{
}
SubShader
{
Tags { "RenderType"="Transparent" "Queue"="Transparent" }
LOD 100
@unitycoder
unitycoder / MacroKiller.cs
Created October 23, 2023 17:31 — forked from frarees/MacroKiller.cs
Evaluate C# code on editor for Unity3D
// https://frarees.github.io/default-gist-license
using System.IO;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
// A modification of Kyle Halladay's Pencil Sketch Effect shader
// http://kylehalladay.com/blog/tutorial/2017/02/21/Pencil-Sketch-Effect.html
// Blends between two scales of hatching based on distance and camera fov to
// keep a perceptually constant hatching scale (assuming consistent mesh UVs).
Shader "Unlit/SingleObjectHatch_DistanceAndFOVCorrected"
{
Properties
{
Shader "Custom/ACNH_SewingCloth"
{
Properties
{
[NoScaleOffset] _MainTex ("Albedo (RGB)", 2D) = "white" {}
[NoScaleOffset] _BumpMap ("Normal Map", 2D) = "bump" {}
[NoScaleOffset] _EdgeAlpha ("Alpha", 2D) = "white" {}
_Cutoff ("Alpha Test Cutoff", Range(0,1)) = 0.5
_Offset ("Offset (XY)", Vector) = (0,0,0,0)
@unitycoder
unitycoder / CameraFacingBoxRaycast.shader
Created October 20, 2023 12:29 — forked from bgolus/CameraFacingBoxRaycast.shader
A "single triangle" cube shader. Really a shader that orients a flat mesh towards the camera and uses a box ray intersection to draw a cube in the interior.
Shader "Unlit/CameraFacingBoxRaycast"
{
Properties
{
_Cube ("Texture", Cube) = "" {}
_MeshScale ("Mesh Scale", Float) = 1.0
[Toggle] _DisableCameraFacing ("Disable Camera Facing", Float) = 0.0
}
SubShader
{
Shader "Hidden/JumpFloodOutline"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags { "PreviewType" = "Plane" }
Cull Off ZWrite Off ZTest Always
@unitycoder
unitycoder / MatCapTechniques.shader
Created October 20, 2023 12:29 — forked from bgolus/MatCapTechniques.shader
Showing multiple matcap techniques, including a proposed improved method that's no more expensive than the usual fix if you're starting with the world position and world normal.
Shader "Unlit/MatCap Techniques"
{
Properties
{
[NoScaleOffset] _MatCap ("MatCap", 2D) = "white" {}
[KeywordEnum(ViewSpaceNormal, ViewDirectionCross, ViewDirectionAligned)] _MatCapType ("Matcap UV Type", Float) = 2
}
SubShader
{
Tags { "RenderType"="Opaque" }
@unitycoder
unitycoder / InfiniteGrid.shader
Created October 20, 2023 12:29 — forked from bgolus/InfiniteGrid.shader
Infinite Grid shader with procedural grid with configurable divisions and major and minor lines markings.
Shader "Unlit/InfiniteGrid"
{
Properties
{
[Toggle] _WorldUV ("Use World Space UV", Float) = 1.0
_GridScale ("Grid Scale", Float) = 1.0
_GridBias ("Grid Bias", Float) = 0.5
_GridDiv ("Grid Divisions", Float) = 10.0
_BaseColor ("Base Color", Color) = (0,0,0,1)
_LineColor ("Line Color", Color) = (1,1,1,1)
Shader "Pristine Grid"
{
Properties
{
[Toggle] _WorldUV ("Use World Space UV", Float) = 1.0
_GridScale ("Grid Scale", Float) = 1.0
_LineWidthX ("Line Width X", Range(0,1.0)) = 0.01
_LineWidthY ("Line Width Y", Range(0,1.0)) = 0.01
@unitycoder
unitycoder / AutoSpriteSlicer.cs
Created October 17, 2023 06:33 — forked from janisgitendorfs/AutoSpriteSlicer.cs
UNITY sprite auto slicer. Put into any Editor/ directory. Use it in combination with Presets/PresetManager for importer settings.
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
public class AutoSpriteSlicer : AssetPostprocessor
{
private const string PathTrigger = "_AnimationSheet";