This commit is contained in:
李浩 2025-02-18 17:31:47 +08:00
commit 4fe8f3693c
65 changed files with 18681 additions and 122 deletions

View File

@ -0,0 +1,439 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2125630271001386841
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3757608316288059836}
- component: {fileID: 9054926475848466949}
m_Layer: 0
m_Name: UI3DObjSelect
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3757608316288059836
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2125630271001386841}
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:
- {fileID: 7069376765433692083}
- {fileID: 8853058799213559304}
m_Father: {fileID: 0}
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!114 &9054926475848466949
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2125630271001386841}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: def3eef7c485d1a4c910ae6d40e127cf, type: 3}
m_Name:
m_EditorClassIdentifier:
Content: {fileID: 7069376765433692083}
BtnItem: {fileID: 6574349689579670411}
--- !u!1 &3516537424630744472
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3590387809349625501}
- component: {fileID: 4916727311487902506}
- component: {fileID: 4015390979414886710}
- component: {fileID: 6574349689579670411}
- component: {fileID: 3394718864618735294}
m_Layer: 0
m_Name: BtnItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3590387809349625501
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3516537424630744472}
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:
- {fileID: 2637009452797290299}
m_Father: {fileID: 8853058799213559304}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 50, y: -120.703735}
m_SizeDelta: {x: 219, y: 219}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4916727311487902506
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3516537424630744472}
m_CullTransparentMesh: 1
--- !u!114 &4015390979414886710
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3516537424630744472}
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: 4562cca1cd0afc74499be125a533a0e3, 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!114 &6574349689579670411
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3516537424630744472}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 2
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 21300000, guid: 7a510139f381bce4aa79f8920e5a61dc, type: 3}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 4015390979414886710}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &3394718864618735294
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3516537424630744472}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3}
m_Name:
m_EditorClassIdentifier:
MarkType: 0
CustomComponentName: Prefab
CustomComment:
mComponentName: UnityEngine.UI.Button
--- !u!1 &4996385403881088040
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7069376765433692083}
- component: {fileID: 8639447311258167166}
- component: {fileID: 8275426332140666664}
m_Layer: 0
m_Name: Content
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7069376765433692083
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4996385403881088040}
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: 3757608316288059836}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -25.203735}
m_SizeDelta: {x: 1173, y: 694.8074}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8639447311258167166
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4996385403881088040}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 91
m_Bottom: 0
m_ChildAlignment: 4
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 219, y: 219}
m_Spacing: {x: 50, y: 50.65}
m_Constraint: 0
m_ConstraintCount: 2
--- !u!114 &8275426332140666664
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4996385403881088040}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3}
m_Name:
m_EditorClassIdentifier:
MarkType: 0
CustomComponentName: Content
CustomComment:
mComponentName: RectTransform
--- !u!1 &5722327916698878822
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8853058799213559304}
m_Layer: 0
m_Name: Prefabs
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &8853058799213559304
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5722327916698878822}
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:
- {fileID: 3590387809349625501}
m_Father: {fileID: 3757608316288059836}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &8694994398665952027
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2637009452797290299}
- component: {fileID: 1822324956339504325}
- component: {fileID: 7483671490167212526}
m_Layer: 0
m_Name: Label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2637009452797290299
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8694994398665952027}
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: 3590387809349625501}
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: -30, y: -30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1822324956339504325
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8694994398665952027}
m_CullTransparentMesh: 1
--- !u!114 &7483671490167212526
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8694994398665952027}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2}
m_sharedMaterial: {fileID: 5103963756306747964, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ed50ea5e3645be9498337c2365afe0ff
PrefabImporter:
externalObjects: {}
userData:
assetBundleName: ui3dobjselect_prefab
assetBundleVariant:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0cc951fa11e31944fbd42d553403b8b8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName: ui3dbodyinfo_prefab
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d804aee1823a39d4b897e9187f921037
PrefabImporter:
externalObjects: {}
userData:
assetBundleName: uibody3dmenutree_prefab
assetBundleVariant:

View File

@ -224,6 +224,157 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1375299334909793470
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4002782857371670254}
- component: {fileID: 3875271533057727503}
- component: {fileID: 3613689092755446169}
- component: {fileID: 7384942873950341134}
m_Layer: 5
m_Name: Title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4002782857371670254
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1375299334909793470}
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: 530869619305514304}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -25.498718}
m_SizeDelta: {x: 0, y: 50.9974}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3875271533057727503
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1375299334909793470}
m_CullTransparentMesh: 1
--- !u!114 &3613689092755446169
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1375299334909793470}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u8FD9\u91CC\u662F\u6807\u9898"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 97936a7b3a86809479ac89371e95b079, type: 2}
m_sharedMaterial: {fileID: 168401102475399263, guid: 97936a7b3a86809479ac89371e95b079, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &7384942873950341134
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1375299334909793470}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3}
m_Name:
m_EditorClassIdentifier:
MarkType: 0
CustomComponentName: ContentText
CustomComment:
mComponentName: TMPro.TextMeshProUGUI
--- !u!1 &1597918456588028124
GameObject:
m_ObjectHideFlags: 0
@ -309,6 +460,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5ed9b43aa6da2fd49af65b4ab0b85fc2, type: 3}
m_Name:
m_EditorClassIdentifier:
Title: {fileID: 3613689092755446169}
Des: {fileID: 5150898215778594440}
BtnContent: {fileID: 8598386973860236803}
Btn: {fileID: 1491398146821546139}
@ -378,7 +530,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text:
m_text: "\u8FD9\u91CC\u662F\u6807\u9898"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 97936a7b3a86809479ac89371e95b079, type: 2}
m_sharedMaterial: {fileID: 168401102475399263, guid: 97936a7b3a86809479ac89371e95b079, type: 2}
@ -616,7 +768,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
MarkType: 0
CustomComponentName:
CustomComponentName: BtnContent
CustomComment:
mComponentName: RectTransform
--- !u!1 &4469038750498708236
@ -775,7 +927,7 @@ GameObject:
- component: {fileID: 1752210379890057875}
- component: {fileID: 7352347895138269808}
m_Layer: 5
m_Name: Connt
m_Name: Content
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -793,6 +945,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4002782857371670254}
- {fileID: 503948904615403453}
- {fileID: 8598386973860236803}
m_Father: {fileID: 7621766697555444520}

View File

@ -294,4 +294,122 @@ public class Utility
}
}
// 枚举定义渲染模式
public enum RenderMode
{
Opaque,
Cutout,
Fade,
Transparent
}
// 设置材质的渲染模式
public static void SetRenderMode(Material material, RenderMode mode, float alpha = 0.2f)
{
Color color = material.color;
switch (mode)
{
case RenderMode.Opaque:
material.SetOverrideTag("RenderType", "");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero);
material.SetInt("_ZWrite", 1);
material.DisableKeyword("_ALPHATEST_ON");
material.DisableKeyword("_ALPHABLEND_ON");
material.DisableKeyword("_ALPHAPREMULTIPLY_ON");
material.renderQueue = -1;
color.a = 1;
material.color = color;
break;
case RenderMode.Cutout:
material.SetOverrideTag("RenderType", "TransparentCutout");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero);
material.SetInt("_ZWrite", 1);
material.EnableKeyword("_ALPHATEST_ON");
material.DisableKeyword("_ALPHABLEND_ON");
material.DisableKeyword("_ALPHAPREMULTIPLY_ON");
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.AlphaTest;
break;
case RenderMode.Fade:
material.SetOverrideTag("RenderType", "Transparent");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
material.SetInt("_ZWrite", 0);
material.DisableKeyword("_ALPHATEST_ON");
material.EnableKeyword("_ALPHABLEND_ON");
material.DisableKeyword("_ALPHAPREMULTIPLY_ON");
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Transparent;
break;
case RenderMode.Transparent:
material.SetOverrideTag("RenderType", "Transparent");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
material.SetInt("_ZWrite", 0);
material.DisableKeyword("_ALPHATEST_ON");
material.DisableKeyword("_ALPHABLEND_ON");
material.EnableKeyword("_ALPHAPREMULTIPLY_ON");
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Transparent;
color.a = alpha;
material.color = color;
break;
}
}
public static void SetSurfaceType(Material material, bool isTransparent)
{
if (isTransparent)
{
// 设置 SurfaceType 为 Transparent
material.SetFloat("_Surface", 1); // 1 代表 Transparent0 代表 Opaque
// 设置 Blend Mode 为 Alpha Blend使用枚举
material.SetOverrideTag("RenderType", "Transparent");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
// 禁用深度写入
material.SetInt("_ZWrite", 0);
// 设置渲染队列
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Transparent;
// 启用相应的着色器关键字
material.EnableKeyword("_SURFACE_TYPE_TRANSPARENT");
material.DisableKeyword("_SURFACE_TYPE_OPAQUE");
Color color = material.color;
color.a = 0.2f;
material.color = color;
}
else
{
// 设置 SurfaceType 为 Opaque
material.SetFloat("_Surface", 0);
// 恢复默认的 Blend Mode这里假设默认是不透明模式对应的 Blend Mode
material.SetFloat("_Blend", 0);
// 启用深度写入
material.SetInt("_ZWrite", 1);
// 恢复默认的渲染队列
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Geometry;
// 启用相应的着色器关键字
material.EnableKeyword("_SURFACE_TYPE_OPAQUE");
material.DisableKeyword("_SURFACE_TYPE_TRANSPARENT");
Color color = material.color;
color.a = 1;
material.color = color;
}
}
}

View File

@ -721,7 +721,7 @@ GameObject:
- component: {fileID: 2114935607}
m_Layer: 0
m_Name: 3DShowCamera
m_TagString: Untagged
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
@ -855,6 +855,7 @@ MonoBehaviour:
distanceMin: 0.2
distanceMax: 20
pitchMinMax: {x: -20, y: 80}
texture: {fileID: 8400000, guid: 187fba8368491cb428c8cbd324fa9bb4, type: 2}
--- !u!222 &102363872365703344
CanvasRenderer:
m_ObjectHideFlags: 0

8
Assets/Scenes/Test.meta Normal file
View File

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

3468
Assets/Scenes/Test.unity Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0b73b822f37c6584daec4f5aa1eb17db
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,104 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-32820517437979890
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier:
active: 1
skipIterations:
m_OverrideState: 0
m_Value: 1
threshold:
m_OverrideState: 0
m_Value: 0.9
intensity:
m_OverrideState: 1
m_Value: 1
scatter:
m_OverrideState: 0
m_Value: 0.7
clamp:
m_OverrideState: 0
m_Value: 65472
tint:
m_OverrideState: 0
m_Value: {r: 1, g: 1, b: 1, a: 1}
highQualityFiltering:
m_OverrideState: 0
m_Value: 0
downscale:
m_OverrideState: 0
m_Value: 0
maxIterations:
m_OverrideState: 0
m_Value: 6
dirtTexture:
m_OverrideState: 0
m_Value: {fileID: 0}
dimension: 1
dirtIntensity:
m_OverrideState: 0
m_Value: 0
--- !u!114 &11400000
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: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: GlobalVolumeProfile
m_EditorClassIdentifier:
components:
- {fileID: 1881579288749618558}
- {fileID: -32820517437979890}
--- !u!114 &1881579288749618558
MonoBehaviour:
m_ObjectHideFlags: 3
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: 97c23e3b12dc18c42a140437e53d3951, type: 3}
m_Name: Tonemapping
m_EditorClassIdentifier:
active: 1
mode:
m_OverrideState: 1
m_Value: 1
neutralHDRRangeReductionMode:
m_OverrideState: 0
m_Value: 2
acesPreset:
m_OverrideState: 0
m_Value: 3
hueShiftAmount:
m_OverrideState: 0
m_Value: 0
detectPaperWhite:
m_OverrideState: 0
m_Value: 0
paperWhite:
m_OverrideState: 0
m_Value: 300
detectBrightnessLimits:
m_OverrideState: 0
m_Value: 1
minNits:
m_OverrideState: 0
m_Value: 0.005
maxNits:
m_OverrideState: 0
m_Value: 1000

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6c913767de6cb7447a2da6a50073e9b5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,895 @@
%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: 9
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: 0}
m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 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: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
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
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &61031152
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 61031153}
- component: {fileID: 61031156}
- component: {fileID: 61031155}
- component: {fileID: 61031154}
m_Layer: 5
m_Name: RightBottom
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &61031153
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 61031152}
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: 157800629}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1828.92, y: 0}
m_Pivot: {x: 1, y: -0.000000461936}
--- !u!222 &61031154
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 61031152}
m_CullTransparentMesh: 1
--- !u!114 &61031155
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 61031152}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2
--- !u!114 &61031156
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 61031152}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 10
m_Bottom: 10
m_ChildAlignment: 8
m_Spacing: 10
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 1
m_ChildControlHeight: 1
m_ChildScaleWidth: 0
m_ChildScaleHeight: 1
m_ReverseArrangement: 1
--- !u!1 &157800624
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 157800629}
- component: {fileID: 157800628}
- component: {fileID: 157800627}
- component: {fileID: 157800626}
- component: {fileID: 157800625}
m_Layer: 5
m_Name: UIRoot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &157800625
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 157800624}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d2db7fffd623c478eba3d2cb84034d2f, type: 3}
m_Name:
m_EditorClassIdentifier:
UICamera: {fileID: 1055985342}
Canvas: {fileID: 157800628}
CanvasScaler: {fileID: 157800627}
GraphicRaycaster: {fileID: 157800626}
Bg: {fileID: 668757109}
Common: {fileID: 204871825}
PopUI: {fileID: 992208157}
RightBottom: {fileID: 61031153}
CanvasPanel: {fileID: 392664263}
--- !u!114 &157800626
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 157800624}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 0
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &157800627
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 157800624}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0.5
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &157800628
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 157800624}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 1055985342}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 100
m_TargetDisplay: 0
--- !u!224 &157800629
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 157800624}
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:
- {fileID: 668757109}
- {fileID: 204871825}
- {fileID: 992208157}
- {fileID: 61031153}
- {fileID: 392664263}
- {fileID: 1659574612}
- {fileID: 638610986}
- {fileID: 1055985344}
- {fileID: 450758523}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &204871824
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 204871825}
m_Layer: 5
m_Name: Common
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &204871825
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 204871824}
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: 157800629}
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!1 &392664262
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 392664263}
m_Layer: 5
m_Name: CanvasPanel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &392664263
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 392664262}
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: 157800629}
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!1 &450758522
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 450758523}
- component: {fileID: 450758524}
m_Layer: 5
m_Name: Manager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &450758523
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 450758522}
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: 157800629}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &450758524
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 450758522}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5dc84f25d84334e168bf64050b91e1fb, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &638610985
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 638610986}
- component: {fileID: 638610988}
- component: {fileID: 638610987}
m_Layer: 5
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &638610986
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638610985}
serializedVersion: 2
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: 157800629}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &638610987
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638610985}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 1
--- !u!114 &638610988
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638610985}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 5
--- !u!1 &668757108
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 668757109}
m_Layer: 5
m_Name: Bg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &668757109
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 668757108}
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: 157800629}
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!1 &779304352
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 779304354}
- component: {fileID: 779304353}
m_Layer: 0
m_Name: TestUI3DObjSelect
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &779304353
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 779304352}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b6b7a3e7dc894eaca1053ef166cdad33, type: 3}
m_Name:
m_EditorClassIdentifier:
PanelName: UI3DObjSelect
Level: 0
mOtherPanels: []
--- !u!4 &779304354
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 779304352}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &992208156
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 992208157}
m_Layer: 5
m_Name: PopUI
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &992208157
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 992208156}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.0000799, y: 1.0000799, z: 1.0000799}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 157800629}
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!1 &1055985341
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1055985344}
- component: {fileID: 1055985342}
- component: {fileID: 1055985343}
m_Layer: 5
m_Name: UICamera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!20 &1055985342
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1055985341}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 3
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 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: 1
orthographic size: 5
m_Depth: 99
m_CullingMask:
serializedVersion: 2
m_Bits: 32
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 0
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!124 &1055985343
Behaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1055985341}
m_Enabled: 1
--- !u!4 &1055985344
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1055985341}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -100}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 157800629}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1659574611
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1659574612}
- component: {fileID: 1659574613}
m_Layer: 5
m_Name: Design
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1659574612
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1659574611}
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:
- {fileID: 5141764247674625167}
m_Father: {fileID: 157800629}
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!114 &1659574613
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1659574611}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6eba024ea32574239b57b098f1dc6282, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &5141764247674625166
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1659574612}
m_Modifications:
- target: {fileID: 2125630271001386841, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_Name
value: UI3DObjSelect
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
--- !u!224 &5141764247674625167 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3757608316288059836, guid: ed50ea5e3645be9498337c2365afe0ff, type: 3}
m_PrefabInstance: {fileID: 5141764247674625166}
m_PrefabAsset: {fileID: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 157800629}
- {fileID: 779304354}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f6ab445e09d82be48803b157e6d507f6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3f60d30421c64344cb0972e5a3584119
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,903 @@
%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: 9
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: 0}
m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 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: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
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
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &31898597
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 31898598}
m_Layer: 5
m_Name: Bg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &31898598
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 31898597}
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: 946517885}
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!1 &329046118
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 329046119}
- component: {fileID: 329046120}
m_Layer: 5
m_Name: Manager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &329046119
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 329046118}
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: 946517885}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &329046120
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 329046118}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5dc84f25d84334e168bf64050b91e1fb, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &654959056
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 654959057}
m_Layer: 5
m_Name: Common
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &654959057
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 654959056}
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: 946517885}
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!1 &838156107
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 838156109}
- component: {fileID: 838156108}
m_Layer: 0
m_Name: TestUIBody3DMenuTree
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &838156108
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 838156107}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b6b7a3e7dc894eaca1053ef166cdad33, type: 3}
m_Name:
m_EditorClassIdentifier:
PanelName: UIBody3DMenuTree
Level: 0
mOtherPanels: []
--- !u!4 &838156109
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 838156107}
serializedVersion: 2
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: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &946517880
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 946517885}
- component: {fileID: 946517884}
- component: {fileID: 946517883}
- component: {fileID: 946517882}
- component: {fileID: 946517881}
m_Layer: 5
m_Name: UIRoot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &946517881
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 946517880}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d2db7fffd623c478eba3d2cb84034d2f, type: 3}
m_Name:
m_EditorClassIdentifier:
UICamera: {fileID: 1933414671}
Canvas: {fileID: 946517884}
CanvasScaler: {fileID: 946517883}
GraphicRaycaster: {fileID: 946517882}
Bg: {fileID: 31898598}
Common: {fileID: 654959057}
PopUI: {fileID: 1245011610}
RightBottom: {fileID: 1329046485}
CanvasPanel: {fileID: 984846148}
--- !u!114 &946517882
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 946517880}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 0
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &946517883
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 946517880}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0.5
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &946517884
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 946517880}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 1933414671}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 100
m_TargetDisplay: 0
--- !u!224 &946517885
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 946517880}
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:
- {fileID: 31898598}
- {fileID: 654959057}
- {fileID: 1245011610}
- {fileID: 1329046485}
- {fileID: 984846148}
- {fileID: 1342052781}
- {fileID: 2079567013}
- {fileID: 1933414673}
- {fileID: 329046119}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &984846147
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 984846148}
m_Layer: 5
m_Name: CanvasPanel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &984846148
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 984846147}
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: 946517885}
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!1 &1245011609
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1245011610}
m_Layer: 5
m_Name: PopUI
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1245011610
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1245011609}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.0000799, y: 1.0000799, z: 1.0000799}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 946517885}
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!1 &1329046484
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1329046485}
- component: {fileID: 1329046488}
- component: {fileID: 1329046487}
- component: {fileID: 1329046486}
m_Layer: 5
m_Name: RightBottom
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1329046485
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1329046484}
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: 946517885}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1828.92, y: 0}
m_Pivot: {x: 1, y: -0.000000461936}
--- !u!222 &1329046486
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1329046484}
m_CullTransparentMesh: 1
--- !u!114 &1329046487
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1329046484}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2
--- !u!114 &1329046488
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1329046484}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 10
m_Bottom: 10
m_ChildAlignment: 8
m_Spacing: 10
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 1
m_ChildControlHeight: 1
m_ChildScaleWidth: 0
m_ChildScaleHeight: 1
m_ReverseArrangement: 1
--- !u!1 &1342052780
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1342052781}
- component: {fileID: 1342052782}
m_Layer: 5
m_Name: Design
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1342052781
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1342052780}
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:
- {fileID: 5026509205379085795}
m_Father: {fileID: 946517885}
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!114 &1342052782
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1342052780}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6eba024ea32574239b57b098f1dc6282, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1933414670
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1933414673}
- component: {fileID: 1933414671}
- component: {fileID: 1933414672}
m_Layer: 5
m_Name: UICamera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!20 &1933414671
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1933414670}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 3
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 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: 1
orthographic size: 5
m_Depth: 99
m_CullingMask:
serializedVersion: 2
m_Bits: 32
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 0
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!124 &1933414672
Behaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1933414670}
m_Enabled: 1
--- !u!4 &1933414673
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1933414670}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -100}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 946517885}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2079567012
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2079567013}
- component: {fileID: 2079567015}
- component: {fileID: 2079567014}
m_Layer: 5
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2079567013
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2079567012}
serializedVersion: 2
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: 946517885}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2079567014
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2079567012}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 1
--- !u!114 &2079567015
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2079567012}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 5
--- !u!1001 &5026509205379085794
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1342052781}
m_Modifications:
- target: {fileID: 6242602124528966384, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_Name
value: UIBody3DMenuTree
objectReference: {fileID: 0}
- target: {fileID: 6304575409659534821, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_VerticalScrollbar
value:
objectReference: {fileID: 0}
- target: {fileID: 6304575409659534821, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_HorizontalScrollbar
value:
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d804aee1823a39d4b897e9187f921037, type: 3}
--- !u!224 &5026509205379085795 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8239230575637970371, guid: d804aee1823a39d4b897e9187f921037, type: 3}
m_PrefabInstance: {fileID: 5026509205379085794}
m_PrefabAsset: {fileID: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 946517885}
- {fileID: 838156109}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 5eecbe61451dfac4aae855f64361e3e6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -24,6 +24,7 @@ public class ActionHelper
{ "UIImageTip", typeof(QFramework.Example.UIImageTip) },
{ "UI3DObjShow", typeof(QFramework.Example.UI3DObjShow) },
{ "UIBody3D", typeof(QFramework.Example.UIBody3D) },
{ "UI3DObjSelect", typeof(QFramework.Example.UI3DObjSelect) },
};
@ -141,13 +142,13 @@ public class ActionHelper
}
case "TipWindow":
{
var strAction = (XMLTool.StringListAction)act;
return TipWindowAction.Allocate(act.Value, strAction.args[0], strAction.args[1]);
var strAction = (XMLTool.DictionaryAction)act;
return TipWindowAction.Allocate(act.Value, strAction.args);
}
case "TextTip":
{
var strAction = (XMLTool.StringListAction)act;
return TextTipAction.Allocate(act.Value, strAction.args[0], strAction.args[1]);
var strAction = (XMLTool.DictionaryAction)act;
return TextTipAction.Allocate(act.Value, strAction.args);
}
case "UIShow":
{

View File

@ -15,17 +15,15 @@ public class TextTipAction : IAction
private static readonly SimpleObjectPool<TextTipAction> mPool =
new SimpleObjectPool<TextTipAction>(() => new TextTipAction(), null, 10);
string text = string.Empty;
string btns = string.Empty;
string audio = string.Empty;
public static TextTipAction Allocate(string text,string audio , string btns, System.Action onDelayFinish = null)
Dictionary<string, string> datas;
public static TextTipAction Allocate(string text, Dictionary<string, string> datas, System.Action onDelayFinish = null)
{
var retNode = mPool.Allocate();
retNode.ActionID = ActionKit.ID_GENERATOR++;
retNode.Deinited = false;
retNode.Reset();
retNode.text = text;
retNode.btns = btns;
retNode.audio = audio;
retNode.datas = datas;
return retNode;
}
@ -52,8 +50,9 @@ public class TextTipAction : IAction
{
UITextTipData data = new UITextTipData();
data.text = text;
data.btns = btns.Split(',').ToList();
data.audio = audio;
data.audio = datas.ContainsKey("audio") ? datas["audio"] : string.Empty;
data.title = datas.ContainsKey("title") ? datas["title"] : string.Empty;
data.btns = datas.ContainsKey("btns") ? datas["btns"].Split(',').ToList() : null;
UIKit.OpenPanelAsync<UITextTip>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => this.Finish());
}

View File

@ -15,17 +15,15 @@ public class TipWindowAction : IAction
private static readonly SimpleObjectPool<TipWindowAction> mPool =
new SimpleObjectPool<TipWindowAction>(() => new TipWindowAction(), null, 10);
string text = string.Empty;
string btns = string.Empty;
string audio = string.Empty;
public static TipWindowAction Allocate(string text, string audio, string btns, System.Action onDelayFinish = null)
Dictionary<string, string> datas;
public static TipWindowAction Allocate(string text, Dictionary<string, string> datas, System.Action onDelayFinish = null)
{
var retNode = mPool.Allocate();
retNode.ActionID = ActionKit.ID_GENERATOR++;
retNode.Deinited = false;
retNode.Reset();
retNode.text = text;
retNode.btns = btns;
retNode.audio = audio;
retNode.datas = datas;
return retNode;
}
@ -52,12 +50,15 @@ public class TipWindowAction : IAction
{
UITipWindowData data = new UITipWindowData();
data.txt = text;
var btnText = btns.Split(',').ToList();
foreach (var item in btnText)
var btnText = datas.ContainsKey("btns") ? datas["btns"].Split(',').ToList() : null;
if (btnText != null)
{
data.btns.Add(new UITipWindowData.ItemData() { txt = item });
foreach (var item in btnText)
{
data.btns.Add(new UITipWindowData.ItemData() { txt = item });
}
}
data.audio = audio;
data.audio = datas.ContainsKey("audio") ? datas["audio"] : null;
UIKit.OpenPanelAsync<UITipWindow>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => this.Finish());
}

View File

@ -0,0 +1,282 @@
using QFramework;
using QFramework.Example;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using XMLTool;
using static XMLTool.Body3D;
public class Body3DController : MonoSingleton<Body3DController>
{
public enum Status
{
Normal = 1 << 0,
Active = 1 << 1,
Drag = 1 << 2,
}
Body3DController() { }
Dictionary<GameObject, Body3DOjbItem> objs = new Dictionary<GameObject, Body3DOjbItem>();
bool selectIsGroup = false;
public List<GameObject> isOnList = new List<GameObject>();
public bool allowDrag = false;
public Status status = Status.Normal;
private Vector2 mouseDownPosition; // 记录鼠标按下时的位置
Stack<GameObject> activeObjs = new Stack<GameObject>();
Stack<GameObject> moveObjs = new Stack<GameObject>();
public override void OnSingletonInit()
{
base.OnSingletonInit();
TypeEventSystem.Global.Register<OnBody3DStart>((arg) =>
{
Refresh();
}).UnRegisterWhenGameObjectDestroyed(gameObject);
TypeEventSystem.Global.Register<OnModuleQuit>(OnClear);
TypeEventSystem.Global.Register<OnBody3DGroupTypeChanged>(OnToggleSelectType);
TypeEventSystem.Global.Register<OnBody3DSelected>(OnBody3DSelectedHandler);
}
private void OnBody3DSelectedHandler(OnBody3DSelected selected)
{
if (selected.isOn)
{
if (isOnList.Contains(selected.obj) == false)
{
if (selectIsGroup == false)
{
ClearObjectToggle();
}
isOnList.Add(selected.obj);
UIBody3DInfoData data = new UIBody3DInfoData();
data.body = selected.obj.GetComponent<Body3DOjbItem>().body;
UIKit.OpenPanelAsync<UIBody3DInfo>(UILevel.PopUI, data).ToAction().Start(this);
}
}
else
{
if (isOnList.Contains(selected.obj))
{
isOnList.Remove(selected.obj);
selected.obj.GetComponent<ObjectToggle>().Set(false);
}
if (isOnList.Count <= 0)
{
UIKit.HidePanel<UIBody3DInfo>();
}
}
}
public void SetStatus(Status status, bool isAdd)
{
if (isAdd)
{
this.status |= status;
}
else
{
// 删除状态
this.status &= ~status;
}
}
public bool CheckStatus(Status status)
{
return (this.status & status) == status;
}
public void AddActiveObj(GameObject obj)
{
activeObjs.Push(obj);
}
public GameObject PopActiveObj()
{
if (activeObjs.Count > 0)
{
return activeObjs.Pop();
}
else
{
return null;
}
}
public void AddMoveObj(GameObject obj)
{
if (moveObjs.Contains(obj)==false)
{
moveObjs.Push(obj);
}
}
public GameObject PopMoveObj()
{
if (moveObjs.Count > 0)
{
return moveObjs.Pop();
}
else
{
return null;
}
}
public void Active(bool isActive)
{
foreach (var item in objs)
{
if (isOnList.Contains(item.Key) == false)
{
item.Key.SetActive(isActive);
}
}
}
public void Active(GameObject obj, bool isActive, bool isOther)
{
if (isOther)
{
foreach (var item in objs)
{
if (item.Key != obj)
{
item.Key.SetActive(isActive);
}
}
}
else
{
obj.SetActive(isActive);
}
}
public void Transparent(GameObject obj, bool isTransparent, bool isOther)
{
if (isOther)
{
foreach (var item in objs)
{
if (item.Key != obj)
{
Utility.SetSurfaceType(item.Key.GetComponent<MeshRenderer>().material, isTransparent);
}
}
}
else
{
Utility.SetSurfaceType(obj.GetComponent<MeshRenderer>().material, isTransparent);
}
}
private void OnToggleSelectType(OnBody3DGroupTypeChanged type)
{
selectIsGroup = type.isGroup;
}
private void OnClear(OnModuleQuit quit)
{
Clear();
}
public void Refresh()
{
Parser(Global.Instance.cur3DPart);
}
public void Parser(Body3D.Body body)
{
if (body.subBody != null && body.subBody.Count > 0)
{
foreach (var item in body.subBody)
{
Parser(item.Value);
}
}
else
{
GameObject obj = Utility.FindObj(body.Path);
var bodyObjItem = obj.GetOrAddComponent<Body3DOjbItem>();
bodyObjItem.Init(body);
objs.Add(obj, bodyObjItem);
}
}
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
// 记录鼠标按下时的位置
mouseDownPosition = Input.mousePosition;
}
if (Input.GetMouseButtonUp(0))
{
// 获取鼠标抬起时的位置
Vector2 mouseUpPosition = Input.mousePosition;
// 计算鼠标按下和抬起位置之间的距离
float distance = Vector2.Distance(mouseDownPosition, mouseUpPosition);
// 判断移动距离是否小于 1 且未点击在 UI 上
if (distance < 1f && EventSystem.current.IsPointerOverGameObject() == false)
{
// 从相机发射一条射线到当前鼠标位置
if (Camera.main != null)
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
//GameObject obj = hit.collider.gameObject;
// 这里可以添加处理射线击中物体的逻辑
}
else
{
if (!selectIsGroup)
{
ClearObjectToggle();
}
}
}
}
}
}
public void ClearObjectToggle()
{
for (int i = isOnList.Count - (1); i >= 0; i--)
{
isOnList[i].GetComponent<ObjectToggle>().Set(false);
}
}
public void Clear()
{
objs.Clear();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3e0f94aba8f7e424d945ba2f28f894a9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -21,11 +21,15 @@ public class ScoreController : MonoSingleton<ScoreController>
public void Init()
{
if (Global.Instance.curModule.type == "Exam" || Global.Instance.curModule.type == "All")
{
TypeEventSystem.Global.Register<OnModuleStart>(OnStart);
TypeEventSystem.Global.Register<OnModuleQuit>(OnQuit);
}
}
public void InitData()

View File

@ -0,0 +1,35 @@
using UnityEditor;
using UnityEngine;
#if UNITY_EDITOR
public class FixedMainEditor
{
private const string FixedMainKey = "IsFixedMain";
public static bool isFixedMain
{
get
{
return PlayerPrefs.GetInt(FixedMainKey, 0) == 1;
}
set
{
PlayerPrefs.SetInt(FixedMainKey, value ? 1 : 0);
PlayerPrefs.Save();
}
}
[MenuItem("Tools/强制Main场景启动 %#x", false, 10)]
private static void ToggleOption()
{
isFixedMain = !isFixedMain;
EditorUtility.DisplayDialog("Option Status", "Option is now " + (isFixedMain ? "enabled" : "disabled"), "OK");
}
[MenuItem("Tools/强制Main场景启动 %#x", true, 10)]
private static bool ValidateToggleOption()
{
Menu.SetChecked("Tools/强制Main场景启动", isFixedMain);
return true;
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0b0b3735d5f7030428778c408124d2f8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,20 @@
using UnityEngine;
using UnityEngine.SceneManagement;
#if UNITY_EDITOR
public class OpeanCustomScene : MonoBehaviour
{
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void Initialize()
{
Debug.LogError(FixedMainEditor.isFixedMain);
if (FixedMainEditor.isFixedMain)
{
Scene scene = SceneManager.GetActiveScene();
if (!scene.name.Equals("Main"))
{
SceneManager.LoadScene("Main");
}
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 671e7429ed8534e44b87ad20e1b7f70b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -26,7 +26,7 @@ public struct OnModuleStart
public struct OnLoadingShow
{
}
public struct OnLoadingHide
@ -37,4 +37,25 @@ public struct OnLoadingHide
public struct OnPoint3DQuestionDestroy
{
}
}
public struct OnBody3DStart
{
}
public struct OnBody3DDragChanged
{
}
public struct OnBody3DGroupTypeChanged
{
public bool isGroup;
}
public struct OnBody3DSelected
{
public bool isOn;
public GameObject obj;
}

View File

@ -12,6 +12,7 @@ public class Global : Singleton<Global>
public XMLTool.AppData appData;
public Module curModule;
public Body3D.Body cur3DPart;
public static string dataPath = Application.dataPath + "/../Data";
public static string deviceIconsPath = dataPath + "/DeviceIcons/";

View File

@ -0,0 +1,131 @@
using QFramework;
using QFramework.Example;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XMLTool;
public class Body3DOjbItem : MonoBehaviour
{
public Body3D.Body body;
ObjectToggle objToggle;
ObjDrag objDrag;
// 记录上一次鼠标按下的时间
private float lastClickTime;
// 双击的时间间隔阈值
private const float doubleClickTimeThreshold = 0.3f;
private void Awake()
{
}
public void Init(Body3D.Body body)
{
this.body = body;
if (body.subBody == null || body.subBody.Count == 0)
{
if (body.toggle != null)
{
objToggle = gameObject.GetOrAddComponent<ObjectToggle>();
ObjectColorToggle colorToggle = null;
if (body.toggle.color != null)
{
colorToggle = gameObject.GetOrAddComponent<ObjectColorToggle>();
if (string.IsNullOrEmpty(body.toggle.color.isOn) == false)
{
colorToggle.isOnColor = Utility.ToColor(body.toggle.color.isOn);
}
if (string.IsNullOrEmpty(body.toggle.color.isOff) == false)
{
colorToggle.isOffColor = Utility.ToColor(body.toggle.color.isOff);
}
}
objToggle.OnValueChanged.AddListener(isOn =>
{
if (Body3DController.Instance.CheckStatus(Body3DController.Status.Active))
{
if (isOn == true)
{
gameObject.SetActive(false);
Body3DController.Instance.AddActiveObj(gameObject);
}
}
else
{
colorToggle?.SetColor(isOn);
objDrag = gameObject.GetOrAddComponent<ObjDrag>();
objDrag.OnDragEnd.AddListener(obj =>
{
Body3DController.Instance.AddMoveObj(gameObject);
});
RefreshDrag();
if (isOn)
{
TypeEventSystem.Global.Register<OnBody3DDragChanged>(OnBody3DDragHandler);
}
else
{
TypeEventSystem.Global.UnRegister<OnBody3DDragChanged>(OnBody3DDragHandler);
}
}
TypeEventSystem.Global.Send<OnBody3DSelected>(new OnBody3DSelected() { isOn = isOn, obj = gameObject });
});
}
}
}
private void OnMouseDown()
{
// 计算当前时间与上一次点击时间的间隔
float currentTime = Time.time;
if (currentTime - lastClickTime < doubleClickTimeThreshold)
{
// 触发双击事件
OnDoubleClick();
}
lastClickTime = currentTime;
}
public void OnDoubleClick()
{
if (Body3DController.Instance.CheckStatus(Body3DController.Status.Drag))
{
var drag = gameObject.GetComponent<ObjDrag>();
if (drag != null)
{
drag.OnDoubleClick();
}
}
else if (Body3DController.Instance.CheckStatus(Body3DController.Status.Active) == false)
{
float distance = 1;
if (float.TryParse(body.FocusDistance, out distance))
{
Show3DCamera.instance.FocusObj(gameObject.transform.position, distance, 0.5f);
}
else
{
Show3DCamera.instance.FocusObj(gameObject.transform.position, moveTime: 0.5f);
}
}
}
private void OnBody3DDragHandler(OnBody3DDragChanged drag)
{
RefreshDrag();
}
public void RefreshDrag()
{
if (objToggle != null && objDrag != null)
{
objDrag.isOn = objToggle.isOn && Body3DController.Instance.CheckStatus(Body3DController.Status.Drag);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 297f30dc51736414695fa9fd6ad43dd6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,89 @@
using DG.Tweening;
using QFramework;
using System;
using UnityEngine;
using UnityEngine.Events;
public class ObjDrag : MonoBehaviour
{
private Vector3 offset;
public bool isOn = false;
Vector3 startPosition;
public UnityEvent<GameObject> OnDragEnd = new UnityEvent<GameObject>();
void Start()
{
startPosition = gameObject.transform.position;
}
private void OnMouseUp()
{
if (isOn)
{
Show3DCamera.instance.lockMove = false;
OnDragEnd?.Invoke(gameObject);
}
}
void OnMouseDown()
{
if (isOn)
{
// 获取鼠标在相机视角平面上的世界坐标
Vector3 mouseWorldPos = GetMouseWorldPositionOnPlane();
// 计算物体位置与鼠标点击点在世界坐标中的偏移量
offset = transform.position - mouseWorldPos;
Show3DCamera.instance.lockMove = true;
}
}
void OnMouseDrag()
{
if (isOn)
{
// 获取鼠标在相机视角平面上的世界坐标
Vector3 mouseWorldPos = GetMouseWorldPositionOnPlane();
// 根据偏移量更新物体的位置
transform.position = mouseWorldPos + offset;
}
}
private Vector3 GetMouseWorldPositionOnPlane()
{
// 获取鼠标在屏幕上的位置
Vector3 mouseScreenPos = Input.mousePosition;
mouseScreenPos.z = Camera.main.WorldToScreenPoint(transform.position).z; // 保持物体与相机的深度一致
// 将鼠标的屏幕坐标转换为世界坐标
Vector3 mouseWorldPos = Camera.main.ScreenToWorldPoint(mouseScreenPos);
// 计算相机视角平面的法线方向(相机的正前方)
Vector3 cameraForward = Camera.main.transform.forward;
// 创建一个平面,法线方向为相机的正前方,平面通过物体的当前位置
Plane plane = new Plane(cameraForward, transform.position);
// 从相机发射一条射线,指向鼠标的世界坐标
Ray ray = Camera.main.ScreenPointToRay(mouseScreenPos);
float distance;
if (plane.Raycast(ray, out distance))
{
// 返回射线与平面的交点
return ray.GetPoint(distance);
}
// 如果没有相交,返回物体的当前位置
return transform.position;
}
// 双击事件处理函数
public void OnDoubleClick()
{
// 在这里可以添加你想要执行的双击逻辑
// 例如,将物体重置到起始位置
//transform.position = startPosition;
transform.DOMove(startPosition, 0.3f);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4bc81b557a686064482ca97c33f03504
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,31 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjectColorToggle : MonoBehaviour
{
public Color isOnColor = new Color(0 / 255f, 255 / 255f, 255 / 255f);
public Color isOffColor = new Color(255 / 255f, 255 / 255f, 255 / 255f);
MeshRenderer mesh;
private void Awake()
{
mesh = gameObject.GetComponent<MeshRenderer>();
}
public void SetColor(bool isOn)
{
float alpha = mesh.material.color.a;
if (isOn)
{
isOnColor.a = alpha;
mesh.material.color = isOnColor;
}
else
{
isOffColor.a = alpha;
mesh.material.color = isOffColor;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f7a034293f9fb56428fbd3c0772ff83c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,47 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class ObjectToggle : MonoBehaviour
{
public bool isOn = false;
//EventHandler OnValueChanged
public UnityEvent<bool> OnValueChanged = new UnityEvent<bool>();
private float mouseDownTime;
private bool isMouseDown;
private void OnMouseDown()
{
// 记录鼠标按下的时间
mouseDownTime = Time.time;
isMouseDown = true;
}
private void OnMouseUp()
{
if (isMouseDown)
{
// 计算鼠标按下和抬起的时间间隔
float clickDuration = Time.time - mouseDownTime;
// 检查时间间隔是否大于 0.2 秒
if (clickDuration < 0.2f)
{
if (isOn == false)
{
isOn = !isOn;
OnValueChanged?.Invoke(isOn);
}
}
isMouseDown = false;
}
}
public void Set(bool isOn)
{
this.isOn = isOn;
OnValueChanged?.Invoke(isOn);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: fce67a81459948d43bb40992a12c83ec
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,10 +1,6 @@
using GCSeries.Core;
using System;
using Unity.Burst.CompilerServices;
using DG.Tweening;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using UnityEngine.UIElements;
public class Show3DCamera : MonoBehaviour
{
@ -27,6 +23,12 @@ public class Show3DCamera : MonoBehaviour
private GameObject lastHitObject = null;
public RenderTexture texture;
public bool lockMove = false;
private Vector2 mouseDownPosition; // 记录鼠标按下时的位置
private void Awake()
{
instance = this;
@ -34,7 +36,9 @@ public class Show3DCamera : MonoBehaviour
DontDestroyOnLoad(this);
gameObject.SetActive(false);
}
public void Set(Transform target, float rotateSpeed = 10, float moveSpeed = 0.1f, float distance = 0.1f, float pitchMin = -20, float pitchMax = 80, float distanceMin = 0.2f, float distanceMax = 20f, RectTransform inputRect = null)
public void Set(Transform target, float rotateSpeed = 10, float moveSpeed = 0.1f, float distance = 0.1f, float pitchMin = -20, float pitchMax = 80, float distanceMin = 0.2f, float distanceMax = 20f, RectTransform inputRect = null, bool isRenderTexture = true, float moveTime = -1)
{
if (target == null)
{
@ -54,19 +58,39 @@ public class Show3DCamera : MonoBehaviour
this.pitchMinMax = new Vector2(pitchMin, pitchMax);
// 初始化相机位置
offset = new Vector3(0, 0, -distance);
UpdateCameraPosition();
if (isRenderTexture)
{
self.targetTexture = texture;
}
else
{
self.targetTexture = null;
}
UpdateCameraPosition(moveTime);
}
void Update()
{
if (targetPos != null)
if (targetPos != null && lockMove == false && EventSystem.current.IsPointerOverGameObject() == false)
{
if (Input.GetMouseButtonDown(0))
{
// 记录鼠标按下时的位置
mouseDownPosition = Input.mousePosition;
}
// 按住鼠标左键时旋转相机
if (Input.GetMouseButton(0))
{
RotateCamera();
// 计算鼠标按下和抬起位置之间的距离
float distance = Vector2.Distance(mouseDownPosition, Input.mousePosition);
if (distance > 1f)
{
RotateCamera();
}
}
// 鼠标滚轮缩放
@ -134,6 +158,28 @@ public class Show3DCamera : MonoBehaviour
}
/// <summary>
/// 聚焦某个物体
/// </summary>
public void FocusObj(Vector3 target, float distance = 1f, float moveTime = -1)
{
// 计算相机前方一定距离的位置作为Cube的目标位置
// 可以根据需要调整这个距离
Vector3 cameraPos = target - transform.forward * distance;
targetPos = target;
this.distance = distance;
offset = new Vector3(0, 0, -distance);
if (moveTime != -1)
{
transform.DOMove(cameraPos, moveTime);
}
else
{
transform.position = cameraPos;
}
}
public void OnMouseEnterObj(GameObject obj)
{
TipItem tip = obj.GetComponent<TipItem>();
@ -160,6 +206,7 @@ public class Show3DCamera : MonoBehaviour
float mouseY = Input.GetAxis("Mouse Y") * moveSpeed;
transform.Translate(new Vector3(-mouseX, -mouseY, 0));
targetPos += new Vector3(-mouseX, -mouseY, 0);
}
// 缩放相机
private void ZoomCamera(float scroll)
@ -187,17 +234,25 @@ public class Show3DCamera : MonoBehaviour
}
// 更新相机位置和朝向
private void UpdateCameraPosition()
private void UpdateCameraPosition(float moveTime = -1)
{
// 计算旋转后的偏移量
Quaternion rotation = Quaternion.Euler(pitch, yaw, 0);
Vector3 rotatedOffset = rotation * offset;
// 更新相机位置
transform.position = targetPos + rotatedOffset;
if (moveTime != -1)
{
transform.DOMove(targetPos + rotatedOffset, moveTime).onUpdate = () =>
// 相机始终朝向目标点
transform.LookAt(targetPos);
}
else
{
transform.position = targetPos + rotatedOffset;
// 相机始终朝向目标点
transform.LookAt(targetPos);
}
// Ïà»úʼÖÕ³¯ÏòÄ¿±êµã
transform.LookAt(targetPos);
}
}

View File

@ -0,0 +1,49 @@
using System;
using UnityEngine;
using UnityEngine.UI;
using QFramework;
namespace QFramework.Example
{
// Generate Id:f7144bda-22df-40c7-b734-51cfe8de8169
public partial class UI3DObjSelect
{
public const string Name = "UI3DObjSelect";
[SerializeField]
public RectTransform Content;
[SerializeField]
public UnityEngine.UI.Button BtnItem;
private UI3DObjSelectData mPrivateData = null;
protected override void ClearUIComponents()
{
Content = null;
BtnItem = null;
mData = null;
}
public UI3DObjSelectData Data
{
get
{
return mData;
}
}
UI3DObjSelectData mData
{
get
{
return mPrivateData ?? (mPrivateData = new UI3DObjSelectData());
}
set
{
mUIData = value;
mPrivateData = value;
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 41a6a58bf629af24fa47ac75c1ef1c29
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,58 @@
using UnityEngine;
using UnityEngine.UI;
using QFramework;
using TMPro;
using UnityEngine.SceneManagement;
using System;
namespace QFramework.Example
{
public class UI3DObjSelectData : UIPanelData
{
}
public partial class UI3DObjSelect : UIPanel
{
protected override void OnInit(IUIData uiData = null)
{
mData = uiData as UI3DObjSelectData ?? new UI3DObjSelectData();
// please add init code here
}
protected override void OnOpen(IUIData uiData = null)
{
Content.RemoveAllChildren();
int index = 0;
foreach (var item in Global.Instance.curModule.body3d.parts)
{
GameObject obj = GameObject.Instantiate(BtnItem.gameObject, Content);
obj.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = item.Key;
obj.GetComponent<Button>().onClick.AddListener(() =>
{
Global.Instance.cur3DPart = Global.Instance.curModule.body3d.parts[item.Key];
TypeEventSystem.Global.Send<OnBody3DStart>();
UIBody3DData data = new UIBody3DData();
data.body = Global.Instance.cur3DPart;
UIKit.OpenPanelAsync<UIBody3D>(canvasLevel: UILevel.PopUI, uiData: data).ToAction().StartGlobal(() =>
{
Hide();
});
});
index++;
}
}
protected override void OnShow()
{
}
protected override void OnHide()
{
}
protected override void OnClose()
{
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: def3eef7c485d1a4c910ae6d40e127cf
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -5,7 +5,7 @@ using QFramework;
namespace QFramework.Example
{
// Generate Id:bebdc4e7-6617-4dcd-b971-e94fd69677e1
// Generate Id:72ad2108-5768-445e-af82-c0c5db90d8e7
public partial class UIBody3D
{
public const string Name = "UIBody3D";
@ -13,14 +13,41 @@ namespace QFramework.Example
[SerializeField]
public RectTransform BodyContent;
[SerializeField]
public RectTransform BodyList;
[SerializeField]
public RectTransform LeftContent;
[SerializeField]
public UnityEngine.UI.Button ResetBtn;
[SerializeField]
public UnityEngine.UI.Toggle ActiveBtn;
[SerializeField]
public UnityEngine.UI.Button ActiveBack;
[SerializeField]
public UnityEngine.UI.Toggle DragBtn;
[SerializeField]
public UnityEngine.UI.Button DragBack;
[SerializeField]
public UnityEngine.UI.Button MenuBtn;
[SerializeField]
public UnityEngine.UI.Toggle BodyItem;
[SerializeField]
public UnityEngine.UI.Button BodyBtn;
private UIBody3DData mPrivateData = null;
protected override void ClearUIComponents()
{
BodyContent = null;
BodyList = null;
LeftContent = null;
ResetBtn = null;
ActiveBtn = null;
ActiveBack = null;
DragBtn = null;
DragBack = null;
MenuBtn = null;
BodyItem = null;
BodyBtn = null;
mData = null;
}

View File

@ -1,40 +1,167 @@
using UnityEngine;
using UnityEngine.UI;
using QFramework;
using XMLTool;
using TMPro;
using System.Drawing;
using System.Collections.Generic;
using static XMLTool.Body3D;
using UnityEngine.Assertions.Must;
namespace QFramework.Example
{
public class UIBody3DData : UIPanelData
{
public Body3D.Body body = new Body3D.Body();
}
public partial class UIBody3D : UIPanel
{
GameObject root;
public Dictionary<string, Body> bodyList { get; set; } = new Dictionary<string, Body>();
public class BodyListItem
{
public Body3D.Body root;
public List<string> bodys = new List<string>();
public int index = 0;
public string GetCurName()
{
if (index > bodys.Count - 1 || index < 0)
{
return null;
}
return bodys[index];
}
public void Add()
{
if (index < bodys.Count)
{
string name = bodys[index];
var body = root.subBody[name];
Utility.FindObj(body.Path)?.SetActive(true);
index++;
}
}
public void Sub()
{
if (index > 0)
{
index--;
string name = bodys[index];
var body = root.subBody[name];
Utility.FindObj(body.Path)?.SetActive(false);
}
}
}
Dictionary<string, BodyListItem> bodyListIndex = new Dictionary<string, BodyListItem>();
protected override void OnInit(IUIData uiData = null)
{
mData = uiData as UIBody3DData ?? new UIBody3DData();
// please add init code here
DragBtn.onValueChanged.AddListener(isOn =>
{
DragBtn.transform.Find("SubBtns").gameObject.SetActive(isOn);
Body3DController.Instance.allowDrag = isOn;
Body3DController.Instance.SetStatus(Body3DController.Status.Drag, isOn);
TypeEventSystem.Global.Send<OnBody3DDragChanged>();
});
DragBack.onClick.AddListener(() =>
{
GameObject obj = Body3DController.Instance.PopMoveObj();
if (obj != null)
{
obj.GetComponent<ObjDrag>().OnDoubleClick();
}
});
ActiveBtn.onValueChanged.AddListener(isOn =>
{
ActiveBtn.transform.Find("SubBtns").gameObject.SetActive(isOn);
Body3DController.Instance.SetStatus(Body3DController.Status.Active, isOn);
});
ActiveBack.onClick.AddListener(() =>
{
Body3DController.Instance.PopActiveObj()?.gameObject.SetActive(true);
});
ResetBtn.onClick.AddListener(() =>
{
ResetCamera(0.5f);
});
MenuBtn.onClick.AddListener(() =>
{
UIKit.OpenPanelAsync<UIBody3DMenuTree>(canvasLevel: UILevel.PopUI, new UIBody3DMenuTreeData() { body = mData.body }).ToAction().StartGlobal();
Hide();
});
}
protected override void OnOpen(IUIData uiData = null)
{
BodyContent.RemoveAllChildren();
foreach (var body in Global.Instance.curModule.body3d.bodys)
if (uiData!=null)
{
var bodyItem = GameObject.Instantiate(BodyItem.gameObject, BodyContent);
bodyItem.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = body.Value.Name;
var bodyToggle = bodyItem.GetComponent<Toggle>();
bodyToggle.isOn = body.Value.isShow;
bodyToggle.onValueChanged.AddListener(isOn =>
{
Utility.FindObj(body.Value.Path).SetActive(isOn);
});
Utility.FindObj(body.Value.Path).SetActive(body.Value.isShow);
mData = uiData as UIBody3DData ?? new UIBody3DData();
}
BodyContent.RemoveAllChildren();
root = Utility.FindObj(mData.body.Path);
root.SetActive(true);
bodyList.Clear();
foreach (var bodyData in mData.body.subBody)
{
if (bodyData.Value.isBodyList == true)
{
bodyList.Add(bodyData.Value.Name, bodyData.Value);
}
else
{
var body = bodyData.Value;
var bodyItem = GameObject.Instantiate(BodyItem.gameObject, BodyContent);
bodyItem.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = body.Name;
var bodyToggle = bodyItem.GetComponent<Toggle>();
bodyToggle.isOn = body.isShow;
GameObject obj = Utility.FindObj(body.Path);
obj.SetActive(body.isShow);
bodyToggle.onValueChanged.AddListener(isOn =>
{
obj.SetActive(isOn);
});
}
}
BodyList.RemoveAllChildren();
bodyListIndex.Clear();
foreach (var list in bodyList)
{
var body = list.Value;
var add = GameObject.Instantiate(BodyBtn.gameObject, BodyList);
var sub = GameObject.Instantiate(BodyBtn.gameObject, BodyList);
add.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = body.Name + "+";
sub.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = body.Name + "-";
sub.name = add.name = body.Name;
bodyListIndex.Add(body.Name, new BodyListItem() { index = 0, root = body });
bodyListIndex[body.Name].bodys.Clear();
foreach (var subList in body.subBody)
{
bodyListIndex[body.Name].bodys.Add(subList.Value.Name);
Utility.FindObj(subList.Value.Path)?.SetActive(false);
}
add.GetComponent<Button>().onClick.AddListener(() =>
{
bodyListIndex[add.name]?.Add();
});
sub.GetComponent<Button>().onClick.AddListener(() =>
{
bodyListIndex[add.name]?.Sub();
});
}
FreeCameraController.instance.gameObject.SetActive(false);
Show3DCamera.instance.gameObject.SetActive(true);
ResetCamera(-1);
}
public void ResetCamera(float moveTime)
{
Show3DCamera.instance.Set(root.transform, distance: 5, isRenderTexture: false, moveTime: moveTime, pitchMin: -80);
}
protected override void OnShow()

View File

@ -0,0 +1,88 @@
using System;
using UnityEngine;
using UnityEngine.UI;
using QFramework;
namespace QFramework.Example
{
// Generate Id:049dcd2b-a5af-4cf7-a8ee-72f902b5f835
public partial class UIBody3DInfo
{
public const string Name = "UIBody3DInfo";
[SerializeField]
public UnityEngine.RectTransform Content;
[SerializeField]
public UnityEngine.UI.Toggle Group;
[SerializeField]
public TMPro.TextMeshProUGUI PartName;
[SerializeField]
public UnityEngine.UI.Toggle ShowTip;
[SerializeField]
public UnityEngine.UI.Toggle AudioBtn;
[SerializeField]
public UnityEngine.UI.Toggle AudioSpeed;
[SerializeField]
public RectTransform Center;
[SerializeField]
public RectTransform ListContent;
[SerializeField]
public TMPro.TextMeshProUGUI Des;
[SerializeField]
public UnityEngine.UI.Button Back;
[SerializeField]
public UnityEngine.UI.Toggle Active;
[SerializeField]
public UnityEngine.UI.Toggle Transparent;
[SerializeField]
public UnityEngine.UI.Button Single;
[SerializeField]
public UnityEngine.UI.Toggle TransparentOther;
[SerializeField]
public UnityEngine.UI.Image ListItem;
private UIBody3DInfoData mPrivateData = null;
protected override void ClearUIComponents()
{
Content = null;
Group = null;
PartName = null;
ShowTip = null;
AudioBtn = null;
AudioSpeed = null;
Center = null;
ListContent = null;
Des = null;
Back = null;
Active = null;
Transparent = null;
Single = null;
TransparentOther = null;
ListItem = null;
mData = null;
}
public UIBody3DInfoData Data
{
get
{
return mData;
}
}
UIBody3DInfoData mData
{
get
{
return mPrivateData ?? (mPrivateData = new UIBody3DInfoData());
}
set
{
mUIData = value;
mPrivateData = value;
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b80aaf4bf2b27ef4bbf394d5183a96d5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,172 @@
using UnityEngine;
using UnityEngine.UI;
using QFramework;
using XMLTool;
using DG.Tweening;
using TMPro;
using System;
namespace QFramework.Example
{
public class UIBody3DInfoData : UIPanelData
{
public Body3D.Body body;
}
public partial class UIBody3DInfo : UIPanel
{
GameObject obj;
float bgH;
protected override void OnInit(IUIData uiData = null)
{
bgH = Content.sizeDelta.y;
Group.onValueChanged.AddListener(isOn =>
{
TypeEventSystem.Global.Send<OnBody3DGroupTypeChanged>(new OnBody3DGroupTypeChanged() { isGroup = isOn });
if (isOn)
{
Group.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "多选";
}
else
{
Group.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "单选";
}
});
Active.onValueChanged.AddListener(isOn =>
{
obj.SetActive(isOn);
if (isOn)
{
Active.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "隐藏";
}
else
{
Active.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "显示";
}
});
Transparent.onValueChanged.AddListener(isOn =>
{
if (isOn)
{
Transparent.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "实体";
}
else
{
Transparent.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "透明";
}
Utility.SetSurfaceType(obj.GetComponent<MeshRenderer>().material, isOn);
});
Single.onClick.AddListener(() =>
{
Body3DController.Instance.Active(false);
Back.gameObject.SetActive(true);
Active.gameObject.SetActive(false);
Single.gameObject.SetActive(false);
Transparent.gameObject.SetActive(false);
TransparentOther.gameObject.SetActive(false);
});
TransparentOther.onValueChanged.AddListener(isOn =>
{
if (isOn)
{
TransparentOther.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "实体其他";
}
else
{
TransparentOther.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "透明其他";
}
Body3DController.Instance.Transparent(obj, isOn, true);
});
Back.onClick.AddListener(() =>
{
Body3DController.Instance.Active(true);
Back.gameObject.SetActive(false);
Active.gameObject.SetActive(true);
Single.gameObject.SetActive(true);
Transparent.gameObject.SetActive(true);
TransparentOther.gameObject.SetActive(true);
});
ShowTip.onValueChanged.AddListener(isOn =>
{
if (isOn)
{
DOTween.To(() => Content.sizeDelta.y, (v) =>
{
Content.sizeDelta = new Vector2(Content.sizeDelta.x, v);
}, bgH + Center.sizeDelta.y, 0.2f);
}
else
{
DOTween.To(() => Content.sizeDelta.y, (v) =>
{
Content.sizeDelta = new Vector2(Content.sizeDelta.x, v);
}, bgH, 0.2f);
}
});
AudioBtn.onValueChanged.AddListener(isOn =>
{
AudioSpeed.gameObject.SetActive(isOn);
});
AudioSpeed.onValueChanged.AddListener((isOn) =>
{
});
}
public void RefreshTipPath()
{
ListContent.RemoveAllChildren();
ListItemFacotry(mData.body);
}
public void Refresh()
{
PartName.text = mData.body.Name;
obj = Utility.FindObj(mData.body.Path);
Des.text = mData.body.Tip;
RefreshTipPath();
}
public void ListItemFacotry(Body3D.Body body)
{
GameObject obj = GameObject.Instantiate(ListItem.gameObject, ListContent);
obj.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = body.Name + ">";
obj.transform.SetAsFirstSibling();
if (body.parent != null)
{
ListItemFacotry(body.parent);
}
}
protected override void OnOpen(IUIData uiData = null)
{
mData = uiData as UIBody3DInfoData ?? new UIBody3DInfoData();
Refresh();
}
protected override void OnShow()
{
}
protected override void OnHide()
{
}
protected override void OnClose()
{
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c8ce0f6197762174eb582255a26c5fb9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,61 @@
using System;
using UnityEngine;
using UnityEngine.UI;
using QFramework;
namespace QFramework.Example
{
// Generate Id:da8f8310-d647-404d-b0c3-d738c239377d
public partial class UIBody3DMenuTree
{
public const string Name = "UIBody3DMenuTree";
[SerializeField]
public TMPro.TMP_InputField Input;
[SerializeField]
public UnityEngine.UI.Button Close;
[SerializeField]
public RectTransform Content;
[SerializeField]
public RectTransform SearchContent;
[SerializeField]
public RectTransform Item;
[SerializeField]
public RectTransform SearchItem;
private UIBody3DMenuTreeData mPrivateData = null;
protected override void ClearUIComponents()
{
Input = null;
Close = null;
Content = null;
SearchContent = null;
Item = null;
SearchItem = null;
mData = null;
}
public UIBody3DMenuTreeData Data
{
get
{
return mData;
}
}
UIBody3DMenuTreeData mData
{
get
{
return mPrivateData ?? (mPrivateData = new UIBody3DMenuTreeData());
}
set
{
mUIData = value;
mPrivateData = value;
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e5e21447750da4a43a24dc660c11b950
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,338 @@
using UnityEngine;
using UnityEngine.UI;
using XMLTool;
using System.Collections.Generic;
using TMPro;
using System.Drawing;
using UnityEngine.Assertions.Must;
namespace QFramework.Example
{
public class UIBody3DMenuTreeData : UIPanelData
{
public Body3D.Body body;
}
public partial class UIBody3DMenuTree : UIPanel
{
class ObjBtnData
{
public Button btn;
public Body3D.Body body;
public ObjToggleStatus status;
public Dictionary<Body3D.Body, ObjBtnData> objBtnDataMap = new Dictionary<Body3D.Body, ObjBtnData>();
public ObjBtnData(Dictionary<Body3D.Body, ObjBtnData> objBtnDataMap, Button btn, Body3D.Body body)
{
this.objBtnDataMap = objBtnDataMap;
this.btn = btn;
this.body = body;
btn.onClick.AddListener(() =>
{
switch (status)
{
case ObjToggleStatus.None:
case ObjToggleStatus.Half:
SetStatus(ObjToggleStatus.Full);
break;
case ObjToggleStatus.Full:
SetStatus(ObjToggleStatus.None);
break;
}
});
}
public void SetStatus(ObjToggleStatus status)
{
this.status = status;
RefreshStatus();
}
public void RefreshStatus()
{
switch (status)
{
case ObjToggleStatus.None:
Utility.FindObj(body.Path).gameObject.SetActive(false);
foreach (var sub in body.subBody)
{
if (objBtnDataMap.ContainsKey(sub.Value))
{
objBtnDataMap[sub.Value].SetStatus(status);
}
}
break;
case ObjToggleStatus.Half:
break;
case ObjToggleStatus.Full:
Utility.FindObj(body.Path).gameObject.SetActive(true);
foreach (var sub in body.subBody)
{
if (objBtnDataMap.ContainsKey(sub.Value))
{
objBtnDataMap[sub.Value].SetStatus(status);
}
}
break;
}
SetUpStatus(body.parent);
RefreshUI();
}
public void SetUpStatus(Body3D.Body body)
{
//if (body != null)
//{
// foreach (var sub in body.subBody)
// {
// if (objBtnDataMap.ContainsKey(sub.Value))
// {
// objBtnDataMap[sub.Value]
// }
// }
//}
//if (objBtnDataMap.ContainsKey(body))
//{
// objBtnDataMap[body].SetStatus(this.status);
//}
//if (body.parent != null)
//{
// SetUpStatus(body.parent);
//}
}
public void RefreshUI()
{
switch (status)
{
case ObjToggleStatus.None:
btn.transform.Find("Full").gameObject.SetActive(false);
btn.transform.Find("Half").gameObject.SetActive(false);
break;
case ObjToggleStatus.Half:
btn.transform.Find("Full").gameObject.SetActive(false);
btn.transform.Find("Half").gameObject.SetActive(true);
break;
case ObjToggleStatus.Full:
btn.transform.Find("Full").gameObject.SetActive(true);
btn.transform.Find("Half").gameObject.SetActive(false);
break;
}
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť<EFBFBD><C5A5>˵<EFBFBD><CBB5><EFBFBD>ť<EFBFBD>Ķ<EFBFBD>Ӧ
/// </summary>
Dictionary<GameObject, GameObject> searchItemMap = new Dictionary<GameObject, GameObject>();
Dictionary<Body3D.Body, ObjBtnData> objBtnDataMap = new Dictionary<Body3D.Body, ObjBtnData>();
enum ObjToggleStatus
{
None,
Half,
Full
}
protected override void OnInit(IUIData uiData = null)
{
// please add init code here
Close.onClick.AddListener(() =>
{
Hide();
UIKit.OpenPanelAsync<UIBody3D>().ToAction().StartGlobal();
});
Input.onSelect.AddListener(str =>
{
Debug.LogError("onSelect:" + str);
SearchContent.gameObject.SetActive(true);
Content.gameObject.SetActive(false);
});
Input.onEndEdit.AddListener(str =>
{
Debug.LogError("onEndEdit:" + str);
if (string.IsNullOrEmpty(str))
{
SearchContent.gameObject.SetActive(false);
Content.gameObject.SetActive(true);
SearchContent.RemoveAllChildren();
}
else
{
SearchContent.gameObject.SetActive(true);
Content.gameObject.SetActive(false);
RefreshSearchContent(str);
}
});
}
protected override void OnOpen(IUIData uiData = null)
{
mData = uiData as UIBody3DMenuTreeData ?? new UIBody3DMenuTreeData();
Content.RemoveAllChildren();
BuildTreeUI(mData.body);
}
private void BuildTreeUI(Body3D.Body data, int depth = 0, Transform parent = null)
{
foreach (var bodyPair in data.subBody)
{
Body3D.Body body = bodyPair.Value;
// ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Transform targetParent = parent != null ? parent : Content;
// <20><><EFBFBD><EFBFBD>Toggle
GameObject toggleObj = GameObject.Instantiate(Item.gameObject, targetParent);
toggleObj.name = body.Name;
Toggle uiToggle = toggleObj.transform.Find("ToggleContent/UI").GetComponent<Toggle>();
Button objBtn = toggleObj.transform.Find("ToggleContent/Obj").GetComponent<Button>();
TextMeshProUGUI label = toggleObj.transform.Find("ToggleContent/Label").GetComponentInChildren<TextMeshProUGUI>();
label.text = body.Name;
toggleObj.transform.Find("ToggleContent").GetComponent<HorizontalLayoutGroup>().padding = new RectOffset(depth * 15, 5, 2, 2);
if (depth != 0)
{
toggleObj.SetActive(false);
}
Transform subContent = toggleObj.transform.Find("SubContent");
uiToggle.onValueChanged.AddListener((isOn) =>
{
for (int i = 0; i < subContent.childCount; i++)
{
subContent.GetChild(i).gameObject.SetActive(isOn);
}
});
objBtnDataMap.Add(body, new ObjBtnData(objBtnDataMap, objBtn, body));
if (body.subBody.Count > 0)
{
uiToggle.gameObject.SetActive(true);
BuildTreeUI(body, depth + 1, subContent);
}
else
{
uiToggle.gameObject.SetActive(false);
Debug.Log($"<22>ڵ<EFBFBD> {body.Name} û<><C3BB><EFBFBD>ӽڵ㡣");
}
}
}
private void SetSubObjActive(Body3D.Body body, bool isOn, Transform subContent)
{
// 先设置当前对象
GameObject targetObj = Utility.FindObj(body.Path);
if (targetObj != null)
{
targetObj.SetActive(isOn);
}
// 再递归设置子对象
int index = 0;
foreach (var subBodyPair in body.subBody)
{
Body3D.Body subBody = subBodyPair.Value;
if (subContent.childCount > index)
{
Transform childToggleObj = subContent.GetChild(index);
Toggle childObjToggle = childToggleObj.transform.Find("ToggleContent/Obj").GetComponent<Toggle>();
childObjToggle.isOn = isOn;
Transform childSubContent = childToggleObj.transform.Find("SubContent");
SetSubObjActive(subBody, isOn, childSubContent);
}
index++;
}
}
// ʵRefreshSearchContent
private void RefreshSearchContent(string str)
{
// SearchContentµ
searchItemMap.Clear();
SearchContent.RemoveAllChildren();
// ݹ
CheckChildren(Content, str);
}
// ݹ
private void CheckChildren(Transform parent, string str)
{
// ǰµ
for (int i = 0; i < parent.childCount; i++)
{
Transform child = parent.GetChild(i);
// Բ ToggleContent/Label
Transform labelTransform = child.Find("ToggleContent/Label");
if (labelTransform != null)
{
TextMeshProUGUI textComponent = labelTransform.GetComponent<TextMeshProUGUI>();
if (textComponent != null)
{
string name = textComponent.text;
// Ƿַ
if (name.Contains(str))
{
// Ƹ嵽 SearchContent
GameObject clone = GameObject.Instantiate(SearchItem.gameObject, SearchContent);
searchItemMap.Add(clone, child.gameObject);
Transform subContent = child.Find("SubContent");
// Ƿ
if (subContent.childCount > 0)
{
Button btn = clone.transform.Find("Button").GetComponent<Button>();
btn.onClick.AddListener(() =>
{
child.Find("ToggleContent/Obj").GetComponent<Toggle>().isOn = true;
});
Transform buttonLabel = btn.transform.Find("Label");
if (buttonLabel != null)
{
TextMeshProUGUI buttonText = buttonLabel.GetComponent<TextMeshProUGUI>();
if (buttonText != null)
{
buttonText.text = "飩" + name + ">";
}
}
// ݹ鵱ǰ
CheckChildren(subContent, str);
}
else
{
Transform buttonLabel = clone.transform.Find("Button/Label");
if (buttonLabel != null)
{
TextMeshProUGUI buttonText = buttonLabel.GetComponent<TextMeshProUGUI>();
if (buttonText != null)
{
buttonText.text = name + ">";
}
}
}
}
}
}
}
}
protected override void OnShow()
{
}
protected override void OnHide()
{
}
protected override void OnClose()
{
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4f0fcfaf54f5d5f45bad88367fa6cdee
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,9 +1,4 @@
using UnityEngine;
using UnityEngine.UI;
using QFramework;
using UnityEngine.EventSystems;
using System.Drawing;
using static UnityEditor.Progress;
using DG.Tweening;
namespace QFramework.Example

View File

@ -81,10 +81,26 @@ namespace QFramework.Example
private void OnLoadFinished(Scene arg0, LoadSceneMode arg1)
{
SceneManager.sceneLoaded -= OnLoadFinished;
var machin = StateMachineController.Instance;
var op = OperationController.Instance;
var dev = DeviceController.Instance;
ScoreController.Instance.Init();
if (Global.Instance.curModule.FSM.Count > 0)
{
var machin = StateMachineController.Instance;
}
if (Global.Instance.curModule.Operations != null && Global.Instance.curModule.Operations.Count > 0)
{
var op = OperationController.Instance;
}
if (Global.Instance.curModule.Devices != null && Global.Instance.curModule.Devices.Count > 0)
{
var dev = DeviceController.Instance;
}
if (Global.Instance.curModule.body3d != null)
{
var body3d = Body3DController.Instance;
}
if (Global.Instance.curModule.score != null)
{
ScoreController.Instance.Init();
}
UIKit.OpenPanelAsync<UIRightTop>().ToAction().StartGlobal(() =>
{

View File

@ -1,13 +1,9 @@
using UnityEngine;
using UnityEngine.UI;
using QFramework;
using XMLTool;
using UnityEditor.Rendering;
using TMPro;
using System.Collections.Generic;
using static OperationController;
using System;
using UnityEditor.Hardware;
namespace QFramework.Example
{
public class UIOperationListData : UIPanelData

View File

@ -5,11 +5,13 @@ using QFramework;
namespace QFramework.Example
{
// Generate Id:6e5ebb38-7352-4359-a698-28a6e4ca3f0f
// Generate Id:2bccd644-ac9b-4f30-8f17-4a933167afc1
public partial class UITextTip
{
public const string Name = "UITextTip";
[SerializeField]
public TMPro.TextMeshProUGUI Title;
[SerializeField]
public TMPro.TextMeshProUGUI Des;
[SerializeField]
@ -21,6 +23,7 @@ namespace QFramework.Example
protected override void ClearUIComponents()
{
Title = null;
Des = null;
BtnContent = null;
Btn = null;

View File

@ -13,6 +13,7 @@ namespace QFramework.Example
{
public string text;
public string audio;
public string title;
public List<string> btns;
}
public partial class UITextTip : UIPanel
@ -36,15 +37,18 @@ namespace QFramework.Example
mData = uiData as UITextTipData ?? new UITextTipData();
Des.text = Regex.Replace(mData.text, @"\\n", "\n");
BtnContent.RemoveAllChildren();
foreach (var item in mData.btns)
if (mData.btns != null)
{
GameObject btn = GameObject.Instantiate(Btn.gameObject, BtnContent);
btn.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = item;
btn.name = item;
btn.GetComponent<Button>().onClick.AddListener(() =>
foreach (var item in mData.btns)
{
Hide();
});
GameObject btn = GameObject.Instantiate(Btn.gameObject, BtnContent);
btn.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = item;
btn.name = item;
btn.GetComponent<Button>().onClick.AddListener(() =>
{
Hide();
});
}
}
if (string.IsNullOrEmpty(mData.audio) == false)
{
@ -59,6 +63,7 @@ namespace QFramework.Example
});
loader.LoadAsync();
}
Title.text = mData.title;
}
protected override void OnShow()

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using UnityEngine;
using static XMLTool.Body3D;
namespace XMLTool
{
public class AppData
@ -11,6 +12,7 @@ namespace XMLTool
public List<Module> Modules { get; set; }
}
public class PreLoad
{
public Action action;
@ -164,17 +166,42 @@ namespace XMLTool
{
public class Body
{
public string Icon { get; set; }
public string Name { get; set; }
public string Path { get; set; }
public string Tip { get; set; }
public string Audio { get; set; }
public string FocusDistance { get; set; }
public bool isShow = false;
public List<Body> Children { get; set; } = new List<Body>();
public bool isBodyList = false;
public ObjectToggle toggle;
public Dictionary<string, Body> subBody { get; set; } = new Dictionary<string, Body>();
public Body parent;
//public Dictionary<string, Body> bodyList { get; set; } = new Dictionary<string, Body>();
}
public Dictionary<string, Body> bodys = new Dictionary<string, Body>();
public Dictionary<string, Body> parts = new Dictionary<string, Body>();
}
public class ObjectToggle
{
public ColorToggle color;
}
public class ColorToggle
{
public string isOn;
public string isOff;
}
public class XmlParser
{
@ -345,8 +372,8 @@ namespace XMLTool
module.body3d = new Body3D();
foreach (var item in body3d.Elements("Body"))
{
var body = ParseBody(item);
module.body3d.bodys.Add(body.Name, body);
var part = ParseBody(item);
module.body3d.parts.Add(part.Name, part);
}
}
XElement scoreNode = moduleElement.Element("Score");
@ -370,12 +397,15 @@ namespace XMLTool
}
}
}
private static Body3D.Body ParseBody(XElement bodyElement)
private static Body3D.Body ParseBody(XElement bodyElement, Body parent = null)
{
Body3D.Body body = new Body3D.Body
{
Icon = bodyElement.Attribute("icon")?.Value,
Name = bodyElement.Attribute("name")?.Value,
Path = bodyElement.Attribute("path")?.Value
Path = bodyElement.Attribute("path")?.Value,
Tip = bodyElement.Attribute("tip")?.Value,
Audio = bodyElement.Attribute("audio")?.Value
};
var isShow = bodyElement.Attribute("isShow");
@ -383,11 +413,29 @@ namespace XMLTool
{
bool.TryParse(isShow.Value, out body.isShow);
}
var isBodyList = bodyElement.Attribute("isBodyList");
if (isBodyList != null)
{
bool.TryParse(isBodyList.Value, out body.isBodyList);
}
var toggle = bodyElement.Element("ObjectToggle");
if (toggle != null)
{
body.toggle = new ObjectToggle();
var color = toggle.Element("Color");
if (color != null)
{
body.toggle.color = new ColorToggle();
body.toggle.color.isOn = color.Attribute("isOn")?.Value;
body.toggle.color.isOff = color.Attribute("isOff")?.Value;
}
}
foreach (var childElement in bodyElement.Elements("Body"))
{
body.Children.Add(ParseBody(childElement));
var subBody = ParseBody(childElement, body);
body.subBody.Add(subBody.Name, subBody);
}
body.parent = parent;
return body;
}
@ -760,24 +808,21 @@ namespace XMLTool
case "TipWindow":
case "TextTip":
{
var act = new StringListAction();
var act = new DictionaryAction();
XAttribute audio = action.Attribute("audio");
if (audio != null)
{
act.args.Add(audio.Value);
}
else
{
act.args.Add("");
act.args.Add("audio", audio.Value);
}
XAttribute btns = action.Attribute("btns");
if (btns != null)
{
act.args.Add(btns.Value);
act.args.Add("btns", btns.Value);
}
else
XAttribute title = action.Attribute("title");
if (title != null)
{
act.args.Add("");
act.args.Add("title", title.Value);
}
newAction = act;

File diff suppressed because it is too large Load Diff

113
Data/Xml/Test.xml Normal file
View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<Module>
<Scene>Test</Scene>
<Type>All</Type>
<Name>模块2</Name>
<FSM name="状态机1">
<State name="初始状态">
<Enter>
<Action type="Parallel">
<Action type="UIShow" value="UI3DObjSelect"></Action>
</Action>
</Enter>
</State>
<!--<Transision from="初始状态" to="状态2">
<Condition type="ObjClick" value="Cube (1)"></Condition>
</Transision>-->
</FSM>
<Body3D>
<Body name="头颈" icon="" path="Ren/Tou" >
<Body name="骨骼系统" path="Ren/Tou/GuGe" isShow="false">
<Body name="肋骨" path="Ren/Tou/GuGe/LeiGu">
<Body name="左肋" path="Ren/Tou/GuGe/LeiGu/ZuoLei">
<Body name="左一" path="Ren/Tou/GuGe/LeiGu/ZuoLei/1" tip="左一肋骨描述">
<ObjectToggle>
<Color isOn="0,255,255" isOff="255,255,255"></Color>
</ObjectToggle>
</Body>
<Body name="左二" path="Ren/Tou/GuGe/LeiGu/ZuoLei/2" tip="左二肋骨描述">
<ObjectToggle>
<Color isOn="0,255,255" isOff="255,255,255"></Color>
</ObjectToggle>
</Body>
</Body>
<Body name="右肋" path="Ren/Tou/GuGe/LeiGu/YouLei">
<Body name="右一" path="Ren/Tou/GuGe/LeiGu/YouLei/1" tip="7右一肋骨描述">
<ObjectToggle>
<Color isOn="0,255,255" isOff="255,255,255"></Color>
</ObjectToggle>
</Body>
<Body name="右二" path="Ren/Tou/GuGe/LeiGu/YouLei/2" tip="右二肋骨描述">
<ObjectToggle>
<Color isOn="0,255,255" isOff="255,255,255"></Color>
</ObjectToggle>
</Body>
</Body>
</Body>
</Body>
<Body name="皮肤系统" path="Ren/Tou/PiFu" isShow="false">
<Body name="肋骨" path="Ren/Tou/PiFu/LeiGu">
<Body name="左肋" path="Ren/Tou/PiFu/LeiGu/ZuoLei">
<Body name="左一" path="Ren/Tou/PiFu/LeiGu/ZuoLei/1"></Body>
<Body name="左二" path="Ren/Tou/PiFu/LeiGu/ZuoLei/2"></Body>
</Body>
<Body name="右肋" path="Ren/Tou/PiFu/LeiGu/YouLei">
<Body name="右一" path="Ren/Tou/PiFu/LeiGu/YouLei/1"></Body>
<Body name="右二" path="Ren/Tou/PiFu/LeiGu/YouLei/2"></Body>
</Body>
</Body>
</Body>
<Body name="肌肉" isBodyList="true" path="Ren/Tou/JiRou">
<Body name="111" path="Ren/Tou/JiRou/1">
<ObjectToggle>
<Color></Color>
</ObjectToggle>
</Body>
<Body name="222" path="Ren/Tou/JiRou/2">
<ObjectToggle>
<Color></Color>
</ObjectToggle>
</Body>
<Body name="333" path="Ren/Tou/JiRou/3">
<ObjectToggle>
<Color></Color>
</ObjectToggle>
</Body>
</Body>
<!--<Body name="神经" isBodyList="true">
<Body name="aaa" path="Ren/Tou/ShenJing/1">
<ObjectToggle>
<Color></Color>
</ObjectToggle>
</Body>
<Body name="bbb" path="Ren/Tou/ShenJing/2">
<ObjectToggle>
<Color></Color>
</ObjectToggle>
</Body>
<Body name="ccc" path="Ren/Tou/ShenJing/3">
<ObjectToggle>
<Color></Color>
</ObjectToggle>
</Body>
</Body>-->
</Body>
<Body name="肩膀" icon="" path="Ren/JianBang" >
<Body name="肩膀系统1" path="Ren/JianBang/Cube">
<Body name="肋骨" path="Ren/JianBang/Cube/Cube (1)">
<Body name="左肋" path="Ren/JianBang/Cube/Cube (1)/Cube (2)">
<Body name="左一" path="Ren/JianBang/Cube/Cube (1)/Cube (2)/Cube (3)"></Body>
<Body name="左二" path="Ren/JianBang/Cube/Cube (1)/Cube (2)/Sphere"></Body>
</Body>
</Body>
</Body>
</Body>
</Body3D>
</Module>

View File

@ -101,7 +101,7 @@
-->
<Action type="CameraSwitch" nearDevice="肠钳" normalDevice="组织钳" nearPos="-3.942,3.24,-4.319" nearRot="16.42331,180,0" nearTime="1" normalPos="-3.942,3.24,-3.946" normalRot="16.42331,180,-5.305351E-14" normalTime="1"></Action>
<!--文字弹窗 按钮可以多个 点击事件使用UIClick-->
<Action type="TextTip" value="这里是文字描述" audio="q001.mp3" btns="确定,取消"/>
<Action type="TextTip" title="这里是标题" value="这里是文字描述" audio="q001.mp3" btns="确定,取消"/>
<!--锁定镜头 true为开启 false为锁定 isMove是移动镜头 isRotate是旋转镜头-->
<Action type="CameraLock" isMove="true" isRotate="true"></Action>
<!--播放视频 size为视频窗口大小 offset为窗口中心点偏移 播放完成事件和关闭事件 通常使用关闭事件即可