#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++){ |