Skip to content

Instantly share code, notes, and snippets.

View rngtm's full-sized avatar
💭
I may be slow to respond.

rngtm rngtm

💭
I may be slow to respond.
View GitHub Profile
@rngtm
rngtm / TriangleNode.cs
Last active February 8, 2024 03:19
正三角形タイルを出力するShaderGraphカスタムノード (Unity2021ver : https://gist.github.com/rngtm/2ce62f55c4e80bdf5570402bd4d66dc7)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor.ShaderGraph;
using System.Reflection;
[Title("Distance", "Triangle")]
public class TriangleNode : CodeFunctionNode
{
public TriangleNode()
@rngtm
rngtm / GenerateManyPlane.cs
Created December 21, 2018 14:21
板を1メッシュで大量に生成するC#スクリプト
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
/// <summary>
/// エディター拡張
/// </summary>
@rngtm
rngtm / HexagonNode.cs
Last active February 8, 2024 03:19
六角形タイルを作るShaderGraphカスタムノード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor.ShaderGraph;
using System.Reflection;
[Title("Distance", "Hexagon")]
public class HexagonNode : CodeFunctionNode
{
public HexagonNode()
@rngtm
rngtm / RaymarchingSphereNode.cs
Last active March 7, 2021 09:02
レイマーチングで球をたくさん表示するシェーダーグラフカスタムノード
using System.Reflection;
using UnityEditor.ShaderGraph;
using UnityEngine;
/// <summary>
/// レイマーチングで球をたくさん表示するカスタムノード
/// </summary>
[Title ("Raymarching", "Raymarch Sphere")]
public class RaymarchingSphereNode : CodeFunctionNode {
public RaymarchingSphereNode () {
@rngtm
rngtm / GenerateBezierTube.cs
Last active November 28, 2018 15:11
ベジエ曲線に沿ったチューブ型メッシュを生成するスクリプト
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
[CustomEditor(typeof(GenerateBezierTube))]
public class GenerateBezierTubeInspector : Editor
{
public override void OnInspectorGUI()
{
var bezierTube = target as GenerateBezierTube;
@rngtm
rngtm / GenerateManySphere.cs
Last active November 26, 2018 14:40
大量の球体をワンメッシュで作成し、ランダムな位置に並べるスクリプト。
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
[CustomEditor(typeof(GenerateManySphere))]
public class GenerateManySphereInspector : Editor
{
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
@rngtm
rngtm / DomainWarpingNode.cs
Last active February 8, 2024 03:19
ドメインワーピング( http://www.iquilezles.org/www/articles/warp/warp.htm ) をシェーダーグラフで使うためにカスタムノード化したものです
using UnityEngine;
using UnityEditor.ShaderGraph;
using System.Reflection;
/// <summary>
/// ドメインワーピング(http://www.iquilezles.org/www/articles/warp/warp.htm)
/// </summary>
[Title("Custom", "Domain Warping(@iquilezles)")]
public class DomainWarpingNode : CodeFunctionNode
{
@rngtm
rngtm / GradientToPng
Created November 19, 2018 15:01
UnityのGradient(グラデーション)を256x1のpngとして書き出すエディター拡張。
using UnityEngine;
using UnityEditor;
using System.IO;
public class GradientToPng : EditorWindow
{
[SerializeField]
private Gradient m_Gradient;
[MenuItem("Tools/Gradient To Png")]
@rngtm
rngtm / GenerateManyCube.cs
Last active November 17, 2018 13:53
大量の立方体を生成するスクリプト。 1Meshなので軽いはず。
using UnityEngine;
[RequireComponent(typeof(MeshFilter))]
[RequireComponent(typeof(MeshRenderer))]
public class GenerateManyCube : MonoBehaviour
{
[SerializeField] bool m_GenerateMeshOnUpdate = false;
[Space]
[SerializeField] Vector3 m_CubeScale = new Vector3(1f, 1f, 1f); // 立方体の大きさ
[SerializeField] Vector3Int m_CubeNumbers = new Vector3Int(4, 2, 4); // 立方体の個数
@rngtm
rngtm / ShaderGraphGegneratorWindow.cs
Created October 23, 2018 23:41
シェーダーグラフファイルを作成するウィンドウ
using UnityEngine;
using UnityEditor;
public class ShaderGraphGegneratorWindow : EditorWindow
{
GUIStyle m_ButtonStyle;
[MenuItem("Tools/ShaderGraph Generator")]
static void Open()
{
GetWindow<ShaderGraphGegneratorWindow>("ShaderGraph Generator");