diff --git a/Assets/Prefabs/ForceArrow.prefab b/Assets/Prefabs/ForceArrow.prefab index 53771493..c38bac82 100644 --- a/Assets/Prefabs/ForceArrow.prefab +++ b/Assets/Prefabs/ForceArrow.prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4250719376549075739} - m_Layer: 0 + m_Layer: 8 m_Name: DirectionalArrowOffset m_TagString: Untagged m_Icon: {fileID: 0} @@ -41,7 +41,7 @@ GameObject: m_Component: - component: {fileID: 7951559575268869371} - component: {fileID: 1383144459455941364} - m_Layer: 0 + m_Layer: 8 m_Name: ForceArrow m_TagString: Untagged m_Icon: {fileID: 0} @@ -95,7 +95,7 @@ GameObject: - component: {fileID: 5046504562962061564} - component: {fileID: 7776865532487365390} - component: {fileID: 4429953264966160871} - m_Layer: 0 + m_Layer: 8 m_Name: 3D RightArrow m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/Prefabs/TestGolfBall.prefab b/Assets/Prefabs/TestGolfBall.prefab index e2d8ff45..27b2b12a 100644 --- a/Assets/Prefabs/TestGolfBall.prefab +++ b/Assets/Prefabs/TestGolfBall.prefab @@ -18,7 +18,8 @@ GameObject: - component: {fileID: 3220627860812539771} - component: {fileID: 3638049900979181177} - component: {fileID: 1555587377596854050} - m_Layer: 0 + - component: {fileID: 4647793591449426282} + m_Layer: 9 m_Name: TestGolfBall m_TagString: Player m_Icon: {fileID: 0} @@ -297,3 +298,538 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &4647793591449426282 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550417892748896529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 4 + outlineColor: {r: 0, g: 0.5019608, b: 1, a: 1} + outlineWidth: 2 + precomputeOutline: 1 + bakeKeys: + - {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} + bakeValues: + - data: + - {x: 0.57735026, y: -0.57735026, z: -0.5773503} + - {x: 0.57735026, y: -0.57735026, z: 0.5773503} + - {x: -0.57735026, y: -0.57735026, z: -0.5773503} + - {x: -0.5773503, y: -0.57735026, z: 0.57735026} + - {x: 0.5770534, y: 0.5779435, z: -0.5770534} + - {x: 0.5770534, y: 0.5779435, z: 0.5770534} + - {x: -0.5770534, y: 0.5779435, z: -0.5770534} + - {x: -0.5770534, y: 0.5779435, z: 0.5770534} + - {x: 0, y: -1, z: 0} + - {x: 0, y: 1, z: 0} + - {x: 0.99997497, y: -0.0070271874, z: -0.0009141061} + - {x: 0, y: -0.006783585, z: 0.999977} + - {x: -0.99997485, y: -0.0070275087, z: -0.0009139704} + - {x: 0, y: -0.007271087, z: -0.99997354} + - {x: 0, y: -0.70710677, z: -0.70710677} + - {x: -0.70710677, y: -0.7071068, z: 0} + - {x: 0, y: -0.70710665, z: 0.7071069} + - {x: 0.7071068, y: -0.70710677, z: 0} + - {x: 0.7072056, y: 0.707008, z: 0} + - {x: 0, y: 0.707008, z: 0.7072056} + - {x: -0.7072056, y: 0.707008, z: 0} + - {x: 0, y: 0.707008, z: -0.7072056} + - {x: 0.70707804, y: -0.009016315, z: 0.7070781} + - {x: 0.7070716, y: -0.009976584, z: -0.7070716} + - {x: -0.7070781, y: -0.009016315, z: 0.70707804} + - {x: -0.7070716, y: -0.009976553, z: -0.70707154} + - {x: 0.4805394, y: -0.6201137, z: -0.6201137} + - {x: 0.3410981, y: -0.66470003, z: -0.6647} + - {x: 0.17693341, y: -0.6959506, z: -0.6959506} + - {x: -0.48054004, y: -0.620114, z: -0.62011284} + - {x: -0.34109834, y: -0.6647008, z: -0.66469896} + - {x: -0.17693298, y: -0.695951, z: -0.69595045} + - {x: -0.6201137, y: -0.6201137, z: -0.4805394} + - {x: -0.6647, y: -0.66470003, z: -0.3410981} + - {x: -0.6959506, y: -0.6959506, z: -0.17693341} + - {x: -0.62011284, y: -0.620114, z: 0.48054004} + - {x: -0.66469896, y: -0.6647008, z: 0.34109834} + - {x: -0.69595045, y: -0.695951, z: 0.17693298} + - {x: -0.4805394, y: -0.6201137, z: 0.6201137} + - {x: -0.34109792, y: -0.6646999, z: 0.66470015} + - {x: -0.17693326, y: -0.6959505, z: 0.69595087} + - {x: 0.48054004, y: -0.620114, z: 0.62011284} + - {x: 0.34109816, y: -0.66470075, z: 0.6646992} + - {x: 0.17693284, y: -0.69595075, z: 0.6959507} + - {x: 0.6201137, y: -0.6201137, z: 0.4805394} + - {x: 0.6647, y: -0.66470003, z: 0.3410981} + - {x: 0.6959507, y: -0.6959506, z: 0.17693342} + - {x: 0.6201137, y: -0.6201137, z: -0.4805394} + - {x: 0.6647, y: -0.66470003, z: -0.3410981} + - {x: 0.6959506, y: -0.6959507, z: -0.17693342} + - {x: 0.61990535, y: 0.6204593, z: -0.48036185} + - {x: 0.66459566, y: 0.66465217, z: -0.34139442} + - {x: 0.6960513, y: 0.69586915, z: -0.17685804} + - {x: 0.61990535, y: 0.6204593, z: 0.48036185} + - {x: 0.66459537, y: 0.6646523, z: 0.34139463} + - {x: 0.69605106, y: 0.6958694, z: 0.17685807} + - {x: 0.48036185, y: 0.6204593, z: 0.61990535} + - {x: 0.34139463, y: 0.6646523, z: 0.66459537} + - {x: 0.17685814, y: 0.6958693, z: 0.69605106} + - {x: -0.48036185, y: 0.6204593, z: 0.61990535} + - {x: -0.34139463, y: 0.6646523, z: 0.66459537} + - {x: -0.17685808, y: 0.6958694, z: 0.69605106} + - {x: -0.61990535, y: 0.6204593, z: 0.48036185} + - {x: -0.66459537, y: 0.6646523, z: 0.34139463} + - {x: -0.69605106, y: 0.6958693, z: 0.17685813} + - {x: -0.61990535, y: 0.6204593, z: -0.48036185} + - {x: -0.66459537, y: 0.6646523, z: -0.34139463} + - {x: -0.69605106, y: 0.6958693, z: -0.17685813} + - {x: -0.48036185, y: 0.6204593, z: -0.61990535} + - {x: -0.34139428, y: 0.6646524, z: -0.66459554} + - {x: -0.17685792, y: 0.6958694, z: -0.6960511} + - {x: 0.48036185, y: 0.6204593, z: -0.61990535} + - {x: 0.34139442, y: 0.66465217, z: -0.66459566} + - {x: 0.17685792, y: 0.69586915, z: -0.6960513} + - {x: 0.6201132, y: -0.4805407, z: 0.6201132} + - {x: 0.66469985, y: -0.3410986, z: 0.6646998} + - {x: 0.69503826, y: -0.18396656, z: 0.69503826} + - {x: 0.6199811, y: 0.4808831, z: 0.6199798} + - {x: 0.6646252, y: 0.3413929, z: 0.6646234} + - {x: 0.69618523, y: 0.17508024, z: 0.69618464} + - {x: 0.6199811, y: 0.4808831, z: -0.6199798} + - {x: 0.6646252, y: 0.3413929, z: -0.6646234} + - {x: 0.6959636, y: 0.17683363, z: -0.6959631} + - {x: 0.6201132, y: -0.4805407, z: -0.6201132} + - {x: 0.66469985, y: -0.3410986, z: -0.6646998} + - {x: 0.6946789, y: -0.18666106, z: -0.69467896} + - {x: -0.6201137, y: -0.4805394, z: 0.6201137} + - {x: -0.6647, y: -0.3410981, z: 0.66470003} + - {x: -0.69503814, y: -0.18396747, z: 0.69503814} + - {x: -0.61998016, y: 0.48088375, z: 0.6199802} + - {x: -0.6646242, y: 0.34139317, z: 0.6646242} + - {x: -0.696185, y: 0.17507976, z: 0.696185} + - {x: -0.6201137, y: -0.4805394, z: -0.6201137} + - {x: -0.66470003, y: -0.3410981, z: -0.6647} + - {x: -0.69467884, y: -0.18666197, z: -0.69467884} + - {x: -0.6199802, y: 0.48088375, z: -0.61998016} + - {x: -0.6646242, y: 0.34139317, z: -0.6646242} + - {x: -0.6959634, y: 0.1768332, z: -0.6959634} + - {x: 0, y: -0.8287514, z: -0.559617} + - {x: 0, y: -0.92124933, z: -0.3889727} + - {x: 0, y: -0.9791253, z: -0.2032574} + - {x: -0.559617, y: -0.8287514, z: 0} + - {x: -0.38897312, y: -0.92124915, z: 0} + - {x: -0.2032576, y: -0.9791253, z: 0} + - {x: 0, y: -0.8287514, z: 0.559617} + - {x: 0, y: -0.92124933, z: 0.3889727} + - {x: 0, y: -0.9791253, z: 0.2032574} + - {x: 0.559617, y: -0.8287514, z: 0} + - {x: 0.3889727, y: -0.92124933, z: 0} + - {x: 0.20325732, y: -0.9791253, z: 0} + - {x: 0.5594022, y: 0.8288963, z: 0} + - {x: 0.38834122, y: 0.9215156, z: 0} + - {x: 0.20144607, y: 0.9794996, z: 0} + - {x: 0, y: 0.8288963, z: 0.5594022} + - {x: 0, y: 0.9215159, z: 0.38834074} + - {x: 0, y: 0.9794996, z: 0.2014458} + - {x: -0.5594023, y: 0.82889634, z: 0} + - {x: -0.3883408, y: 0.9215159, z: 0} + - {x: -0.20144576, y: 0.9794997, z: 0} + - {x: 0, y: 0.8288963, z: -0.5594023} + - {x: 0, y: 0.92151576, z: -0.3883408} + - {x: 0, y: 0.9794996, z: -0.2014458} + - {x: 0.82875144, y: -0.559617, z: 0} + - {x: 0.92124915, y: -0.38897315, z: 0} + - {x: 0.97827977, y: -0.20728862, z: -0.00033744177} + - {x: 0.83062214, y: -0.008560009, z: 0.5567707} + - {x: 0.9230274, y: -0.007569675, z: 0.3846596} + - {x: 0.98043764, y: -0.0069101085, z: 0.19670859} + - {x: 0.82918096, y: 0.55898035, z: 0} + - {x: 0.92161196, y: 0.38811255, z: 0} + - {x: 0.9797031, y: 0.2004529, z: -0.00057549594} + - {x: 0.8290441, y: -0.009544022, z: -0.55910176} + - {x: 0.92147684, y: -0.00855847, z: -0.38833913} + - {x: 0.97979915, y: -0.007640349, z: -0.19983792} + - {x: 0, y: -0.559617, z: 0.8287514} + - {x: 0, y: -0.38897327, z: 0.92124903} + - {x: 0, y: -0.20761144, z: 0.9782113} + - {x: -0.5567707, y: -0.008560009, z: 0.83062214} + - {x: -0.3846596, y: -0.007569675, z: 0.9230274} + - {x: -0.19670866, y: -0.006910208, z: 0.98043764} + - {x: 0, y: 0.55898035, z: 0.82918096} + - {x: 0, y: 0.38811287, z: 0.9216118} + - {x: 0, y: 0.20101017, z: 0.97958916} + - {x: 0.5567707, y: -0.008560009, z: 0.83062214} + - {x: 0.3846596, y: -0.007569675, z: 0.9230274} + - {x: 0.19670875, y: -0.0069102035, z: 0.9804376} + - {x: -0.8287513, y: -0.5596169, z: 0} + - {x: -0.92124933, y: -0.3889727, z: 0} + - {x: -0.97827977, y: -0.20728834, z: -0.00033734587} + - {x: -0.8290441, y: -0.009543983, z: -0.55910176} + - {x: -0.92147684, y: -0.008558429, z: -0.38833913} + - {x: -0.9797992, y: -0.007640469, z: -0.19983783} + - {x: -0.82918096, y: 0.55898035, z: 0} + - {x: -0.92161185, y: 0.38811284, z: 0} + - {x: -0.9797031, y: 0.20045324, z: -0.00057532295} + - {x: -0.83062214, y: -0.008560009, z: 0.5567707} + - {x: -0.9230274, y: -0.007569675, z: 0.3846596} + - {x: -0.98043764, y: -0.0069102887, z: 0.19670865} + - {x: 0, y: -0.559617, z: -0.8287514} + - {x: 0, y: -0.38897315, z: -0.92124915} + - {x: 0, y: -0.20696576, z: -0.9783482} + - {x: 0.55910176, y: -0.009544019, z: -0.8290441} + - {x: 0.38833904, y: -0.008558459, z: -0.92147684} + - {x: 0.19983783, y: -0.007640359, z: -0.9797992} + - {x: 0, y: 0.5589804, z: -0.82918084} + - {x: 0, y: 0.38811302, z: -0.9216118} + - {x: 0, y: 0.19989617, z: -0.9798171} + - {x: -0.55910176, y: -0.0095439935, z: -0.8290441} + - {x: -0.38833907, y: -0.008558438, z: -0.92147684} + - {x: -0.199838, y: -0.007640417, z: -0.97979915} + - {x: 0.49635273, y: -0.7122274, z: -0.49635273} + - {x: 0.3492379, y: -0.7746143, z: -0.52726233} + - {x: 0.18054369, y: -0.8148397, z: -0.5508541} + - {x: 0.52726233, y: -0.7746143, z: -0.3492379} + - {x: 0.36701944, y: -0.8547476, z: -0.36701944} + - {x: 0.18873115, y: -0.9043397, z: -0.38281876} + - {x: 0.55085415, y: -0.8148397, z: -0.18054369} + - {x: 0.3828188, y: -0.9043397, z: -0.18873115} + - {x: 0.19821139, y: -0.95990855, z: -0.19821142} + - {x: -0.49635273, y: -0.7122274, z: -0.49635273} + - {x: -0.52726233, y: -0.7746143, z: -0.3492379} + - {x: -0.5508541, y: -0.8148397, z: -0.18054374} + - {x: -0.3492379, y: -0.7746143, z: -0.52726233} + - {x: -0.36701944, y: -0.8547476, z: -0.36701944} + - {x: -0.382819, y: -0.9043396, z: -0.18873142} + - {x: -0.18054374, y: -0.8148397, z: -0.55085415} + - {x: -0.18873118, y: -0.9043397, z: -0.38281876} + - {x: -0.19821154, y: -0.95990855, z: -0.19821173} + - {x: -0.49635273, y: -0.7122274, z: 0.49635273} + - {x: -0.3492379, y: -0.7746143, z: 0.52726233} + - {x: -0.18054374, y: -0.8148397, z: 0.5508541} + - {x: -0.52726233, y: -0.7746143, z: 0.3492379} + - {x: -0.36701944, y: -0.8547476, z: 0.36701944} + - {x: -0.18873118, y: -0.9043397, z: 0.38281876} + - {x: -0.55085415, y: -0.8148397, z: 0.18054374} + - {x: -0.382819, y: -0.9043396, z: 0.18873142} + - {x: -0.19821154, y: -0.95990855, z: 0.19821173} + - {x: 0.49635273, y: -0.7122274, z: 0.49635273} + - {x: 0.52726233, y: -0.7746143, z: 0.3492379} + - {x: 0.5508541, y: -0.8148397, z: 0.18054374} + - {x: 0.3492379, y: -0.7746143, z: 0.52726233} + - {x: 0.36701944, y: -0.8547476, z: 0.36701944} + - {x: 0.38281876, y: -0.9043397, z: 0.18873115} + - {x: 0.18054375, y: -0.8148397, z: 0.5508541} + - {x: 0.18873115, y: -0.9043397, z: 0.38281876} + - {x: 0.19821139, y: -0.95990855, z: 0.19821142} + - {x: 0.4962236, y: 0.71240735, z: -0.4962236} + - {x: 0.52712536, y: 0.7745599, z: -0.34956506} + - {x: 0.55067927, y: 0.8149741, z: -0.18047006} + - {x: 0.34956506, y: 0.7745599, z: -0.52712536} + - {x: 0.36685884, y: 0.85488546, z: -0.36685884} + - {x: 0.38225284, y: 0.90462065, z: -0.18853198} + - {x: 0.18046997, y: 0.81497425, z: -0.5506793} + - {x: 0.18853171, y: 0.90462077, z: -0.38225263} + - {x: 0.19720869, y: 0.9603215, z: -0.19720891} + - {x: 0.4962236, y: 0.71240735, z: 0.4962236} + - {x: 0.34956506, y: 0.7745599, z: 0.52712536} + - {x: 0.18047006, y: 0.8149741, z: 0.55067927} + - {x: 0.52712536, y: 0.7745599, z: 0.34956506} + - {x: 0.36685884, y: 0.85488546, z: 0.36685884} + - {x: 0.18853177, y: 0.90462077, z: 0.38225263} + - {x: 0.5506793, y: 0.81497425, z: 0.18047003} + - {x: 0.38225287, y: 0.90462065, z: 0.18853195} + - {x: 0.19720873, y: 0.9603215, z: 0.19720885} + - {x: -0.4962236, y: 0.71240735, z: 0.4962236} + - {x: -0.52712536, y: 0.7745599, z: 0.34956506} + - {x: -0.5506793, y: 0.81497425, z: 0.18047008} + - {x: -0.34956506, y: 0.7745599, z: 0.52712536} + - {x: -0.36685884, y: 0.85488546, z: 0.36685884} + - {x: -0.38225263, y: 0.90462077, z: 0.18853177} + - {x: -0.18047003, y: 0.81497425, z: 0.5506793} + - {x: -0.18853176, y: 0.90462077, z: 0.38225263} + - {x: -0.19720863, y: 0.9603216, z: 0.19720863} + - {x: -0.4962236, y: 0.71240735, z: -0.4962236} + - {x: -0.3495646, y: 0.77456015, z: -0.5271254} + - {x: -0.18046977, y: 0.81497425, z: -0.5506793} + - {x: -0.52712536, y: 0.7745599, z: -0.34956506} + - {x: -0.36685866, y: 0.85488546, z: -0.36685908} + - {x: -0.18853162, y: 0.90462065, z: -0.38225293} + - {x: -0.5506793, y: 0.81497425, z: -0.18047003} + - {x: -0.38225263, y: 0.90462077, z: -0.18853177} + - {x: -0.19720863, y: 0.9603216, z: -0.19720858} + - {x: 0.7122266, y: -0.4963542, z: -0.4963524} + - {x: 0.7746142, y: -0.5272629, z: -0.34923717} + - {x: 0.8148397, y: -0.5508541, z: -0.18054375} + - {x: 0.7746139, y: -0.3492387, z: -0.5272623} + - {x: 0.8547479, y: -0.36701968, z: -0.36701828} + - {x: 0.9043396, y: -0.382819, z: -0.18873142} + - {x: 0.8134452, y: -0.18982503, z: -0.549794} + - {x: 0.90286976, y: -0.1970319, z: -0.38210568} + - {x: 0.95909977, y: -0.20404018, z: -0.19620207} + - {x: 0.7122266, y: -0.4963542, z: 0.4963524} + - {x: 0.7746139, y: -0.3492387, z: 0.5272623} + - {x: 0.8145636, y: -0.1877707, z: 0.5488426} + - {x: 0.7746142, y: -0.52726305, z: 0.34923714} + - {x: 0.8547479, y: -0.36701968, z: 0.36701828} + - {x: 0.90377635, y: -0.19634312, z: 0.3803126} + - {x: 0.8148397, y: -0.55085397, z: 0.18054369} + - {x: 0.9043396, y: -0.382819, z: 0.18873139} + - {x: 0.9593295, y: -0.20436198, z: 0.19473855} + - {x: 0.7125368, y: 0.4964059, z: 0.49585536} + - {x: 0.7749057, y: 0.52686495, z: 0.34919122} + - {x: 0.81526285, y: 0.55024487, z: 0.18049149} + - {x: 0.7750265, y: 0.3493735, z: 0.52656627} + - {x: 0.8552524, y: 0.36651918, z: 0.36634275} + - {x: 0.90472347, y: 0.38195258, z: 0.1886469} + - {x: 0.8163346, y: 0.1793894, z: 0.54901475} + - {x: 0.90553916, y: 0.18887143, z: 0.379903} + - {x: 0.96072304, y: 0.19756491, z: 0.19488259} + - {x: 0.7125368, y: 0.4964059, z: -0.49585536} + - {x: 0.7750265, y: 0.3493734, z: -0.5265662} + - {x: 0.8153886, y: 0.18047948, z: -0.55006224} + - {x: 0.77490586, y: 0.526865, z: -0.3491908} + - {x: 0.8552524, y: 0.36651942, z: -0.3663425} + - {x: 0.9048201, y: 0.18859024, z: -0.38175157} + - {x: 0.81526285, y: 0.5502449, z: -0.1804913} + - {x: 0.9047233, y: 0.38195288, z: -0.18864691} + - {x: 0.9605871, y: 0.19652273, z: -0.1965994} + - {x: 0.4963539, y: -0.4963539, z: 0.7122259} + - {x: 0.34923744, y: -0.527263, z: 0.7746141} + - {x: 0.18054253, y: -0.5508541, z: 0.81483996} + - {x: 0.5272629, y: -0.3492379, z: 0.7746139} + - {x: 0.3670184, y: -0.36701882, z: 0.85474825} + - {x: 0.1887308, y: -0.38281885, z: 0.9043397} + - {x: 0.5488426, y: -0.1877707, z: 0.8145636} + - {x: 0.38031262, y: -0.19634308, z: 0.90377635} + - {x: 0.19473863, y: -0.20436198, z: 0.9593295} + - {x: -0.49635273, y: -0.49635273, z: 0.7122274} + - {x: -0.52726233, y: -0.3492379, z: 0.7746143} + - {x: -0.5488427, y: -0.18777162, z: 0.81456345} + - {x: -0.3492375, y: -0.5272624, z: 0.77461445} + - {x: -0.36701918, y: -0.36701968, z: 0.8547476} + - {x: -0.380313, y: -0.19634354, z: 0.90377605} + - {x: -0.18054336, y: -0.5508541, z: 0.8148397} + - {x: -0.18873121, y: -0.38281924, z: 0.9043395} + - {x: -0.19473857, y: -0.20436198, z: 0.9593295} + - {x: -0.495855, y: 0.49640733, z: 0.71253604} + - {x: -0.34919047, y: 0.52686566, z: 0.7749056} + - {x: -0.1804915, y: 0.55024487, z: 0.81526285} + - {x: -0.52656627, y: 0.34937415, z: 0.7750263} + - {x: -0.36634156, y: 0.36651945, z: 0.85525274} + - {x: -0.18864714, y: 0.3819528, z: 0.9047233} + - {x: -0.54901475, y: 0.17938851, z: 0.81633484} + - {x: -0.3799026, y: 0.188871, z: 0.90553945} + - {x: -0.1948829, y: 0.19756508, z: 0.9607229} + - {x: 0.495855, y: 0.49640733, z: 0.71253604} + - {x: 0.52656627, y: 0.34937415, z: 0.7750263} + - {x: 0.5490148, y: 0.1793885, z: 0.8163348} + - {x: 0.34919044, y: 0.5268656, z: 0.7749056} + - {x: 0.36634162, y: 0.36651945, z: 0.85525274} + - {x: 0.3799026, y: 0.188871, z: 0.90553945} + - {x: 0.18049157, y: 0.5502448, z: 0.8152628} + - {x: 0.18864724, y: 0.38195282, z: 0.9047233} + - {x: 0.194883, y: 0.19756511, z: 0.9607229} + - {x: -0.7122266, y: -0.4963524, z: 0.4963542} + - {x: -0.7746139, y: -0.5272623, z: 0.3492387} + - {x: -0.8148399, y: -0.55085415, z: 0.18054286} + - {x: -0.7746142, y: -0.34923714, z: 0.52726305} + - {x: -0.8547479, y: -0.36701828, z: 0.36701968} + - {x: -0.90433997, y: -0.38281837, z: 0.18873075} + - {x: -0.81456345, y: -0.18777162, z: 0.5488427} + - {x: -0.90377605, y: -0.19634354, z: 0.380313} + - {x: -0.95932955, y: -0.20436183, z: 0.19473825} + - {x: -0.7122274, y: -0.49635273, z: -0.49635273} + - {x: -0.7746143, y: -0.3492379, z: -0.52726233} + - {x: -0.81344503, y: -0.18982588, z: -0.54979384} + - {x: -0.7746143, y: -0.52726233, z: -0.3492379} + - {x: -0.8547476, y: -0.36701944, z: -0.36701944} + - {x: -0.90286946, y: -0.1970323, z: -0.382106} + - {x: -0.8148397, y: -0.550854, z: -0.18054369} + - {x: -0.9043397, y: -0.38281876, z: -0.18873115} + - {x: -0.9590999, y: -0.20404005, z: -0.19620167} + - {x: -0.71253604, y: 0.49640733, z: -0.495855} + - {x: -0.7749056, y: 0.52686566, z: -0.34919047} + - {x: -0.81526285, y: 0.55024487, z: -0.18049152} + - {x: -0.7750263, y: 0.34937415, z: -0.52656627} + - {x: -0.85525274, y: 0.36651945, z: -0.36634156} + - {x: -0.9047233, y: 0.3819528, z: -0.1886472} + - {x: -0.81538886, y: 0.18047863, z: -0.55006224} + - {x: -0.9048204, y: 0.18858981, z: -0.38175115} + - {x: -0.96058697, y: 0.19652289, z: -0.19659959} + - {x: -0.71253604, y: 0.49640733, z: 0.495855} + - {x: -0.7750263, y: 0.34937415, z: 0.52656627} + - {x: -0.8163348, y: 0.1793885, z: 0.5490148} + - {x: -0.7749056, y: 0.5268656, z: 0.34919044} + - {x: -0.85525274, y: 0.36651945, z: 0.36634162} + - {x: -0.90553945, y: 0.188871, z: 0.3799026} + - {x: -0.8152628, y: 0.5502448, z: 0.18049154} + - {x: -0.9047233, y: 0.3819528, z: 0.18864718} + - {x: -0.9607229, y: 0.19756508, z: 0.19488296} + - {x: -0.4963542, y: -0.4963524, z: -0.7122266} + - {x: -0.3492387, y: -0.5272623, z: -0.7746139} + - {x: -0.18054284, y: -0.5508541, z: -0.8148399} + - {x: -0.52726305, y: -0.34923714, z: -0.7746142} + - {x: -0.36701968, y: -0.36701828, z: -0.8547479} + - {x: -0.18873094, y: -0.38281855, z: -0.9043399} + - {x: -0.54979384, y: -0.18982588, z: -0.81344503} + - {x: -0.382106, y: -0.1970323, z: -0.90286946} + - {x: -0.19620204, y: -0.20404017, z: -0.95909977} + - {x: 0.4963524, y: -0.4963542, z: -0.7122266} + - {x: 0.5272623, y: -0.3492387, z: -0.7746139} + - {x: 0.549794, y: -0.18982503, z: -0.8134452} + - {x: 0.34923714, y: -0.52726305, z: -0.7746142} + - {x: 0.36701828, y: -0.36701968, z: -0.8547479} + - {x: 0.38210562, y: -0.19703187, z: -0.90286976} + - {x: 0.18054374, y: -0.55085415, z: -0.8148397} + - {x: 0.18873142, y: -0.382819, z: -0.9043396} + - {x: 0.19620201, y: -0.20404013, z: -0.95909977} + - {x: 0.495855, y: 0.49640733, z: -0.71253604} + - {x: 0.34918994, y: 0.5268657, z: -0.77490574} + - {x: 0.18049115, y: 0.5502449, z: -0.81526285} + - {x: 0.52656627, y: 0.34937415, z: -0.7750263} + - {x: 0.36634138, y: 0.36651975, z: -0.85525274} + - {x: 0.18864696, y: 0.38195306, z: -0.9047232} + - {x: 0.55006224, y: 0.1804786, z: -0.81538886} + - {x: 0.38175115, y: 0.1885898, z: -0.9048204} + - {x: 0.19659947, y: 0.19652289, z: -0.96058697} + - {x: -0.495855, y: 0.49640733, z: -0.71253604} + - {x: -0.52656627, y: 0.34937415, z: -0.7750263} + - {x: -0.5500622, y: 0.18047862, z: -0.8153889} + - {x: -0.34918994, y: 0.5268657, z: -0.77490574} + - {x: -0.3663414, y: 0.36651975, z: -0.85525274} + - {x: -0.38175118, y: 0.18858981, z: -0.9048204} + - {x: -0.18049131, y: 0.5502449, z: -0.81526285} + - {x: -0.18864718, y: 0.38195315, z: -0.9047232} + - {x: -0.19659972, y: 0.19652292, z: -0.96058697} + - {x: 0.20325732, y: -0.9791253, z: 0} + - {x: 0, y: -1, z: 0} + - {x: 0, y: -1, z: 0} + - {x: -0.70710677, y: -0.7071068, z: 0} + - {x: -0.559617, y: -0.8287514, z: 0} + - {x: -0.38897312, y: -0.92124915, z: 0} + - {x: -0.2032576, y: -0.9791253, z: 0} + - {x: 0, y: -1, z: 0} + - {x: 0, y: -1, z: 0} + - {x: 0, y: -1, z: 0} + - {x: 0.20325732, y: -0.9791253, z: 0} + - {x: 0, y: 1, z: 0} + - {x: 0, y: 1, z: 0} + - {x: 0, y: 1, z: 0} + - {x: 0, y: 1, z: 0} + - {x: -0.7072056, y: 0.707008, z: 0} + - {x: -0.5594023, y: 0.82889634, z: 0} + - {x: -0.3883408, y: 0.9215159, z: 0} + - {x: -0.20144576, y: 0.9794997, z: 0} + - {x: 0, y: 1, z: 0} + - {x: 0.57735026, y: -0.57735026, z: -0.5773503} + - {x: 0.6201137, y: -0.6201137, z: -0.4805394} + - {x: 0.6647, y: -0.66470003, z: -0.3410981} + - {x: 0.6959506, y: -0.6959507, z: -0.17693342} + - {x: 0.7071068, y: -0.70710677, z: 0} + - {x: 0.6201137, y: -0.6201137, z: 0.4805394} + - {x: 0.57735026, y: -0.57735026, z: 0.5773503} + - {x: 0.6647, y: -0.66470003, z: 0.3410981} + - {x: 0.6959507, y: -0.6959506, z: 0.17693342} + - {x: 0.5770534, y: 0.5779435, z: 0.5770534} + - {x: 0.61990535, y: 0.6204593, z: 0.48036185} + - {x: 0.66459537, y: 0.6646523, z: 0.34139463} + - {x: 0.69605106, y: 0.6958694, z: 0.17685807} + - {x: 0.7072056, y: 0.707008, z: 0} + - {x: 0.61990535, y: 0.6204593, z: -0.48036185} + - {x: 0.5770534, y: 0.5779435, z: -0.5770534} + - {x: 0.66459566, y: 0.66465217, z: -0.34139442} + - {x: 0.6960513, y: 0.69586915, z: -0.17685804} + - {x: 0.57735026, y: -0.57735026, z: 0.5773503} + - {x: 0.6201132, y: -0.4805407, z: 0.6201132} + - {x: 0.48054004, y: -0.620114, z: 0.62011284} + - {x: 0.34109816, y: -0.66470075, z: 0.6646992} + - {x: 0.17693284, y: -0.69595075, z: 0.6959507} + - {x: 0, y: -0.70710665, z: 0.7071069} + - {x: 0.66469985, y: -0.3410986, z: 0.6646998} + - {x: 0.69503826, y: -0.18396656, z: 0.69503826} + - {x: 0.70707804, y: -0.009016315, z: 0.7070781} + - {x: -0.4805394, y: -0.6201137, z: 0.6201137} + - {x: -0.5773503, y: -0.57735026, z: 0.57735026} + - {x: -0.34109792, y: -0.6646999, z: 0.66470015} + - {x: -0.17693326, y: -0.6959505, z: 0.69595087} + - {x: -0.5770534, y: 0.5779435, z: 0.5770534} + - {x: -0.48036185, y: 0.6204593, z: 0.61990535} + - {x: -0.34139463, y: 0.6646523, z: 0.66459537} + - {x: -0.17685808, y: 0.6958694, z: 0.69605106} + - {x: 0, y: 0.707008, z: 0.7072056} + - {x: 0.48036185, y: 0.6204593, z: 0.61990535} + - {x: 0.6199811, y: 0.4808831, z: 0.6199798} + - {x: 0.5770534, y: 0.5779435, z: 0.5770534} + - {x: 0.6646252, y: 0.3413929, z: 0.6646234} + - {x: 0.69618523, y: 0.17508024, z: 0.69618464} + - {x: 0.34139463, y: 0.6646523, z: 0.66459537} + - {x: 0.17685814, y: 0.6958693, z: 0.69605106} + - {x: -0.5773503, y: -0.57735026, z: 0.57735026} + - {x: -0.6201137, y: -0.4805394, z: 0.6201137} + - {x: -0.62011284, y: -0.620114, z: 0.48054004} + - {x: -0.66469896, y: -0.6647008, z: 0.34109834} + - {x: -0.69595045, y: -0.695951, z: 0.17693298} + - {x: -0.70710677, y: -0.7071068, z: 0} + - {x: -0.6647, y: -0.3410981, z: 0.66470003} + - {x: -0.69503814, y: -0.18396747, z: 0.69503814} + - {x: -0.7070781, y: -0.009016315, z: 0.70707804} + - {x: -0.6201137, y: -0.6201137, z: -0.4805394} + - {x: -0.57735026, y: -0.57735026, z: -0.5773503} + - {x: -0.6647, y: -0.66470003, z: -0.3410981} + - {x: -0.6959506, y: -0.6959506, z: -0.17693341} + - {x: -0.70710677, y: -0.7071068, z: 0} + - {x: -0.8287513, y: -0.5596169, z: 0} + - {x: -0.92124933, y: -0.3889727, z: 0} + - {x: -0.97827977, y: -0.20728834, z: -0.00033734587} + - {x: -0.99997485, y: -0.0070275087, z: -0.0009139704} + - {x: -0.5770534, y: 0.5779435, z: -0.5770534} + - {x: -0.61990535, y: 0.6204593, z: -0.48036185} + - {x: -0.66459537, y: 0.6646523, z: -0.34139463} + - {x: -0.69605106, y: 0.6958693, z: -0.17685813} + - {x: -0.7072056, y: 0.707008, z: 0} + - {x: -0.61990535, y: 0.6204593, z: 0.48036185} + - {x: -0.61998016, y: 0.48088375, z: 0.6199802} + - {x: -0.5770534, y: 0.5779435, z: 0.5770534} + - {x: -0.6646242, y: 0.34139317, z: 0.6646242} + - {x: -0.696185, y: 0.17507976, z: 0.696185} + - {x: -0.66459537, y: 0.6646523, z: 0.34139463} + - {x: -0.69605106, y: 0.6958693, z: 0.17685813} + - {x: -0.7072056, y: 0.707008, z: 0} + - {x: -0.82918096, y: 0.55898035, z: 0} + - {x: -0.92161185, y: 0.38811284, z: 0} + - {x: -0.9797031, y: 0.20045324, z: -0.00057532295} + - {x: -0.57735026, y: -0.57735026, z: -0.5773503} + - {x: -0.6201137, y: -0.4805394, z: -0.6201137} + - {x: -0.48054004, y: -0.620114, z: -0.62011284} + - {x: -0.34109834, y: -0.6647008, z: -0.66469896} + - {x: -0.17693298, y: -0.695951, z: -0.69595045} + - {x: 0, y: -0.70710677, z: -0.70710677} + - {x: -0.66470003, y: -0.3410981, z: -0.6647} + - {x: -0.69467884, y: -0.18666197, z: -0.69467884} + - {x: -0.7070716, y: -0.009976553, z: -0.70707154} + - {x: 0.4805394, y: -0.6201137, z: -0.6201137} + - {x: 0.6201132, y: -0.4805407, z: -0.6201132} + - {x: 0.57735026, y: -0.57735026, z: -0.5773503} + - {x: 0.66469985, y: -0.3410986, z: -0.6646998} + - {x: 0.6946789, y: -0.18666106, z: -0.69467896} + - {x: 0.7070716, y: -0.009976584, z: -0.7070716} + - {x: 0.3410981, y: -0.66470003, z: -0.6647} + - {x: 0.17693341, y: -0.6959506, z: -0.6959506} + - {x: 0.5770534, y: 0.5779435, z: -0.5770534} + - {x: 0.6199811, y: 0.4808831, z: -0.6199798} + - {x: 0.48036185, y: 0.6204593, z: -0.61990535} + - {x: 0.34139442, y: 0.66465217, z: -0.66459566} + - {x: 0.17685792, y: 0.69586915, z: -0.6960513} + - {x: 0, y: 0.707008, z: -0.7072056} + - {x: 0.6646252, y: 0.3413929, z: -0.6646234} + - {x: 0.6959636, y: 0.17683363, z: -0.6959631} + - {x: -0.48036185, y: 0.6204593, z: -0.61990535} + - {x: -0.6199802, y: 0.48088375, z: -0.61998016} + - {x: -0.5770534, y: 0.5779435, z: -0.5770534} + - {x: -0.6646242, y: 0.34139317, z: -0.6646242} + - {x: -0.6959634, y: 0.1768332, z: -0.6959634} + - {x: -0.34139428, y: 0.6646524, z: -0.66459554} + - {x: -0.17685792, y: 0.6958694, z: -0.6960511} diff --git a/Assets/QuickOutline.meta b/Assets/QuickOutline.meta new file mode 100644 index 00000000..9b2ca598 --- /dev/null +++ b/Assets/QuickOutline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 15e68a2e3bfc044ed8779d99d4b42e1d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Readme.txt b/Assets/QuickOutline/Readme.txt new file mode 100644 index 00000000..183ae241 --- /dev/null +++ b/Assets/QuickOutline/Readme.txt @@ -0,0 +1,37 @@ +Quick Outline +============= + +Developed by Chris Nolet (c) 2018 + + +Instructions +------------ + +To add an outline to an object, drag-and-drop the Outline.cs +script onto the object. The outline materials will be loaded +at runtime. + +You can also add outlines programmatically with: + + var outline = gameObject.AddComponent(); + + outline.OutlineMode = Outline.Mode.OutlineAll; + outline.OutlineColor = Color.yellow; + outline.OutlineWidth = 5f; + +The outline script does a small amount of work in Awake(). +For best results, use outline.enabled to toggle the outline. +Avoid removing and re-adding the component if possible. + +For large meshes, you may also like to enable 'Precompute +Outline' in the editor. This will reduce the amount of work +performed in Awake(). + + +Troubleshooting +--------------- + +If the outline appears off-center, please try the following: + +1. Set 'Read/Write Enabled' on each model's import settings. +2. Disable 'Optimize Mesh Data' in the player settings. diff --git a/Assets/QuickOutline/Readme.txt.meta b/Assets/QuickOutline/Readme.txt.meta new file mode 100644 index 00000000..56560a7a --- /dev/null +++ b/Assets/QuickOutline/Readme.txt.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5933bfd39d7a5b843a0ed821f85bca19 +timeCreated: 1522619008 +licenseType: Store +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources.meta b/Assets/QuickOutline/Resources.meta new file mode 100644 index 00000000..6135a952 --- /dev/null +++ b/Assets/QuickOutline/Resources.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 70fd40674751a8042a8b9b2e8d9f915f +folderAsset: yes +timeCreated: 1522559128 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Materials.meta b/Assets/QuickOutline/Resources/Materials.meta new file mode 100644 index 00000000..2508b0f5 --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 80ac8e52d3c31a94babd161e86bc6b97 +folderAsset: yes +timeCreated: 1522559139 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Materials/OutlineFill.mat b/Assets/QuickOutline/Resources/Materials/OutlineFill.mat new file mode 100644 index 00000000..cb021646 --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials/OutlineFill.mat @@ -0,0 +1,25 @@ +%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: OutlineFill + m_Shader: {fileID: 4800000, guid: 4e76d4023d7e0411297c670f878973e2, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: [] + m_Floats: + - _OutlineWidth: 2 + - _ZTest: 8 + m_Colors: + - _OutlineColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/QuickOutline/Resources/Materials/OutlineFill.mat.meta b/Assets/QuickOutline/Resources/Materials/OutlineFill.mat.meta new file mode 100644 index 00000000..5ea7f694 --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials/OutlineFill.mat.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 311313efa011949e98b6761d652ad13c +timeCreated: 1520576285 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Materials/OutlineMask.mat b/Assets/QuickOutline/Resources/Materials/OutlineMask.mat new file mode 100644 index 00000000..80d49faa --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials/OutlineMask.mat @@ -0,0 +1,23 @@ +%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: OutlineMask + m_Shader: {fileID: 4800000, guid: 341b058cd7dee4f5cba5cc59a513619e, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: [] + m_Floats: + - _ZTest: 8 + m_Colors: [] diff --git a/Assets/QuickOutline/Resources/Materials/OutlineMask.mat.meta b/Assets/QuickOutline/Resources/Materials/OutlineMask.mat.meta new file mode 100644 index 00000000..0f5ed277 --- /dev/null +++ b/Assets/QuickOutline/Resources/Materials/OutlineMask.mat.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 106f3ff43a17d4967a2b64c7a92e49ec +timeCreated: 1520576276 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Shaders.meta b/Assets/QuickOutline/Resources/Shaders.meta new file mode 100644 index 00000000..91118d56 --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6a63caa2b0e993043a42c11f35ff2d1a +folderAsset: yes +timeCreated: 1522559134 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader b/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader new file mode 100644 index 00000000..f546473e --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader @@ -0,0 +1,81 @@ +// +// OutlineFill.shader +// QuickOutline +// +// Created by Chris Nolet on 2/21/18. +// Copyright © 2018 Chris Nolet. All rights reserved. +// + +Shader "Custom/Outline Fill" { + Properties { + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 0 + + _OutlineColor("Outline Color", Color) = (1, 1, 1, 1) + _OutlineWidth("Outline Width", Range(0, 10)) = 2 + } + + SubShader { + Tags { + "Queue" = "Transparent+110" + "RenderType" = "Transparent" + "DisableBatching" = "True" + } + + Pass { + Name "Fill" + Cull Off + ZTest [_ZTest] + ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + ColorMask RGB + + Stencil { + Ref 1 + Comp NotEqual + } + + CGPROGRAM + #include "UnityCG.cginc" + + #pragma vertex vert + #pragma fragment frag + + struct appdata { + float4 vertex : POSITION; + float3 normal : NORMAL; + float3 smoothNormal : TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + float4 position : SV_POSITION; + fixed4 color : COLOR; + UNITY_VERTEX_OUTPUT_STEREO + }; + + uniform fixed4 _OutlineColor; + uniform float _OutlineWidth; + + v2f vert(appdata input) { + v2f output; + + UNITY_SETUP_INSTANCE_ID(input); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + float3 normal = any(input.smoothNormal) ? input.smoothNormal : input.normal; + float3 viewPosition = UnityObjectToViewPos(input.vertex); + float3 viewNormal = normalize(mul((float3x3)UNITY_MATRIX_IT_MV, normal)); + + output.position = UnityViewToClipPos(viewPosition + viewNormal * -viewPosition.z * _OutlineWidth / 1000.0); + output.color = _OutlineColor; + + return output; + } + + fixed4 frag(v2f input) : SV_Target { + return input.color; + } + ENDCG + } + } +} diff --git a/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader.meta b/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader.meta new file mode 100644 index 00000000..408fa9a7 --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders/OutlineFill.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 4e76d4023d7e0411297c670f878973e2 +timeCreated: 1520575782 +licenseType: Store +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader b/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader new file mode 100644 index 00000000..530d8c05 --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader @@ -0,0 +1,33 @@ +// +// OutlineMask.shader +// QuickOutline +// +// Created by Chris Nolet on 2/21/18. +// Copyright © 2018 Chris Nolet. All rights reserved. +// + +Shader "Custom/Outline Mask" { + Properties { + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 0 + } + + SubShader { + Tags { + "Queue" = "Transparent+100" + "RenderType" = "Transparent" + } + + Pass { + Name "Mask" + Cull Off + ZTest [_ZTest] + ZWrite Off + ColorMask 0 + + Stencil { + Ref 1 + Pass Replace + } + } + } +} diff --git a/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader.meta b/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader.meta new file mode 100644 index 00000000..38db7c5c --- /dev/null +++ b/Assets/QuickOutline/Resources/Shaders/OutlineMask.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 341b058cd7dee4f5cba5cc59a513619e +timeCreated: 1520575773 +licenseType: Store +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples.meta b/Assets/QuickOutline/Samples.meta new file mode 100644 index 00000000..7d6c23d0 --- /dev/null +++ b/Assets/QuickOutline/Samples.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 932f8193e5396db4babac4756c406dee +folderAsset: yes +timeCreated: 1522559213 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples/Materials.meta b/Assets/QuickOutline/Samples/Materials.meta new file mode 100644 index 00000000..cb148197 --- /dev/null +++ b/Assets/QuickOutline/Samples/Materials.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2b0040b0ed7fbd64693e9195d13d25f9 +folderAsset: yes +timeCreated: 1522615600 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples/Materials/Plane.mat b/Assets/QuickOutline/Samples/Materials/Plane.mat new file mode 100644 index 00000000..06fa1aa0 --- /dev/null +++ b/Assets/QuickOutline/Samples/Materials/Plane.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: Plane + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + 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: 1 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.2509804, g: 0.2509804, b: 0.5019608, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/QuickOutline/Samples/Materials/Plane.mat.meta b/Assets/QuickOutline/Samples/Materials/Plane.mat.meta new file mode 100644 index 00000000..665a9d65 --- /dev/null +++ b/Assets/QuickOutline/Samples/Materials/Plane.mat.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f58cf65ea995c4b45be95713bdea8134 +timeCreated: 1522540975 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples/Scenes.meta b/Assets/QuickOutline/Samples/Scenes.meta new file mode 100644 index 00000000..7f5c774b --- /dev/null +++ b/Assets/QuickOutline/Samples/Scenes.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3916faa55c6a94248959031ee0ad499f +folderAsset: yes +timeCreated: 1522615614 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity b/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity new file mode 100644 index 00000000..33911b7f --- /dev/null +++ b/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity @@ -0,0 +1,778 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 820273532} + m_IndirectSpecularColor: {r: 0.18028383, g: 0.22571409, b: 0.30692282, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 3 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 2 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &122269556 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 122269561} + - component: {fileID: 122269560} + - component: {fileID: 122269558} + - component: {fileID: 122269557} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &122269557 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122269556} + m_Enabled: 1 +--- !u!124 &122269558 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122269556} + m_Enabled: 1 +--- !u!20 &122269560 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122269556} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &122269561 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122269556} + m_LocalRotation: {x: 0.3420201, y: 0, z: 0, w: 0.9396927} + m_LocalPosition: {x: 0, y: 3, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0} +--- !u!1 &124162633 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 124162634} + - component: {fileID: 124162638} + - component: {fileID: 124162636} + - component: {fileID: 124162635} + m_Layer: 0 + m_Name: Outline Hidden + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &124162634 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124162633} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: 1, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &124162635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124162633} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 2 + outlineColor: {r: 1, g: 0.2509804, b: 0.2509804, a: 1} + outlineWidth: 6 +--- !u!23 &124162636 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124162633} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &124162638 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124162633} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &796971894 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 796971895} + - component: {fileID: 796971899} + - component: {fileID: 796971897} + - component: {fileID: 796971896} + m_Layer: 0 + m_Name: Outline And Silhouette + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &796971895 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 796971894} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: 1, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &796971896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 796971894} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 3 + outlineColor: {r: 0.2509804, g: 1, b: 1, a: 1} + outlineWidth: 6 +--- !u!23 &796971897 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 796971894} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &796971899 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 796971894} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &820273531 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 820273533} + - component: {fileID: 820273532} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &820273532 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820273531} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &820273533 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820273531} + m_LocalRotation: {x: 0.40821788, y: 0.23456976, z: -0.10938167, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: 30, z: 0} +--- !u!1 &935070114 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 935070115} + m_Layer: 0 + m_Name: Outlined Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &935070115 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 935070114} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1781008194} + - {fileID: 124162634} + - {fileID: 1346396411} + - {fileID: 796971895} + - {fileID: 1083549395} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1083549394 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1083549395} + - component: {fileID: 1083549399} + - component: {fileID: 1083549397} + - component: {fileID: 1083549396} + m_Layer: 0 + m_Name: Outline Visible + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1083549395 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1083549394} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1083549396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1083549394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 1 + outlineColor: {r: 0.2509804, g: 1, b: 0.2509804, a: 1} + outlineWidth: 6 +--- !u!23 &1083549397 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1083549394} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1083549399 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1083549394} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1346396410 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1346396411} + - component: {fileID: 1346396415} + - component: {fileID: 1346396413} + - component: {fileID: 1346396412} + m_Layer: 0 + m_Name: Outline All + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1346396411 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1346396410} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1346396412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1346396410} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 0 + outlineColor: {r: 1, g: 1, b: 0.2509804, a: 1} + outlineWidth: 6 +--- !u!23 &1346396413 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1346396410} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1346396415 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1346396410} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1580478821 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1580478825} + - component: {fileID: 1580478824} + - component: {fileID: 1580478822} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1580478822 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1580478821} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f58cf65ea995c4b45be95713bdea8134, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1580478824 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1580478821} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1580478825 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1580478821} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1781008193 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1781008194} + - component: {fileID: 1781008198} + - component: {fileID: 1781008196} + - component: {fileID: 1781008195} + m_Layer: 0 + m_Name: Silhouette Only + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1781008194 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781008193} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 935070115} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1781008195 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781008193} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fea29bb7c508c244a1f805a5fd3fc4d, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMode: 4 + outlineColor: {r: 1, g: 1, b: 1, a: 1} + outlineWidth: 6 +--- !u!23 &1781008196 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781008193} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1781008198 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781008193} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity.meta b/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity.meta new file mode 100644 index 00000000..2e6c9c30 --- /dev/null +++ b/Assets/QuickOutline/Samples/Scenes/QuickOutline.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f23712c79adc910408e872b127e825cf +timeCreated: 1522615825 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Scripts.meta b/Assets/QuickOutline/Scripts.meta new file mode 100644 index 00000000..2f7793d8 --- /dev/null +++ b/Assets/QuickOutline/Scripts.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3ddbd65d69a9f0b48bab4fe96a1fe099 +folderAsset: yes +timeCreated: 1522559122 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/QuickOutline/Scripts/Outline.cs b/Assets/QuickOutline/Scripts/Outline.cs new file mode 100644 index 00000000..26d87882 --- /dev/null +++ b/Assets/QuickOutline/Scripts/Outline.cs @@ -0,0 +1,309 @@ +// +// Outline.cs +// QuickOutline +// +// Created by Chris Nolet on 3/30/18. +// Copyright © 2018 Chris Nolet. All rights reserved. +// + +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +[DisallowMultipleComponent] + +public class Outline : MonoBehaviour { + private static HashSet registeredMeshes = new HashSet(); + + public enum Mode { + OutlineAll, + OutlineVisible, + OutlineHidden, + OutlineAndSilhouette, + SilhouetteOnly + } + + public Mode OutlineMode { + get { return outlineMode; } + set { + outlineMode = value; + needsUpdate = true; + } + } + + public Color OutlineColor { + get { return outlineColor; } + set { + outlineColor = value; + needsUpdate = true; + } + } + + public float OutlineWidth { + get { return outlineWidth; } + set { + outlineWidth = value; + needsUpdate = true; + } + } + + [Serializable] + private class ListVector3 { + public List data; + } + + [SerializeField] + private Mode outlineMode; + + [SerializeField] + private Color outlineColor = Color.white; + + [SerializeField, Range(0f, 10f)] + private float outlineWidth = 2f; + + [Header("Optional")] + + [SerializeField, Tooltip("Precompute enabled: Per-vertex calculations are performed in the editor and serialized with the object. " + + "Precompute disabled: Per-vertex calculations are performed at runtime in Awake(). This may cause a pause for large meshes.")] + private bool precomputeOutline; + + [SerializeField, HideInInspector] + private List bakeKeys = new List(); + + [SerializeField, HideInInspector] + private List bakeValues = new List(); + + private Renderer[] renderers; + private Material outlineMaskMaterial; + private Material outlineFillMaterial; + + private bool needsUpdate; + + void Awake() { + + // Cache renderers + renderers = GetComponentsInChildren(); + + // Instantiate outline materials + outlineMaskMaterial = Instantiate(Resources.Load(@"Materials/OutlineMask")); + outlineFillMaterial = Instantiate(Resources.Load(@"Materials/OutlineFill")); + + outlineMaskMaterial.name = "OutlineMask (Instance)"; + outlineFillMaterial.name = "OutlineFill (Instance)"; + + // Retrieve or generate smooth normals + LoadSmoothNormals(); + + // Apply material properties immediately + needsUpdate = true; + } + + void OnEnable() { + foreach (var renderer in renderers) { + + // Append outline shaders + var materials = renderer.sharedMaterials.ToList(); + + materials.Add(outlineMaskMaterial); + materials.Add(outlineFillMaterial); + + renderer.materials = materials.ToArray(); + } + } + + void OnValidate() { + + // Update material properties + needsUpdate = true; + + // Clear cache when baking is disabled or corrupted + if (!precomputeOutline && bakeKeys.Count != 0 || bakeKeys.Count != bakeValues.Count) { + bakeKeys.Clear(); + bakeValues.Clear(); + } + + // Generate smooth normals when baking is enabled + if (precomputeOutline && bakeKeys.Count == 0) { + Bake(); + } + } + + void Update() { + if (needsUpdate) { + needsUpdate = false; + + UpdateMaterialProperties(); + } + } + + void OnDisable() { + foreach (var renderer in renderers) { + + // Remove outline shaders + var materials = renderer.sharedMaterials.ToList(); + + materials.Remove(outlineMaskMaterial); + materials.Remove(outlineFillMaterial); + + renderer.materials = materials.ToArray(); + } + } + + void OnDestroy() { + + // Destroy material instances + Destroy(outlineMaskMaterial); + Destroy(outlineFillMaterial); + } + + void Bake() { + + // Generate smooth normals for each mesh + var bakedMeshes = new HashSet(); + + foreach (var meshFilter in GetComponentsInChildren()) { + + // Skip duplicates + if (!bakedMeshes.Add(meshFilter.sharedMesh)) { + continue; + } + + // Serialize smooth normals + var smoothNormals = SmoothNormals(meshFilter.sharedMesh); + + bakeKeys.Add(meshFilter.sharedMesh); + bakeValues.Add(new ListVector3() { data = smoothNormals }); + } + } + + void LoadSmoothNormals() { + + // Retrieve or generate smooth normals + foreach (var meshFilter in GetComponentsInChildren()) { + + // Skip if smooth normals have already been adopted + if (!registeredMeshes.Add(meshFilter.sharedMesh)) { + continue; + } + + // Retrieve or generate smooth normals + var index = bakeKeys.IndexOf(meshFilter.sharedMesh); + var smoothNormals = (index >= 0) ? bakeValues[index].data : SmoothNormals(meshFilter.sharedMesh); + + // Store smooth normals in UV3 + meshFilter.sharedMesh.SetUVs(3, smoothNormals); + + // Combine submeshes + var renderer = meshFilter.GetComponent(); + + if (renderer != null) { + CombineSubmeshes(meshFilter.sharedMesh, renderer.sharedMaterials); + } + } + + // Clear UV3 on skinned mesh renderers + foreach (var skinnedMeshRenderer in GetComponentsInChildren()) { + + // Skip if UV3 has already been reset + if (!registeredMeshes.Add(skinnedMeshRenderer.sharedMesh)) { + continue; + } + + // Clear UV3 + skinnedMeshRenderer.sharedMesh.uv4 = new Vector2[skinnedMeshRenderer.sharedMesh.vertexCount]; + + // Combine submeshes + CombineSubmeshes(skinnedMeshRenderer.sharedMesh, skinnedMeshRenderer.sharedMaterials); + } + } + + List SmoothNormals(Mesh mesh) { + + // Group vertices by location + var groups = mesh.vertices.Select((vertex, index) => new KeyValuePair(vertex, index)).GroupBy(pair => pair.Key); + + // Copy normals to a new list + var smoothNormals = new List(mesh.normals); + + // Average normals for grouped vertices + foreach (var group in groups) { + + // Skip single vertices + if (group.Count() == 1) { + continue; + } + + // Calculate the average normal + var smoothNormal = Vector3.zero; + + foreach (var pair in group) { + smoothNormal += smoothNormals[pair.Value]; + } + + smoothNormal.Normalize(); + + // Assign smooth normal to each vertex + foreach (var pair in group) { + smoothNormals[pair.Value] = smoothNormal; + } + } + + return smoothNormals; + } + + void CombineSubmeshes(Mesh mesh, Material[] materials) { + + // Skip meshes with a single submesh + if (mesh.subMeshCount == 1) { + return; + } + + // Skip if submesh count exceeds material count + if (mesh.subMeshCount > materials.Length) { + return; + } + + // Append combined submesh + mesh.subMeshCount++; + mesh.SetTriangles(mesh.triangles, mesh.subMeshCount - 1); + } + + void UpdateMaterialProperties() { + + // Apply properties according to mode + outlineFillMaterial.SetColor("_OutlineColor", outlineColor); + + switch (outlineMode) { + case Mode.OutlineAll: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth); + break; + + case Mode.OutlineVisible: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual); + outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth); + break; + + case Mode.OutlineHidden: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Greater); + outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth); + break; + + case Mode.OutlineAndSilhouette: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always); + outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth); + break; + + case Mode.SilhouetteOnly: + outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual); + outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Greater); + outlineFillMaterial.SetFloat("_OutlineWidth", 0f); + break; + } + } +} diff --git a/Assets/QuickOutline/Scripts/Outline.cs.meta b/Assets/QuickOutline/Scripts/Outline.cs.meta new file mode 100644 index 00000000..ffa272d8 --- /dev/null +++ b/Assets/QuickOutline/Scripts/Outline.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 5fea29bb7c508c244a1f805a5fd3fc4d +timeCreated: 1522369084 +licenseType: Store +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/MAVRIC.GEEKCup/QRCode/Prefabs/course-02.prefab b/Assets/Samples/MAVRIC.GEEKCup/QRCode/Prefabs/course-02.prefab index cd301afa..e2499812 100644 --- a/Assets/Samples/MAVRIC.GEEKCup/QRCode/Prefabs/course-02.prefab +++ b/Assets/Samples/MAVRIC.GEEKCup/QRCode/Prefabs/course-02.prefab @@ -211,11 +211,6 @@ PrefabInstance: propertyPath: m_Enabled value: 0 objectReference: {fileID: 0} - - target: {fileID: 6864179191514092418, guid: 23df27f8eab164f53a62e09b8b7c7325, - type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - target: {fileID: 6864179191514092418, guid: 23df27f8eab164f53a62e09b8b7c7325, type: 3} propertyPath: m_Enabled diff --git a/Assets/Settings/URP-Performant-Renderer.asset b/Assets/Settings/URP-Performant-Renderer.asset index 367206e1..19e57877 100644 --- a/Assets/Settings/URP-Performant-Renderer.asset +++ b/Assets/Settings/URP-Performant-Renderer.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3} m_Name: DebugAxes m_EditorClassIdentifier: - m_Active: 1 + m_Active: 0 settings: passTag: DebugAxes Event: 300 @@ -105,7 +105,9 @@ MonoBehaviour: - {fileID: -2959076149000536660} - {fileID: 4908369937859052871} - {fileID: -8872450466511380829} - m_RendererFeatureMap: 87eaa552b667f42cacfd7d9beb3fefd647854bec73081e44a31e57184fb9de84 + - {fileID: 3402217898498061902} + - {fileID: 1216836307377303569} + m_RendererFeatureMap: 87eaa552b667f42cacfd7d9beb3fefd647854bec73081e44a31e57184fb9de844ef67328271b372f11b005ab2c12e310 m_UseNativeRenderPass: 0 postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2} @@ -131,10 +133,10 @@ MonoBehaviour: m_AssetVersion: 2 m_OpaqueLayerMask: serializedVersion: 2 - m_Bits: 1073742263 + m_Bits: 1073742519 m_TransparentLayerMask: serializedVersion: 2 - m_Bits: 1073742263 + m_Bits: 1073742519 m_DefaultStencilState: overrideStencilState: 0 stencilReference: 0 @@ -148,6 +150,48 @@ MonoBehaviour: m_CopyDepthMode: 0 m_AccurateGbufferNormals: 0 m_IntermediateTextureMode: 1 +--- !u!114 &1216836307377303569 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3} + m_Name: ArrowOpaque + m_EditorClassIdentifier: + m_Active: 1 + settings: + passTag: ArrowOpaque + Event: 300 + filterSettings: + RenderQueueType: 0 + LayerMask: + serializedVersion: 2 + m_Bits: 0 + PassNames: [] + overrideMaterial: {fileID: 0} + overrideMaterialPassIndex: 0 + overrideShader: {fileID: 0} + overrideShaderPassIndex: 0 + overrideMode: 0 + overrideDepthState: 1 + depthCompareFunction: 8 + enableWrite: 1 + stencilSettings: + overrideStencilState: 0 + stencilReference: 0 + stencilCompareFunction: 8 + passOperation: 0 + failOperation: 0 + zFailOperation: 0 + cameraSettings: + overrideCamera: 0 + restoreCamera: 1 + offset: {x: 0, y: 0, z: 0, w: 0} + cameraFieldOfView: 60 --- !u!114 &3239328064754543239 MonoBehaviour: m_ObjectHideFlags: 0 @@ -161,6 +205,48 @@ MonoBehaviour: m_Name: ARBackgroundRendererFeature m_EditorClassIdentifier: m_Active: 1 +--- !u!114 &3402217898498061902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3} + m_Name: ArrowTransparent + m_EditorClassIdentifier: + m_Active: 1 + settings: + passTag: ArrowTransparent + Event: 500 + filterSettings: + RenderQueueType: 1 + LayerMask: + serializedVersion: 2 + m_Bits: 256 + PassNames: [] + overrideMaterial: {fileID: 0} + overrideMaterialPassIndex: 0 + overrideShader: {fileID: 0} + overrideShaderPassIndex: 0 + overrideMode: 0 + overrideDepthState: 1 + depthCompareFunction: 8 + enableWrite: 1 + stencilSettings: + overrideStencilState: 0 + stencilReference: 0 + stencilCompareFunction: 8 + passOperation: 0 + failOperation: 0 + zFailOperation: 0 + cameraSettings: + overrideCamera: 0 + restoreCamera: 1 + offset: {x: 0, y: 0, z: 0, w: 0} + cameraFieldOfView: 60 --- !u!114 &4908369937859052871 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 9986f007..47b0e5a6 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -13,8 +13,8 @@ TagManager: - UI - Ground - Hole - - - - + - Arrow + - Ball - - -