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 / AssetPipelineInspector.cs
Created July 9, 2018 06:21
AssetPipeline系アセットのInspectorにGraphicsを開くボタンを表示するエディター拡張スクリプト
namespace UnityEngine.Experimental.Rendering
{
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(RenderPipelineAsset), true)]
public class AssetPipelineInspector : Editor
{
public override void OnInspectorGUI()
{
@rngtm
rngtm / SyncInspectorScroll.cs
Last active July 11, 2018 10:38
複数Inspectorのスクロールを同期するエディター拡張 (Unity2018.2.0f2で動作確認)
/////////////////////////////////////////////////////////////////////////
// 複数Inspectorのスクロール同期
// @ 2018 RNGTM(https://github.com/rngtm)
/////////////////////////////////////////////////////////////////////////
using System.Reflection;
using System.Linq;
using UnityEngine;
using UnityEditor;
using Type = System.Type;
@rngtm
rngtm / GraphPreviewNode.cs
Created October 22, 2018 11:48
ShaderGraph - GraphPreviewNode
using UnityEngine;
using UnityEditor.ShaderGraph;
using System.Reflection;
[Title("Utility", "Graph Preview")]
public class GraphPreviewNode : CodeFunctionNode
{
protected override MethodInfo GetFunctionToConvert()
{
return GetType().GetMethod("MyCustomFunction",
@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");
@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 / 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 / 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 / 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 / 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 / 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 () {