#UNITY_MATRIX_IT_MVの使い方とか
View空間座標から、Object空間座標に変換する。
float4 objectSpacePos = mul(viewSpacePos, UNITY_MATRIX_IT_MV);
Projection空間座標から、View空間座標に変換 これは違った!!
float4 viewSpacePos = mul(eyeSpacePos, UNITY_MATRIX_P);
| //http://gamedev.stackexchange.com/questions/59797/glsl-shader-change-hue-saturation-brightness | |
| vec3 rgb2hsv(vec3 c) | |
| { | |
| vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); | |
| vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); | |
| vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); | |
| float d = q.x - min(q.w, q.y); | |
| float e = 1.0e-10; | |
| return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); |
| Shader "Unlit/Billboard-CastShadow" | |
| { | |
| Properties | |
| { | |
| _DC ("diffuse", Color) = (0.5,0.5,0.5,1) | |
| _SC ("Specular color (RGB), roughness (A)", Color) = (0.5,0.5,0.5,0.5) | |
| _Size ("size", Float) = 1 | |
| } | |
| CGINCLUDE | |
| #define UNITY_PASS_SHADOWCASTER |
| Shader "Hidden/ShikakuKirakira" | |
| { | |
| Properties | |
| { | |
| _Speed ("speed", Float) = 2 | |
| _Scale ("scale", Float) = 10 | |
| _Size ("size", Float) = 0.5 | |
| } | |
| CGINCLUDE | |
| #include "UnityCG.cginc" |
| Shader "Unlit/ViewPortToPos" | |
| { | |
| Properties | |
| { | |
| _MainTex ("Texture", 2D) = "white" {} | |
| _VP ("viewport position", Vector) = (0.5,0.5,1,0) | |
| } | |
| SubShader | |
| { | |
| Tags { "RenderType"="Opaque" } |
#UNITY_MATRIX_IT_MVの使い方とか
View空間座標から、Object空間座標に変換する。
float4 objectSpacePos = mul(viewSpacePos, UNITY_MATRIX_IT_MV);
Projection空間座標から、View空間座標に変換 これは違った!!
float4 viewSpacePos = mul(eyeSpacePos, UNITY_MATRIX_P);
| void vert(inout appdata_full v){ | |
| half4 worldPos = mul(_Object2World, v.vertex); | |
| half4 viewPos = mul(UNITY_MATRIX_V, worldPos); | |
| half4 eyePos = mul(UNITY_MATRIX_P, viewPos); | |
| viewPos = mul(unity_CameraInvProjection, eyePos); | |
| half4 localPos = mul(viewPos, UNITY_MATRIX_IT_MV); | |
| v.vertex = localPos; | |
| } |
| Shader "Custom/Uneune" { | |
| Properties { | |
| _Color ("Color", Color) = (1,1,1,1) | |
| _MainTex ("Albedo (RGB)", 2D) = "white" {} | |
| _Glossiness ("Smoothness", Range(0,1)) = 0.5 | |
| _Metallic ("Metallic", Range(0,1)) = 0.0 | |
| _BumpMap ("bump",2D) = "bump" {} | |
| _VNF ("vert normal factor", Float) = 1.0 | |
| _MNF ("map normal factor", Float) = 1.0 | |
| } |
| shutdown -r -t 0 -f |
| #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN | |
| using UnityEngine; | |
| using System; | |
| using System.Collections; | |
| using System.Collections.Generic; | |
| using System.Drawing; | |
| using System.Diagnostics; | |
| using System.Runtime.InteropServices; |
| void ShowMaterialEditor(Material[] ms){ | |
| for(int i = 0; i < ms.Length; i++){ | |
| Material m = ms[i]; | |
| if(m == null) | |
| return; | |
| Shader s = m.shader; | |
| EditorGUILayout.LabelField(m.name); | |
| EditorGUI.indentLevel++; | |
| for(int j = 0; j < ShaderUtil.GetPropertyCount(s); j++){ |