重写画板功能

This commit is contained in:
shenjianxing 2025-02-21 17:26:17 +08:00
parent ca384d4880
commit 8205a21dc7
38 changed files with 7724 additions and 139 deletions

View File

@ -163,6 +163,8 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 2078712266289789712}
- {fileID: 8464573970498514004}
- {fileID: 6174875567737795578} - {fileID: 6174875567737795578}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -183,9 +185,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: ec04d319ffe11bf449631785ba9df2ca, type: 3} m_Script: {fileID: 11500000, guid: ec04d319ffe11bf449631785ba9df2ca, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
brushSize: 5
curLineRender: {fileID: 0}
drawingCamera: {fileID: 0}
Content: {fileID: 6174875567737795578} Content: {fileID: 6174875567737795578}
ClearBtn: {fileID: 2761790485595999517} ClearBtn: {fileID: 2761790485595999517}
BackBtn: {fileID: 8433557736356431636} BackBtn: {fileID: 8433557736356431636}
@ -214,6 +213,8 @@ MonoBehaviour:
Purple: {fileID: 944934755680367845} Purple: {fileID: 944934755680367845}
White: {fileID: 8867501838096098682} White: {fileID: 8867501838096098682}
More: {fileID: 5620078665499499056} More: {fileID: 5620078665499499056}
captureBGImg: {fileID: 1613795782999759057}
RawImg: {fileID: 3350589312635769069}
--- !u!1 &572013391981846340 --- !u!1 &572013391981846340
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1637,6 +1638,81 @@ RectTransform:
m_AnchoredPosition: {x: -5, y: 0} m_AnchoredPosition: {x: -5, y: 0}
m_SizeDelta: {x: -20, y: 0} m_SizeDelta: {x: -20, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &2946848454395154759
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7180294006590658133}
- component: {fileID: 3399216966637598361}
- component: {fileID: 953354374926073932}
m_Layer: 5
m_Name: High
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7180294006590658133
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2946848454395154759}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6022968568929143240}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3399216966637598361
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2946848454395154759}
m_CullTransparentMesh: 1
--- !u!114 &953354374926073932
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2946848454395154759}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &2949142672116166284 --- !u!1 &2949142672116166284
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2096,6 +2172,81 @@ MonoBehaviour:
m_hasFontAssetChanged: 0 m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0} m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3214264869913376332
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 424946210799596842}
- component: {fileID: 3589506011683007123}
- component: {fileID: 3567361910077247806}
m_Layer: 5
m_Name: High
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &424946210799596842
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214264869913376332}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2851153692983092405}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3589506011683007123
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214264869913376332}
m_CullTransparentMesh: 1
--- !u!114 &3567361910077247806
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3214264869913376332}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &3229745376967748629 --- !u!1 &3229745376967748629
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2279,6 +2430,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 3178599570923995982}
- {fileID: 855370577626250940} - {fileID: 855370577626250940}
m_Father: {fileID: 7412521316250416332} m_Father: {fileID: 7412521316250416332}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -2315,7 +2467,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3} m_Sprite: {fileID: 21300000, guid: fa63ae52e51e2064390c2a75c12f664c, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -2383,8 +2535,8 @@ MonoBehaviour:
m_Interactable: 1 m_Interactable: 1
m_TargetGraphic: {fileID: 4742369815896316692} m_TargetGraphic: {fileID: 4742369815896316692}
toggleTransition: 1 toggleTransition: 1
graphic: {fileID: 0} graphic: {fileID: 602940211888916635}
m_Group: {fileID: 0} m_Group: {fileID: 7202142325337995834}
onValueChanged: onValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
@ -2797,6 +2949,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 424946210799596842}
- {fileID: 7453738440835143557} - {fileID: 7453738440835143557}
m_Father: {fileID: 7412521316250416332} m_Father: {fileID: 7412521316250416332}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -2833,7 +2986,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3} m_Sprite: {fileID: 21300000, guid: fa63ae52e51e2064390c2a75c12f664c, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -2901,12 +3054,12 @@ MonoBehaviour:
m_Interactable: 1 m_Interactable: 1
m_TargetGraphic: {fileID: 4056458425351753090} m_TargetGraphic: {fileID: 4056458425351753090}
toggleTransition: 1 toggleTransition: 1
graphic: {fileID: 0} graphic: {fileID: 3567361910077247806}
m_Group: {fileID: 0} m_Group: {fileID: 7202142325337995834}
onValueChanged: onValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_IsOn: 0 m_IsOn: 1
--- !u!1 &3862502868167865123 --- !u!1 &3862502868167865123
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2982,6 +3135,81 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!1 &4127848981070780356
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 667363367259339701}
- component: {fileID: 2893307027359544606}
- component: {fileID: 7579419578564713265}
m_Layer: 5
m_Name: High
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &667363367259339701
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127848981070780356}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7767574036867681555}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2893307027359544606
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127848981070780356}
m_CullTransparentMesh: 1
--- !u!114 &7579419578564713265
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4127848981070780356}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &4349196501183961206 --- !u!1 &4349196501183961206
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3276,6 +3504,7 @@ GameObject:
m_Component: m_Component:
- component: {fileID: 7412521316250416332} - component: {fileID: 7412521316250416332}
- component: {fileID: 5464280819655811615} - component: {fileID: 5464280819655811615}
- component: {fileID: 7202142325337995834}
m_Layer: 0 m_Layer: 0
m_Name: Tools m_Name: Tools
m_TagString: Untagged m_TagString: Untagged
@ -3335,6 +3564,19 @@ MonoBehaviour:
m_ChildScaleWidth: 0 m_ChildScaleWidth: 0
m_ChildScaleHeight: 0 m_ChildScaleHeight: 0
m_ReverseArrangement: 0 m_ReverseArrangement: 0
--- !u!114 &7202142325337995834
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4739033406649248746}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_AllowSwitchOff: 0
--- !u!1 &4739430399473920623 --- !u!1 &4739430399473920623
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3807,7 +4049,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100} m_SizeDelta: {x: 25, y: 25}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3633560260765487631 --- !u!222 &3633560260765487631
CanvasRenderer: CanvasRenderer:
@ -4005,7 +4247,7 @@ MonoBehaviour:
onValueChanged: onValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_IsOn: 0 m_IsOn: 1
--- !u!1 &5443069704221227879 --- !u!1 &5443069704221227879
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -4081,6 +4323,81 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!1 &5554419471989939028
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 335895489554497158}
- component: {fileID: 8063643869927294067}
- component: {fileID: 2313678813063783700}
m_Layer: 5
m_Name: High
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &335895489554497158
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5554419471989939028}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9168644048813126771}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8063643869927294067
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5554419471989939028}
m_CullTransparentMesh: 1
--- !u!114 &2313678813063783700
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5554419471989939028}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &5624545757960168815 --- !u!1 &5624545757960168815
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -4553,6 +4870,81 @@ MonoBehaviour:
m_hasFontAssetChanged: 0 m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0} m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5888415597862934881
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3178599570923995982}
- component: {fileID: 7758770398110436052}
- component: {fileID: 602940211888916635}
m_Layer: 5
m_Name: High
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3178599570923995982
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5888415597862934881}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4694955091425651754}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7758770398110436052
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5888415597862934881}
m_CullTransparentMesh: 1
--- !u!114 &602940211888916635
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5888415597862934881}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &5928598515114351978 --- !u!1 &5928598515114351978
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -4803,6 +5195,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 667363367259339701}
- {fileID: 1239929523917251660} - {fileID: 1239929523917251660}
m_Father: {fileID: 7412521316250416332} m_Father: {fileID: 7412521316250416332}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -4839,7 +5232,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3} m_Sprite: {fileID: 21300000, guid: fa63ae52e51e2064390c2a75c12f664c, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -4907,8 +5300,8 @@ MonoBehaviour:
m_Interactable: 1 m_Interactable: 1
m_TargetGraphic: {fileID: 549781701689889145} m_TargetGraphic: {fileID: 549781701689889145}
toggleTransition: 1 toggleTransition: 1
graphic: {fileID: 0} graphic: {fileID: 7579419578564713265}
m_Group: {fileID: 0} m_Group: {fileID: 7202142325337995834}
onValueChanged: onValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
@ -6031,6 +6424,81 @@ MonoBehaviour:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_IsOn: 0 m_IsOn: 0
--- !u!1 &7149630342669133732
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5330586322815630355}
- component: {fileID: 3518269810611240633}
- component: {fileID: 1510141012094268438}
m_Layer: 5
m_Name: High
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5330586322815630355
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7149630342669133732}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9208424462908435099}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3518269810611240633
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7149630342669133732}
m_CullTransparentMesh: 1
--- !u!114 &1510141012094268438
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7149630342669133732}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &7234671595025710699 --- !u!1 &7234671595025710699
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -6210,6 +6678,95 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -20, y: 0} m_SizeDelta: {x: -20, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &7458362517572896503
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8464573970498514004}
- component: {fileID: 2454734828434235417}
- component: {fileID: 3350589312635769069}
- component: {fileID: 2503292002956440930}
m_Layer: 0
m_Name: RawImg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8464573970498514004
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7458362517572896503}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5248266707218333243}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2454734828434235417
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7458362517572896503}
m_CullTransparentMesh: 1
--- !u!114 &3350589312635769069
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7458362517572896503}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &2503292002956440930
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7458362517572896503}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3}
m_Name:
m_EditorClassIdentifier:
MarkType: 0
CustomComponentName: RawImg
CustomComment:
mComponentName: UnityEngine.UI.RawImage
--- !u!1 &7680002658818757439 --- !u!1 &7680002658818757439
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -6836,6 +7393,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 5330586322815630355}
- {fileID: 4576720201692618566} - {fileID: 4576720201692618566}
m_Father: {fileID: 7412521316250416332} m_Father: {fileID: 7412521316250416332}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -6872,7 +7430,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3} m_Sprite: {fileID: 21300000, guid: fa63ae52e51e2064390c2a75c12f664c, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -6940,8 +7498,8 @@ MonoBehaviour:
m_Interactable: 1 m_Interactable: 1
m_TargetGraphic: {fileID: 8708082608090175244} m_TargetGraphic: {fileID: 8708082608090175244}
toggleTransition: 1 toggleTransition: 1
graphic: {fileID: 0} graphic: {fileID: 1510141012094268438}
m_Group: {fileID: 0} m_Group: {fileID: 7202142325337995834}
onValueChanged: onValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
@ -7325,6 +7883,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 335895489554497158}
- {fileID: 5644490276385856183} - {fileID: 5644490276385856183}
m_Father: {fileID: 7412521316250416332} m_Father: {fileID: 7412521316250416332}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -7361,7 +7920,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3} m_Sprite: {fileID: 21300000, guid: fa63ae52e51e2064390c2a75c12f664c, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -7429,12 +7988,101 @@ MonoBehaviour:
m_Interactable: 1 m_Interactable: 1
m_TargetGraphic: {fileID: 1055704508968882915} m_TargetGraphic: {fileID: 1055704508968882915}
toggleTransition: 1 toggleTransition: 1
graphic: {fileID: 0} graphic: {fileID: 2313678813063783700}
m_Group: {fileID: 0} m_Group: {fileID: 7202142325337995834}
onValueChanged: onValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_IsOn: 0 m_IsOn: 0
--- !u!1 &9026681446266909274
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2078712266289789712}
- component: {fileID: 4203400533541016689}
- component: {fileID: 1613795782999759057}
- component: {fileID: 6963567155190258790}
m_Layer: 5
m_Name: captureBGImg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &2078712266289789712
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9026681446266909274}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5248266707218333243}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4203400533541016689
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9026681446266909274}
m_CullTransparentMesh: 0
--- !u!114 &1613795782999759057
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9026681446266909274}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 0490854394524a04cbe2ab86ebb3d15c, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &6963567155190258790
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9026681446266909274}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3}
m_Name:
m_EditorClassIdentifier:
MarkType: 0
CustomComponentName: captureBGImg
CustomComment:
mComponentName: UnityEngine.UI.RawImage
--- !u!1 &9115070230892303343 --- !u!1 &9115070230892303343
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -7467,6 +8115,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 7180294006590658133}
- {fileID: 3975216215054879025} - {fileID: 3975216215054879025}
m_Father: {fileID: 7412521316250416332} m_Father: {fileID: 7412521316250416332}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -7503,7 +8152,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 8c77a2052664d0d4e9be892444deddd1, type: 3} m_Sprite: {fileID: 21300000, guid: fa63ae52e51e2064390c2a75c12f664c, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -7571,8 +8220,8 @@ MonoBehaviour:
m_Interactable: 1 m_Interactable: 1
m_TargetGraphic: {fileID: 4496865493521337947} m_TargetGraphic: {fileID: 4496865493521337947}
toggleTransition: 1 toggleTransition: 1
graphic: {fileID: 0} graphic: {fileID: 953354374926073932}
m_Group: {fileID: 0} m_Group: {fileID: 7202142325337995834}
onValueChanged: onValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []

8
Assets/Draw.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bd538c372611ede46a4389a4ef8ba9cb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7be60a2437157b749bc25c72427f35d5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 919 B

View File

@ -0,0 +1,91 @@
fileFormatVersion: 2
guid: 45b6d471659424c4f88c4aa6112e1bd3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 79520199945d34148a54066eb2e001bc
timeCreated: 1575620920
licenseType: Pro
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c41c94f41a0a95d49b97d88fd9327cef
folderAsset: yes
timeCreated: 1575447409
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,63 @@
Shader "Unlit/BrushIcon"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_Color("Color",Color)=(0,0,0,1)
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
ZTest Always Cull Off ZWrite Off Fog{ Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
UNITY_FOG_COORDS(1)
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
fixed4 _Color;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
// apply fog
UNITY_APPLY_FOG(i.fogCoord, col);
fixed4 color=_Color;
col.rgb=1;
col*=color;
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 6ad73eaed0c4f374a8948ba16a866634
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,83 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: BrushIconMat
m_Shader: {fileID: 4800000, guid: 6ad73eaed0c4f374a8948ba16a866634, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
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_Ints: []
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, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d9be9b56f48ab1d478231a9ac3c2b666
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,85 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: CaptureBGMat
m_Shader: {fileID: 4800000, guid: a48b37570e9694f4388befba363bc962, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BrushTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _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
- _Size: 1
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Transp: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.2205882, g: 0.20436849, b: 0.20436849, a: 0.503}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _Rect: {r: 0, g: 0, b: 1, a: 1}
- _UV: {r: 0, g: 0, b: 0, a: 0}

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 0490854394524a04cbe2ab86ebb3d15c
timeCreated: 1575517239
licenseType: Pro
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,68 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unlit/CaptureGray"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_Color("Color",Color)=(1,1,1,1)
//_OutRegionTex ("OutRegionTexture", 2D) = "white" {}
//_LeftDownConner("UV",Vector)=(0,0,0,0)
//_RightUpConner("UV",Vector)=(0,0,0,0)
_Rect("Rect",Vector)=(0,0,1,1)
}
SubShader
{
Tags { "RenderType"="Transparent" }
LOD 100
ZTest Always Cull Off ZWrite Off Fog{ Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
//Blend One DstColor
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;
};
sampler2D _MainTex;
float4 _MainTex_ST;
//fixed4 _LeftDownConner;
//fixed4 _RightUpConner;
fixed4 _Rect;
fixed4 _Color;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
fixed4 col =_Color;
float2 uv = i.uv ;
if(uv.x> _Rect.x&&uv.x< _Rect.z && uv.y> _Rect.y&&uv.y< _Rect.w)
col.a = 0;
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: a48b37570e9694f4388befba363bc962
timeCreated: 1575611893
licenseType: Pro
ShaderImporter:
externalObjects: {}
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,56 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unlit/ClearBrush"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
ZTest Always Cull Off ZWrite Off Fog{ Mode Off }
Blend One DstColor
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;
};
sampler2D _MainTex;
float4 _MainTex_ST;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
col = 0;
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 914277ceb0abbd24f8b6d9ef1d036232
timeCreated: 1575447443
licenseType: Pro
ShaderImporter:
externalObjects: {}
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,86 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unlit/EraserBrush"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_BrushTex("Brush Texture",2D)= "white" {}
_Color("Color",Color)=(1,1,1,1)
_UV("UV",Vector)=(0,0,0,0)
_Size("Size",Range(1,1000))=1
_SizeY("SizeY",Range(1,1000))=1
}
SubShader
{
Tags { "RenderType"="Transparent" }
LOD 100
ZTest Always Cull Off ZWrite Off Fog{ Mode Off }
Blend Off
//Blend One DstColor
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;
};
sampler2D _MainTex;
float4 _MainTex_ST;
sampler2D _BrushTex;
fixed4 _UV;
float _Size;
float _SizeY;
fixed4 _Color;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
float size = _Size;
float2 uv = i.uv + (0.5f / size);
uv = uv - _UV.xy;
uv *= size;
float sizeY = _SizeY;
uv.y=uv.y*sizeY/size;
float cirle = pow(uv.x-0.5f, 2)+pow(uv.y-0.5f*sizeY/size, 2);
if(cirle>0.25f)
discard;
fixed4 col = tex2D(_BrushTex,uv);
col.rgb = 1;
col *= _Color;
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: e21211aad6317ba438958cafe3bbc621
timeCreated: 1575545892
licenseType: Pro
ShaderImporter:
externalObjects: {}
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,81 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unlit/PaintBrush"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_BrushTex("Brush Texture",2D)= "white" {}
_Color("Color",Color)=(1,1,1,1)
_UV("UV",Vector)=(0,0,0,0)
_Size("Size",Range(1,1000))=1
_SizeY("SizeY",Range(1,1000))=1
}
SubShader
{
Tags { "RenderType"="Transparent" }
LOD 100
ZTest Always Cull Off ZWrite Off Fog{ Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
//Blend One DstColor
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;
};
sampler2D _MainTex;
float4 _MainTex_ST;
sampler2D _BrushTex;
fixed4 _UV;
float _Size;
float _SizeY;
fixed4 _Color;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
float size = _Size;
float2 uv = i.uv + (0.5f / size);
uv = uv - _UV.xy;
uv *= size;
float sizeY = _SizeY;
uv.y=uv.y*sizeY/size;
fixed4 col = tex2D(_BrushTex,uv);
col.rgb = 1;
col *= _Color;
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 5a1d0a91d22cbad448c70ea8be65d261
timeCreated: 1575447443
licenseType: Pro
ShaderImporter:
externalObjects: {}
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 65913fb5fa490a5419b2807fc55348de
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,140 @@
fileFormatVersion: 2
guid: db4a67f07ed284f48b1c84975dacbd91
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 1
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Draw/Scripts.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 358f091379c297d4cacfa04f20e1d0e8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,194 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GraffitiSettingView : MonoBehaviour
{
public GameObject ViewRootNode;
public Slider BrushSizeSlider;
public Slider EraserSizeSlider;
public Image BrushUIIcon;
public Image EraserUIIcon;
public Button SaveButton;
public Button EraserButton;
public Button PaintButton;
public Text Tip;
[Range(0,1)]
public float DefaultBrushSliderValue;
[Range(0, 1)]
public float DefaultEraserSliderValue;
public Color DefaultBrushColor;
public RawImage EraserIcon;
void Start () {
DefaultBrushSliderValue = 1-(PaintingParams.BrushDefaultSize- PaintingParams.BrushSizeMaxValue) /PaintingParams.BrushSizeFactor;
DefaultEraserSliderValue = 1 - (PaintingParams.EraserDefaultSize - PaintingParams.EraserSizeMaxValue) / PaintingParams.EraserSizeFactor;
DefaultBrushColor = new Color(0, 0, 0, 1);
ScreenShotPainter.instance.FinishedRegionEvent.AddListener(() =>
{
ViewRootNode.SetActive(true);
});
ScreenShotPainter.instance.CannelRegionEvent.AddListener(() =>
{
ViewRootNode.SetActive(false);
});
ScreenShotPainter.instance.FinishedCapture.AddListener(() =>
{
ViewRootNode.SetActive(false);
Tip.gameObject.SetActive(false);
});
ScreenShotPainter.instance.EnterCaptureModeEvent.AddListener(() =>
{
InitBrushUI();
InitEraserUI();
Tip.gameObject.SetActive(true);
});
ScreenShotPainter.instance.EscapeCaptureEvent.AddListener(() =>
{
ViewRootNode.SetActive(false);
Tip.gameObject.SetActive(false);
EraserIcon.gameObject.SetActive(false);
});
ScreenShotPainter.instance.EraserModeUpdateEvent.AddListener(EraserIconUpdate);
}
// Update is called once per frame
void Update () {
}
public void ChangeBrushColor(Color color)
{
BrushUIIcon.material.SetColor("_Color", color);
ScreenShotPainter.instance.SetPaintColor(color);
}
public void OnBrushSliderValueChange()
{
float size = PaintingParams.BrushSizeMaxValue + (1-BrushSizeSlider.value) * PaintingParams.BrushSizeFactor;
//ScreenShotPainter.instance.SetPaintingSize(size);
float sizeY = ((float)Screen.height / (float)Screen.width) * size;
ScreenShotPainter.instance.SetPaintingSize(size, sizeY);
float width = Screen.width / size;
float height = Screen.width / size;//不缩放y轴了
BrushUIIcon.transform.localScale = new Vector3(width / BrushUIIcon.rectTransform.rect.width, height / BrushUIIcon.rectTransform.rect.height, 1);
}
public void OnEraserSliderValueChange()
{
float size = PaintingParams.EraserSizeMaxValue + (1 - EraserSizeSlider.value) * PaintingParams.EraserSizeFactor;
float sizeY = ((float)Screen.height / (float)Screen.width) * size;
ScreenShotPainter.instance.SetEraserSize(size, sizeY);
float width = Screen.width / size;
float height = Screen.width / size;//不缩放y轴了
EraserUIIcon.transform.localScale = new Vector3(width / EraserUIIcon.rectTransform.rect.width, height / EraserUIIcon.rectTransform.rect.height, 1);
}
public void SaveScreenShot()
{
ScreenShotPainter.instance.SaveCapture();
ViewRootNode.SetActive(false);
Tip.gameObject.SetActive(false);
}
public void ChangeToEraserBtn()
{
BrushSizeSlider.gameObject.SetActive(false);
BrushUIIcon.gameObject.SetActive(false);
EraserSizeSlider.gameObject.SetActive(true);
EraserUIIcon.gameObject.SetActive(true);
ScreenShotPainter.instance.ChangeToEraser(true);
}
public void ChangeToPaintBtn()
{
BrushSizeSlider.gameObject.SetActive(true);
BrushUIIcon.gameObject.SetActive(true);
EraserSizeSlider.gameObject.SetActive(false);
EraserUIIcon.gameObject.SetActive(false);
ScreenShotPainter.instance.ChangeToEraser(false);
}
public void EraserIconUpdate(bool show)
{
if (show)
{
EraserIcon.rectTransform.anchoredPosition=new Vector2(Input.mousePosition.x, Input.mousePosition.y);
//大小
float size = PaintingParams.EraserSizeMaxValue + (1 - EraserSizeSlider.value) * PaintingParams.EraserSizeFactor;
float width = Screen.width/ size;
float height = Screen.width / size;//不缩放y轴了
EraserIcon.transform.localScale=new Vector3(width/EraserIcon.rectTransform.rect.width, height / EraserIcon.rectTransform.rect.height,1);
//EraserIcon.transform.localScale=new Vector3(300/width);
EraserIcon.gameObject.SetActive(true);
}
else
{
EraserIcon.gameObject.SetActive(false);
}
}
/// <summary>
/// 初始化画笔
/// </summary>
public void InitBrushUI()
{
BrushUIIcon.material.SetColor("_Color", DefaultBrushColor);
ScreenShotPainter.instance.SetPaintColor(DefaultBrushColor);
BrushSizeSlider.value = DefaultBrushSliderValue;
float size = PaintingParams.BrushSizeMaxValue + (1 - DefaultBrushSliderValue) * PaintingParams.BrushSizeFactor;
//ScreenShotPainter.instance.SetPaintingSize(size);
float sizeY = ((float)Screen.height / (float)Screen.width) * size;
ScreenShotPainter.instance.SetPaintingSize(size, sizeY);
float width = Screen.width / size;
float height = Screen.width / size;//不缩放y轴了
BrushUIIcon.transform.localScale = new Vector3(width / BrushUIIcon.rectTransform.rect.width, height / BrushUIIcon.rectTransform.rect.height, 1);
BrushSizeSlider.gameObject.SetActive(true);
BrushUIIcon.gameObject.SetActive(true);
}
/// <summary>
/// 初始化橡皮擦
/// </summary>
public void InitEraserUI()
{
EraserSizeSlider.value = DefaultEraserSliderValue;
float size = PaintingParams.EraserSizeMaxValue + (1 - DefaultEraserSliderValue) * PaintingParams.EraserSizeFactor;
//ScreenShotPainter.instance.SetPaintingSize(size);
float sizeY = ((float)Screen.height / (float)Screen.width) * size;
ScreenShotPainter.instance.SetEraserSize(size, sizeY);
float width = Screen.width / size;
float height = Screen.width / size;//不缩放y轴了
EraserUIIcon.transform.localScale = new Vector3(width / EraserUIIcon.rectTransform.rect.width, height / EraserUIIcon.rectTransform.rect.height, 1);
EraserUIIcon.gameObject.SetActive(false);
EraserSizeSlider.gameObject.SetActive(false);
}
}

View File

@ -0,0 +1,13 @@
fileFormatVersion: 2
guid: 2a66f3e5857929944836f4346e9b1476
timeCreated: 1575447009
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
fileFormatVersion: 2
guid: 79b0867c9de34f244993591484ca0dfb
timeCreated: 1575706423
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TestGraffitiComponent : MonoBehaviour
{
public bool isFullScreen;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void FullScreenGraffiti()
{
ScreenShotPainter.instance.SwitchOn(true);
}
public void FreeScreenGraffiti()
{
ScreenShotPainter.instance.SwitchOn(false);
}
}

View File

@ -0,0 +1,13 @@
fileFormatVersion: 2
guid: 20b5c33222cb1134ca378a897b59b851
timeCreated: 1575460289
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

1501
Assets/Draw/Test.unity Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: f1f73df32e71233469be718fcff1f704
timeCreated: 1575453536
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -366,6 +366,7 @@ GameObject:
- component: {fileID: 555070718} - component: {fileID: 555070718}
- component: {fileID: 555070717} - component: {fileID: 555070717}
- component: {fileID: 555070720} - component: {fileID: 555070720}
- component: {fileID: 555070721}
m_Layer: 0 m_Layer: 0
m_Name: DrawCamera m_Name: DrawCamera
m_TagString: Untagged m_TagString: Untagged
@ -498,6 +499,24 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
self: {fileID: 0} self: {fileID: 0}
lineRenderer: {fileID: 612188240} lineRenderer: {fileID: 612188240}
--- !u!114 &555070721
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 555070715}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79b0867c9de34f244993591484ca0dfb, type: 3}
m_Name:
m_EditorClassIdentifier:
_defaultColor: {r: 0, g: 0, b: 0, a: 1}
_paintCanvasImg: {fileID: 0}
_brushSize: 300
_eraserSize: 300
_rectColor: {r: 1, g: 0, b: 0, a: 1}
_captureWithUI: 0
--- !u!1 &612188238 --- !u!1 &612188238
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -5,7 +5,7 @@ using QFramework;
namespace QFramework.Example namespace QFramework.Example
{ {
// Generate Id:8c5ec0b4-a1fd-4da0-8a13-2042597989ea // Generate Id:fa83cbd2-4e57-43de-97e7-b9a5b8e8da19
public partial class UIDraw public partial class UIDraw
{ {
public const string Name = "UIDraw"; public const string Name = "UIDraw";
@ -66,6 +66,10 @@ namespace QFramework.Example
public UnityEngine.UI.Toggle White; public UnityEngine.UI.Toggle White;
[SerializeField] [SerializeField]
public UnityEngine.UI.Image More; public UnityEngine.UI.Image More;
[SerializeField]
public UnityEngine.UI.RawImage captureBGImg;
[SerializeField]
public UnityEngine.UI.RawImage RawImg;
private UIDrawData mPrivateData = null; private UIDrawData mPrivateData = null;
@ -99,6 +103,8 @@ namespace QFramework.Example
Purple = null; Purple = null;
White = null; White = null;
More = null; More = null;
captureBGImg = null;
RawImg = null;
mData = null; mData = null;
} }

View File

@ -3,11 +3,9 @@ using UnityEngine.UI;
using QFramework; using QFramework;
using System.IO; using System.IO;
using UnityEngine.Rendering.Universal; using UnityEngine.Rendering.Universal;
using static UnityEngine.GraphicsBuffer;
using TMPro; using TMPro;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using DG.Tweening; using DG.Tweening;
using static UnityEngine.Rendering.DebugUI;
namespace QFramework.Example namespace QFramework.Example
{ {
@ -17,37 +15,11 @@ namespace QFramework.Example
public partial class UIDraw : UIPanel public partial class UIDraw : UIPanel
{ {
public int brushSize = 5;
public LineRenderer curLineRender;
private bool isDrawing = false;
public Camera drawingCamera; // 用于指定绘制使用的相机
public Plane drawingPlane; // 定义绘制平面
Color eraserColor = new Color(1, 1, 1, 0);
enum Tools
{
Pen,
Eraser,
}
Tools curTool = Tools.Pen;
int orderLayer = 0;
protected override void OnInit(IUIData uiData = null) protected override void OnInit(IUIData uiData = null)
{ {
mData = uiData as UIDrawData ?? new UIDrawData(); mData = uiData as UIDrawData ?? new UIDrawData();
// 获取绘制相机
drawingCamera = DrawController.instance.self;
if (drawingCamera == null)
{
Debug.LogError("Drawing camera is not assigned!");
return;
}
// 定义绘制平面,这里假设平面的法线为相机的正前方,距离相机为 10 个单位
drawingPlane = new Plane(drawingCamera.transform.forward, drawingCamera.transform.position + drawingCamera.transform.forward * 10);
// ¹Ø±Õ°´Å¥¼àÌý // ¹Ø±Õ°´Å¥¼àÌý
@ -112,42 +84,61 @@ namespace QFramework.Example
BackBtn.onClick.AddListener(() => BackBtn.onClick.AddListener(() =>
{ {
orderLayer--; ScreenShotPainter.instance.Undo();
DrawController.instance.Remove();
}); });
ClearBtn.onClick.AddListener(() => ClearBtn.onClick.AddListener(() =>
{ {
ScreenShotPainter.instance.Clear();
orderLayer = 0;
DrawController.instance.Clear();
}); });
Pen.onValueChanged.AddListener(isOn => Pen.onValueChanged.AddListener(isOn =>
{ {
curTool = Tools.Pen; if (isOn)
{
ScreenShotPainter.instance.SetStatus(ScreenShotPainter.Status.Pen);
}
}); });
Eraser.onValueChanged.AddListener(isOn => Eraser.onValueChanged.AddListener(isOn =>
{ {
curTool = Tools.Eraser; if (isOn)
{
ScreenShotPainter.instance.SetStatus(ScreenShotPainter.Status.Eraser);
}
});
Line.onValueChanged.AddListener(isOn =>
{
if (isOn)
{
ScreenShotPainter.instance.SetStatus(ScreenShotPainter.Status.Line);
}
}); });
RefreshAlphaSet();
RefreshPenSize();
} }
public void ChangeColor(Color color) public void ChangeColor(Color color)
{ {
Icon.color = new Color(color.r, color.g, color.b, Icon.color.a); Icon.color = new Color(color.r, color.g, color.b, Icon.color.a);
ScreenShotPainter.instance.SetPaintColor(Icon.color);
} }
public void RefreshPenSize() public void RefreshPenSize()
{ {
var value = PenSizeSlider.value; var normalValue = PenSizeSlider.value / PenSizeSlider.maxValue;
float mappedValue = (100f * (value)) / 32f; float size = PaintingParams.BrushSizeMaxValue + (1 - normalValue) * PaintingParams.BrushSizeFactor;
// 设置 UI 的长宽 //ScreenShotPainter.instance.SetPaintingSize(size);
Icon.rectTransform.sizeDelta = new Vector2(mappedValue, mappedValue);
Penvalue.text = value.ToString(); float sizeY = ((float)Screen.height / (float)Screen.width) * size;
ScreenShotPainter.instance.SetPaintingSize(size, sizeY);
float width = Screen.width / size;
float height = Screen.width / size;//²»Ëõ·ÅyÖáÁË
Icon.transform.localScale = new Vector3(width / Icon.rectTransform.rect.width, height / Icon.rectTransform.rect.height, 1);
Penvalue.text = PenSizeSlider.value.ToString();
} }
public void RefreshAlphaSet() public void RefreshAlphaSet()
@ -168,28 +159,6 @@ namespace QFramework.Example
} }
private void SetupLineRenderer()
{
orderLayer++;
switch (curTool)
{
case Tools.Pen:
curLineRender.startColor = Icon.color;
curLineRender.endColor = Icon.color;
break;
case Tools.Eraser:
curLineRender.startColor = eraserColor;
curLineRender.endColor = eraserColor;
break;
}
curLineRender.startWidth = brushSize / 50f;
curLineRender.endWidth = brushSize / 50f;
curLineRender.positionCount = 0;
curLineRender.useWorldSpace = true; // 使用世界坐标系
curLineRender.material.renderQueue = 3000; // 设置较高的渲染队列值,确保置顶显示
curLineRender.sortingOrder = orderLayer;
}
void Update() void Update()
{ {
@ -200,57 +169,8 @@ namespace QFramework.Example
AlphaValue.gameObject.SetActive(false); AlphaValue.gameObject.SetActive(false);
} }
if (EventSystem.current.IsPointerOverGameObject() == false)
{
HandleDrawingInput();
HandleSaveClearColorInput();
}
} }
private void HandleDrawingInput()
{
if (Input.GetMouseButtonDown(0))
{
isDrawing = true;
curLineRender = DrawController.instance.LineRendererFactory();
SetupLineRenderer();
curLineRender.positionCount = 0;
}
if (Input.GetMouseButtonUp(0))
{
isDrawing = false;
curLineRender = null;
}
if (isDrawing)
{
Ray ray = drawingCamera.ScreenPointToRay(Input.mousePosition);
float enter;
if (drawingPlane.Raycast(ray, out enter))
{
Vector3 drawPoint = ray.GetPoint(enter);
if (ShouldAddNewPoint(drawPoint))
{
AddPointToLineRenderer(drawPoint);
}
Debug.DrawRay(ray.origin, ray.direction * enter, Color.red);
}
}
}
private bool ShouldAddNewPoint(Vector3 drawPoint)
{
return curLineRender.positionCount == 0 ||
Vector3.Distance(drawPoint, curLineRender.GetPosition(curLineRender.positionCount - 1)) > 0.1f;
}
private void AddPointToLineRenderer(Vector3 drawPoint)
{
curLineRender.positionCount++;
curLineRender.SetPosition(curLineRender.positionCount - 1, drawPoint);
}
private void HandleSaveClearColorInput() private void HandleSaveClearColorInput()
{ {
@ -276,6 +196,11 @@ namespace QFramework.Example
{ {
Show3DCamera.instance.lockMove = true; Show3DCamera.instance.lockMove = true;
DrawController.instance.gameObject.SetActive(true); DrawController.instance.gameObject.SetActive(true);
ScreenShotPainter.instance.Init(RawImg, captureBGImg);
ScreenShotPainter.instance.SwitchOn(true);
ScreenShotPainter.instance.SetPaintColor(Icon.color);
RefreshAlphaSet();
RefreshPenSize();
} }
protected override void OnShow() protected override void OnShow()