diff --git a/Editor/HandlesMaterials.cs b/Editor/HandlesMaterials.cs index 86a4e71..a855796 100644 --- a/Editor/HandlesMaterials.cs +++ b/Editor/HandlesMaterials.cs @@ -8,11 +8,13 @@ public static class HandlesMaterials { public static Material vertexColor; public static Material textured; + public static Material overlayColor; static HandlesMaterials() { - vertexColor = Resources.Load< Material >("vertexColorMaterial"); - textured = Resources.Load< Material >("texturedMaterial"); + vertexColor = Resources.Load< Material >("VertexColorMaterial"); + textured = Resources.Load< Material >("TexturedMaterial"); + overlayColor = Resources.Load< Material >("OverlayColorHandle"); } } } \ No newline at end of file diff --git a/ExamplesScenes/BasicHandles.unity b/ExamplesScenes/BasicHandles.unity index 7b175c5..80538a6 100644 --- a/ExamplesScenes/BasicHandles.unity +++ b/ExamplesScenes/BasicHandles.unity @@ -225,7 +225,7 @@ MeshRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 68830444} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -279,7 +279,7 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 68830444} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 4.458, y: -0.013, z: -2.4448} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} diff --git a/ExamplesScenes/Editor/SnapHandleEditor.cs b/ExamplesScenes/Editor/SnapHandleEditor.cs index 042e9b1..b435be7 100644 --- a/ExamplesScenes/Editor/SnapHandleEditor.cs +++ b/ExamplesScenes/Editor/SnapHandleEditor.cs @@ -2,17 +2,96 @@ using System.Collections.Generic; using UnityEngine; using UnityEditor; +using BetterHandles; -[CustomEditor(typeof(Transform))] +[CustomEditor(typeof(Transform), true)] public class SnapHandleEditor : Editor { + const float snapHandleDistance = 3.5f; + const float snapHandleSize = .15f; + const float defaultSnapUnit = .1f; + const float shiftSnapUnit = .5f; + const float commandSnapUnit = .05f; + + Mesh snapToolMesh; + Transform transform; + Material handleMat; + + Quaternion currentRotation; + Color currentColor; + + Editor defaultTransformEditor; + void OnEnable() { - + snapToolMesh = Resources.Load< Mesh >("snapToolHandle"); + Debug.Log("target: " + target + ", type: " + target.GetType()); + transform = target as Transform; } void OnSceneGUI() { - Handles.Label(Vector3.zero, "snap handle editro here", EditorStyles.whiteLabel); + // if (Tools.current != Tool.Move) + // return ; + + //x axis + DrawAxisHandle(Quaternion.Euler(0, 0, 90), transform.right, Handles.xAxisColor, 0); + //y axis + DrawAxisHandle(Quaternion.Euler(0, 0, 0), transform.up, Handles.yAxisColor, 1); + //z axis + DrawAxisHandle(Quaternion.Euler(90, 0, 0), transform.forward, Handles.zAxisColor, 2); + } + + void DrawAxisHandle(Quaternion rotation, Vector3 direction, Color color, int index) + { + var e = Event.current; + + float snapUnit = (e.shift) ? shiftSnapUnit : (e.command) ? commandSnapUnit : defaultSnapUnit; + float size = HandleUtility.GetHandleSize(transform.position) * snapHandleSize; + float dist = size * snapHandleDistance; + + currentRotation = rotation; + currentColor = color; + + Vector3 addPos = direction * dist; + Vector3 newPosition = Handles.Slider(transform.position + addPos, direction, size, SnapHandleCap, 0) - addPos; + + if (newPosition != transform.position) + { + //handmade snapping selected axis + newPosition[index] = Mathf.Round(newPosition[index] / snapUnit) * snapUnit; + + transform.position = newPosition; + } + } + + void SnapHandleCap(int controlId, Vector3 position, Quaternion rotation, float size, EventType eventType) + { + if (eventType == EventType.Repaint) + { + //we set the material color or preselected color if mouse is near from our handle + Color color = (HandleUtility.nearestControl == controlId || GUIUtility.hotControl == controlId) ? Handles.preselectionColor : currentColor; + HandlesMaterials.overlayColor.SetColor("_Color", color); + + //we draw the cylinder with overlay material + HandlesMaterials.overlayColor.SetPass(0); + Matrix4x4 trs = Matrix4x4.TRS(position, transform.rotation * currentRotation, Vector3.one * size); + Graphics.DrawMeshNow(snapToolMesh, trs); + } + else if (eventType == EventType.Layout) + { + float distance = HandleUtility.DistanceToCircle(position, size); + HandleUtility.AddControl(controlId, distance); + } + } + + public override void OnInspectorGUI() + { + if (defaultTransformEditor == null) + defaultTransformEditor = Editor.CreateEditor(transform); + + Debug.Log("deafultTransformEditor: " + defaultTransformEditor); + if (defaultTransformEditor.GetType() != typeof(SnapHandleEditor)) + defaultTransformEditor.OnInspectorGUI(); } } diff --git a/ExamplesScenes/curves/curve4.asset b/ExamplesScenes/curves/curve4.asset index b25717c..d1daab5 100644 --- a/ExamplesScenes/curves/curve4.asset +++ b/ExamplesScenes/curves/curve4.asset @@ -82,5 +82,5 @@ MonoBehaviour: m_Mode: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 - curveSize: {x: 5.27, y: 5.74} + curveSize: {x: 5.53, y: 5.74} sampleCount: 500 diff --git a/Resources/OverlayColorHandle.mat b/Resources/OverlayColorHandle.mat new file mode 100644 index 0000000..947f732 --- /dev/null +++ b/Resources/OverlayColorHandle.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: OverlayColorHandle + m_Shader: {fileID: 4800000, guid: 01e9f68f8b863406893a2dc8ee9a4340, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.227451, g: 0.4784314, b: 0.972549, a: 0.93} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Resources/OverlayColorHandle.mat.meta b/Resources/OverlayColorHandle.mat.meta new file mode 100644 index 0000000..ce36d4d --- /dev/null +++ b/Resources/OverlayColorHandle.mat.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fa56132811acd4de0ae610d6776ccab5 +timeCreated: 1511536784 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/snapToolHandle.mtl b/Resources/snapToolHandle.mtl new file mode 100644 index 0000000..50e3cd9 --- /dev/null +++ b/Resources/snapToolHandle.mtl @@ -0,0 +1,12 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl None +Ns 96.078431 +Ka 1.000000 1.000000 1.000000 +Kd 0.640000 0.640000 0.640000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.000000 +d 1.000000 +illum 2 diff --git a/Resources/snapToolHandle.mtl.meta b/Resources/snapToolHandle.mtl.meta new file mode 100644 index 0000000..8f901a7 --- /dev/null +++ b/Resources/snapToolHandle.mtl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c4f7eaeff3f39443eabda40c95fa45ef +timeCreated: 1511533822 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Resources/snapToolHandle.obj b/Resources/snapToolHandle.obj index 9b04c52..7690839 100644 --- a/Resources/snapToolHandle.obj +++ b/Resources/snapToolHandle.obj @@ -1,138 +1,138 @@ # Blender v2.78 (sub 0) OBJ File: '' # www.blender.org -mtllib Models.mtl +mtllib snapToolHandle.mtl o Circle -v 0.000000 1.890211 -0.555603 -v -0.108393 1.890211 -0.544927 -v -0.212620 1.890211 -0.513310 -v -0.308676 1.890211 -0.461967 -v -0.392870 1.890211 -0.392870 -v -0.461967 1.890211 -0.308676 -v -0.513310 1.890211 -0.212620 -v -0.544927 1.890211 -0.108393 -v -0.555603 1.890211 -0.000000 -v -0.544927 1.890211 0.108393 -v -0.513310 1.890211 0.212620 -v -0.461967 1.890211 0.308676 -v -0.392870 1.890211 0.392870 -v -0.308676 1.890211 0.461967 -v -0.212620 1.890211 0.513310 -v -0.108393 1.890211 0.544927 -v 0.000000 1.890211 0.555603 -v 0.108393 1.890211 0.544927 -v 0.212620 1.890211 0.513310 -v 0.308677 1.890211 0.461967 -v 0.392871 1.890211 0.392870 -v 0.461967 1.890211 0.308676 -v 0.513310 1.890211 0.212620 -v 0.544927 1.890211 0.108392 -v 0.555603 1.890211 -0.000001 -v 0.544927 1.890211 -0.108393 -v 0.513310 1.890211 -0.212621 -v 0.461966 1.890211 -0.308677 -v 0.392870 1.890211 -0.392871 -v 0.308676 1.890211 -0.461967 -v 0.212619 1.890211 -0.513310 -v 0.108392 1.890211 -0.544927 -v 0.000000 2.348030 -0.555603 -v -0.108393 2.348030 -0.544927 -v -0.212620 2.348030 -0.513310 -v -0.308676 2.348030 -0.461967 -v -0.392870 2.348030 -0.392870 -v -0.461967 2.348030 -0.308676 -v -0.513310 2.348030 -0.212620 -v -0.544927 2.348030 -0.108393 -v -0.555603 2.348030 -0.000000 -v -0.544927 2.348030 0.108393 -v -0.513310 2.348030 0.212620 -v -0.461967 2.348030 0.308676 -v -0.392870 2.348030 0.392870 -v -0.308676 2.348030 0.461967 -v -0.212620 2.348030 0.513310 -v -0.108393 2.348030 0.544927 -v 0.000000 2.348030 0.555603 -v 0.108393 2.348030 0.544927 -v 0.212620 2.348030 0.513310 -v 0.308677 2.348030 0.461967 -v 0.392871 2.348030 0.392870 -v 0.461967 2.348030 0.308676 -v 0.513310 2.348030 0.212620 -v 0.544927 2.348030 0.108392 -v 0.555603 2.348030 -0.000001 -v 0.544927 2.348030 -0.108393 -v 0.513310 2.348030 -0.212621 -v 0.461966 2.348030 -0.308677 -v 0.392870 2.348030 -0.392871 -v 0.308676 2.348030 -0.461967 -v 0.212619 2.348030 -0.513310 -v 0.108392 2.348030 -0.544927 -vn 0.0000 -1.0000 -0.0000 +v -0.108393 -0.436615 -0.544927 +v 0.000000 -0.436615 -0.555603 +v 0.108392 -0.436615 -0.544927 +v 0.212619 -0.436615 -0.513310 +v 0.308676 -0.436615 -0.461967 +v 0.392870 -0.436615 -0.392871 +v 0.461966 -0.436615 -0.308677 +v 0.513310 -0.436615 -0.212621 +v 0.544927 -0.436615 -0.108393 +v 0.555603 -0.436615 -0.000001 +v 0.544927 -0.436616 0.108392 +v 0.513310 -0.436616 0.212620 +v 0.461967 -0.436616 0.308676 +v 0.392871 -0.436616 0.392870 +v 0.308677 -0.436616 0.461967 +v 0.212620 -0.436616 0.513310 +v 0.108393 -0.436616 0.544927 +v 0.000000 -0.436616 0.555603 +v -0.108393 -0.436616 0.544927 +v -0.212620 -0.436616 0.513310 +v -0.308676 -0.436616 0.461967 +v -0.392870 -0.436616 0.392870 +v -0.461967 -0.436616 0.308676 +v -0.513310 -0.436616 0.212620 +v -0.544927 -0.436616 0.108393 +v -0.555603 -0.436615 0.000000 +v -0.544927 -0.436615 -0.108393 +v -0.513310 -0.436615 -0.212620 +v -0.461967 -0.436615 -0.308676 +v -0.392870 -0.436615 -0.392870 +v -0.308676 -0.436615 -0.461967 +v -0.212620 -0.436615 -0.513310 +v -0.108393 0.436615 -0.544927 +v -0.212620 0.436615 -0.513310 +v -0.308676 0.436615 -0.461967 +v -0.392870 0.436615 -0.392870 +v -0.461967 0.436615 -0.308676 +v -0.513310 0.436615 -0.212620 +v -0.544927 0.436615 -0.108393 +v -0.555603 0.436615 0.000000 +v -0.544927 0.436615 0.108393 +v -0.513310 0.436615 0.212620 +v -0.461967 0.436615 0.308676 +v -0.392870 0.436615 0.392870 +v -0.308676 0.436615 0.461967 +v -0.212620 0.436615 0.513310 +v -0.108393 0.436615 0.544927 +v 0.000000 0.436615 0.555603 +v 0.108393 0.436615 0.544927 +v 0.212620 0.436615 0.513310 +v 0.308677 0.436615 0.461967 +v 0.392871 0.436615 0.392870 +v 0.461967 0.436615 0.308676 +v 0.513310 0.436615 0.212620 +v 0.544927 0.436615 0.108392 +v 0.555603 0.436615 -0.000001 +v 0.544927 0.436615 -0.108393 +v 0.513310 0.436615 -0.212621 +v 0.461966 0.436615 -0.308677 +v 0.392870 0.436615 -0.392871 +v 0.308676 0.436615 -0.461967 +v 0.212619 0.436615 -0.513310 +v 0.108392 0.436615 -0.544927 +v 0.000000 0.436615 -0.555603 +vn -0.0000 -1.0000 -0.0000 vn 0.0000 1.0000 0.0000 vn 0.2903 0.0000 -0.9569 -vn 0.2903 0.0000 0.9569 +vn 0.2903 -0.0000 0.9569 vn -0.7730 0.0000 -0.6344 vn 0.0980 0.0000 -0.9952 -vn 0.4714 0.0000 0.8819 +vn 0.4714 -0.0000 0.8819 vn -0.8819 0.0000 -0.4714 -vn 0.6344 0.0000 0.7730 +vn 0.6344 -0.0000 0.7730 vn -0.9569 0.0000 -0.2903 -vn 0.7730 0.0000 0.6344 -vn -0.9952 0.0000 -0.0980 -vn 0.8819 0.0000 0.4714 +vn 0.7730 -0.0000 0.6344 +vn -0.9952 -0.0000 -0.0980 +vn 0.8819 -0.0000 0.4714 vn -0.9952 0.0000 0.0980 -vn 0.9569 0.0000 0.2903 -vn -0.9569 0.0000 0.2903 +vn 0.9569 -0.0000 0.2903 +vn -0.9569 -0.0000 0.2903 vn 0.9952 0.0000 0.0980 -vn -0.8819 0.0000 0.4714 +vn -0.8819 -0.0000 0.4714 vn 0.9952 0.0000 -0.0980 -vn -0.7730 0.0000 0.6344 +vn -0.7730 -0.0000 0.6344 vn 0.9569 0.0000 -0.2903 -vn -0.6344 0.0000 0.7730 +vn -0.6344 -0.0000 0.7730 vn 0.8819 0.0000 -0.4714 -vn -0.4714 0.0000 0.8819 +vn -0.4714 -0.0000 0.8819 vn -0.0980 0.0000 -0.9952 vn 0.7730 0.0000 -0.6344 -vn -0.2903 0.0000 0.9569 +vn -0.2903 -0.0000 0.9569 vn -0.2903 0.0000 -0.9569 vn 0.6344 0.0000 -0.7730 -vn -0.0980 0.0000 0.9952 +vn -0.0980 -0.0000 0.9952 vn -0.4714 0.0000 -0.8819 vn 0.4714 0.0000 -0.8819 -vn 0.0980 0.0000 0.9952 +vn 0.0980 -0.0000 0.9952 vn -0.6344 0.0000 -0.7730 usemtl None -s off -f 2//1 1//1 32//1 31//1 30//1 29//1 28//1 27//1 26//1 25//1 24//1 23//1 22//1 21//1 20//1 19//1 18//1 17//1 16//1 15//1 14//1 13//1 12//1 11//1 10//1 9//1 8//1 7//1 6//1 5//1 4//1 3//1 -f 34//2 35//2 36//2 37//2 38//2 39//2 40//2 41//2 42//2 43//2 44//2 45//2 46//2 47//2 48//2 49//2 50//2 51//2 52//2 53//2 54//2 55//2 56//2 57//2 58//2 59//2 60//2 61//2 62//2 63//2 64//2 33//2 -f 31//3 32//3 64//3 63//3 -f 18//4 19//4 51//4 50//4 -f 5//5 6//5 38//5 37//5 -f 32//6 1//6 33//6 64//6 -f 19//7 20//7 52//7 51//7 -f 6//8 7//8 39//8 38//8 -f 20//9 21//9 53//9 52//9 -f 7//10 8//10 40//10 39//10 -f 21//11 22//11 54//11 53//11 -f 8//12 9//12 41//12 40//12 -f 22//13 23//13 55//13 54//13 -f 9//14 10//14 42//14 41//14 -f 23//15 24//15 56//15 55//15 -f 10//16 11//16 43//16 42//16 -f 24//17 25//17 57//17 56//17 -f 11//18 12//18 44//18 43//18 -f 25//19 26//19 58//19 57//19 -f 12//20 13//20 45//20 44//20 -f 26//21 27//21 59//21 58//21 -f 13//22 14//22 46//22 45//22 -f 27//23 28//23 60//23 59//23 -f 14//24 15//24 47//24 46//24 -f 1//25 2//25 34//25 33//25 -f 28//26 29//26 61//26 60//26 -f 15//27 16//27 48//27 47//27 -f 2//28 3//28 35//28 34//28 -f 29//29 30//29 62//29 61//29 -f 16//30 17//30 49//30 48//30 -f 3//31 4//31 36//31 35//31 -f 30//32 31//32 63//32 62//32 -f 17//33 18//33 50//33 49//33 -f 4//34 5//34 37//34 36//34 +s 1 +f 1//1 2//1 3//1 4//1 5//1 6//1 7//1 8//1 9//1 10//1 11//1 12//1 13//1 14//1 15//1 16//1 17//1 18//1 19//1 20//1 21//1 22//1 23//1 24//1 25//1 26//1 27//1 28//1 29//1 30//1 31//1 32//1 +f 33//2 34//2 35//2 36//2 37//2 38//2 39//2 40//2 41//2 42//2 43//2 44//2 45//2 46//2 47//2 48//2 49//2 50//2 51//2 52//2 53//2 54//2 55//2 56//2 57//2 58//2 59//2 60//2 61//2 62//2 63//2 64//2 +f 4//3 3//3 63//3 62//3 +f 17//4 16//4 50//4 49//4 +f 30//5 29//5 37//5 36//5 +f 3//6 2//6 64//6 63//6 +f 16//7 15//7 51//7 50//7 +f 29//8 28//8 38//8 37//8 +f 15//9 14//9 52//9 51//9 +f 28//10 27//10 39//10 38//10 +f 14//11 13//11 53//11 52//11 +f 27//12 26//12 40//12 39//12 +f 13//13 12//13 54//13 53//13 +f 26//14 25//14 41//14 40//14 +f 12//15 11//15 55//15 54//15 +f 25//16 24//16 42//16 41//16 +f 11//17 10//17 56//17 55//17 +f 24//18 23//18 43//18 42//18 +f 10//19 9//19 57//19 56//19 +f 23//20 22//20 44//20 43//20 +f 9//21 8//21 58//21 57//21 +f 22//22 21//22 45//22 44//22 +f 8//23 7//23 59//23 58//23 +f 21//24 20//24 46//24 45//24 +f 2//25 1//25 33//25 64//25 +f 7//26 6//26 60//26 59//26 +f 20//27 19//27 47//27 46//27 +f 1//28 32//28 34//28 33//28 +f 6//29 5//29 61//29 60//29 +f 19//30 18//30 48//30 47//30 +f 32//31 31//31 35//31 34//31 +f 5//32 4//32 62//32 61//32 +f 18//33 17//33 49//33 48//33 +f 31//34 30//34 36//34 35//34 diff --git a/Resources/texturedMaterial.mat b/Resources/texturedMaterial.mat index cd5c732..8ac5441 100644 --- a/Resources/texturedMaterial.mat +++ b/Resources/texturedMaterial.mat @@ -6,7 +6,7 @@ Material: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_Name: texturedMaterial + m_Name: TexturedMaterial m_Shader: {fileID: 4800000, guid: e3c881c89fa81495da359dc1b0aa2474, type: 3} m_ShaderKeywords: m_LightmapFlags: 4 @@ -72,5 +72,5 @@ Material: - _UVSec: 0 - _ZWrite: 1 m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 0.227451, g: 0.4784314, b: 0.972549, a: 0.93} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Resources/vertexColorMaterial.mat b/Resources/vertexColorMaterial.mat index 376ed59..4840722 100644 --- a/Resources/vertexColorMaterial.mat +++ b/Resources/vertexColorMaterial.mat @@ -6,7 +6,7 @@ Material: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_Name: vertexColorMaterial + m_Name: VertexColorMaterial m_Shader: {fileID: 4800000, guid: 6536f73c5833c427abd2b03b801cc3ed, type: 3} m_ShaderKeywords: m_LightmapFlags: 4 @@ -70,7 +70,7 @@ Material: - _SpecularHighlights: 1 - _SrcBlend: 1 - _UVSec: 0 - - _ZWrite: 1 + - _ZWrite: 0 m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Shaders/OverlayColorHandle.shader b/Shaders/OverlayColorHandle.shader new file mode 100644 index 0000000..ef20ccd --- /dev/null +++ b/Shaders/OverlayColorHandle.shader @@ -0,0 +1,54 @@ +Shader "Handles/OverlayColor" +{ + Properties + { + _Color ("Color", Color) = (1, 1, 1, 1) + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + ZWrite Off + ZTest Off + Cull Off + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + float4 _Color; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // sample the texture + return _Color; + } + ENDCG + } + } +} diff --git a/Shaders/OverlayColorHandle.shader.meta b/Shaders/OverlayColorHandle.shader.meta new file mode 100644 index 0000000..f254644 --- /dev/null +++ b/Shaders/OverlayColorHandle.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 01e9f68f8b863406893a2dc8ee9a4340 +timeCreated: 1511536609 +licenseType: Free +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/VertexColorHandle.shader b/Shaders/VertexColorHandle.shader index ff00bcf..88e6928 100644 --- a/Shaders/VertexColorHandle.shader +++ b/Shaders/VertexColorHandle.shader @@ -11,6 +11,7 @@ ZWrite Off Blend SrcAlpha OneMinusSrcAlpha Cull Off + ZTest On Pass {