Removed external texture loading.
Added Discord link. Minimal cleanup.
This commit is contained in:
parent
51cc9df14f
commit
17862fa5c3
|
@ -1,9 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 425c3aed47dd05444960ca41af18e591
|
||||
folderAsset: yes
|
||||
timeCreated: 1481126943
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e00e6f90ab8233e46a41c5e33917c642
|
||||
timeCreated: 1585839223
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
Fire texture - http://suicidecrew.deviantart.com/art/Fire-Seamless-tile-116721709
|
||||
Screen Space Curvature - http://madebyevan.com/shaders/curvature/
|
||||
|
||||
Grass Blades texture from:
|
||||
http://www.fuzzimo.com/free-hi-res-ornamental-grass-blade-textures/
|
||||
|
||||
Keep them coming, contribute today!
|
||||
http://amplify.pt/unity/amplify-shader-editor/contribute
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 451790f45b4e5434586d16e924540ee7
|
||||
timeCreated: 1481127071
|
||||
licenseType: Store
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
Use your Unity Asset Store invoice number in the Amplify Product download page to download the latest Amplify Shader Editor package and Shader Samples package.
|
||||
|
||||
1 - Go to http://amplify.pt/download
|
||||
2 - Enter your Unity Asset Store and click Unlock
|
||||
3 - Scroll down to the Amplify Shader Editor entry
|
||||
4 - Click the Sample button to download the sample package.
|
||||
|
||||
NOTE: You can also use the product download page to download the latest Amplify Shader Editor package. Due to Asset Store review times and update cycles, the version hosted there is usually more recent.
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 03fe3bdcb7262a84ca060ff336c7d8d1
|
||||
timeCreated: 1481127071
|
||||
licenseType: Store
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: dff05fea7446d7b4e9029bfab77455d2
|
||||
timeCreated: 1559836117
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d1c0b77896049554fa4b635531caf741
|
||||
timeCreated: 1533059192
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f7c4e22642de60d448f4e4809190f7b1
|
||||
timeCreated: 1559837332
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6ecbfd0a046659943a69328c98ff0442
|
||||
timeCreated: 1520956522
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,12 +0,0 @@
|
|||
Samples are provided by pipeline, if you want to import the samples please use the "Start Screen" to do so instead of unpacking manually, this will ensure that they are imported correctly. Go to Windows > Amplify Shader Editor > Start Screen and under "Shader Samples" select the ones you want to import. Do be aware that importing any SRP samples requires to first install the respective pipeline using the package manager.
|
||||
|
||||
However if you still want to import them manually here is the breakdown of the included packages:
|
||||
* "Sample Resources": constains the assets shared between all pipelines, like textures and meshes, this should always be imported first
|
||||
* "Built-In Samples": contains the samples shaders with their scenes for the built-in rendering system
|
||||
* "HDRP Samples": contains the samples shaders with their scenes for HDRP 7.X.X and up (Unity 2019.3 and up)
|
||||
* "HDRP Samples (Legacy)": contains the samples shaders with their scenes for HDRP 6.X.X and down (from Unity 2018.2 to Unity 2019.2)
|
||||
* "URP Samples": contains the samples shaders with their scenes for URP 7.X.X and up (Unity 2019.3 and up)
|
||||
* "LWRP Samples": contains the samples shaders with their scenes for LWRP between 4.X.X and 6.X.X (from Unity 2018.3 to Unity 2019.2)
|
||||
* "LWRP Samples (Legacy)": contains the samples shaders with their scenes for LWRP 3.X.X (Unity 2018.2)
|
||||
|
||||
Please notice that in some cases the sample may have been created in a different version from the SRP that you are using which can produce "pink" shaders. If that happens it's usually the case that you only need to open the shader in ASE and save it to update it.
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5c5208e121a880c4fbb9de7aaeaa8aa2
|
||||
timeCreated: 1541776170
|
||||
licenseType: Store
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c0a0a980c9ba86345bc15411db88d34f
|
||||
timeCreated: 1585839223
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a9d68dd8913f05d4d9ce75e7b40c6044
|
||||
timeCreated: 1575902011
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -73,7 +73,7 @@ AnimatorStateMachine:
|
|||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 8321995038595102421}
|
||||
m_Position: {x: 260, y: 170, z: 0}
|
||||
m_Position: {x: 260, y: 160, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
|
|
Binary file not shown.
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9a6f8c7c1ea72ce46831c5e1b6150d0c
|
||||
timeCreated: 1466790933
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6c1aa30ed76f0414098c23d2d01e12b7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9a1e19c65f9ff0f4bbbe82ded49fa582
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d634f7ffe4093a347af6b72886c5bfe8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 855b9920034d47542b595e11470c873d
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 473c8132495fb3f43a506469ed1ff16f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3d1a7cf6410f0c74d995dc3fe104d320
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -3382,7 +3382,7 @@ GameObject:
|
|||
- component: {fileID: 311768530}
|
||||
- component: {fileID: 311768529}
|
||||
m_Layer: 5
|
||||
m_Name: CreditsButton
|
||||
m_Name: SettingsButton
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
@ -4804,8 +4804,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 540, y: -1273.51}
|
||||
m_SizeDelta: {x: 540, y: 200}
|
||||
m_AnchoredPosition: {x: 523, y: -1273.51}
|
||||
m_SizeDelta: {x: 523, y: 200}
|
||||
m_Pivot: {x: 1, y: 0}
|
||||
--- !u!114 &491643502
|
||||
MonoBehaviour:
|
||||
|
@ -6472,8 +6472,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 270, y: -688.81}
|
||||
m_SizeDelta: {x: 540, y: 67}
|
||||
m_AnchoredPosition: {x: 261.5, y: -688.81}
|
||||
m_SizeDelta: {x: 523, y: 67}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &549399992
|
||||
MonoBehaviour:
|
||||
|
@ -12806,8 +12806,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 270, y: -864.41003}
|
||||
m_SizeDelta: {x: 540, y: 284.2}
|
||||
m_AnchoredPosition: {x: 261.5, y: -864.41003}
|
||||
m_SizeDelta: {x: 523, y: 284.2}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &749479955
|
||||
MonoBehaviour:
|
||||
|
@ -14235,6 +14235,81 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 835771903}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &865850249
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 865850250}
|
||||
- component: {fileID: 865850252}
|
||||
- component: {fileID: 865850251}
|
||||
m_Layer: 5
|
||||
m_Name: Image
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &865850250
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 865850249}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1979302282}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: -69.26, y: 0}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!114 &865850251
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 865850249}
|
||||
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: 606c8ef44552e594c8ba1b9ae8a7e46e, 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!222 &865850252
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 865850249}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &870154645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -15889,6 +15964,7 @@ RectTransform:
|
|||
- {fileID: 749479954}
|
||||
- {fileID: 1336599967}
|
||||
- {fileID: 491643501}
|
||||
- {fileID: 1979302282}
|
||||
m_Father: {fileID: 1404419001}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
@ -15916,9 +15992,9 @@ MonoBehaviour:
|
|||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
|
@ -15930,7 +16006,7 @@ MonoBehaviour:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1042785513}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
|
@ -17716,8 +17792,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 270, y: -33.5}
|
||||
m_SizeDelta: {x: 540, y: 67}
|
||||
m_AnchoredPosition: {x: 261.5, y: -33.5}
|
||||
m_SizeDelta: {x: 523, y: 67}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1243768363
|
||||
MonoBehaviour:
|
||||
|
@ -18706,6 +18782,140 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1280518977}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1284639743
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1284639744}
|
||||
- component: {fileID: 1284639746}
|
||||
- component: {fileID: 1284639745}
|
||||
m_Layer: 5
|
||||
m_Name: Text (TMP)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1284639744
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1284639743}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1979302282}
|
||||
m_RootOrder: 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 &1284639745
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1284639743}
|
||||
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: Model Viewer Discord
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 38f9c70d045080845a18307715f00e15, type: 2}
|
||||
m_sharedMaterial: {fileID: 3861585161733349673, guid: 38f9c70d045080845a18307715f00e15, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4281479730
|
||||
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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!222 &1284639746
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1284639743}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1304524550
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -19027,8 +19237,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 270, y: -1040.01}
|
||||
m_SizeDelta: {x: 540, y: 67}
|
||||
m_AnchoredPosition: {x: 261.5, y: -1040.01}
|
||||
m_SizeDelta: {x: 523, y: 67}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1336599968
|
||||
MonoBehaviour:
|
||||
|
@ -22547,7 +22757,7 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
AAAPI: https://api.atlasacademy.io/export/
|
||||
Region: JP
|
||||
debugUrl: s.a.test/website/modelViewer.html
|
||||
debugUrl: s.a.test/website/modelViewer.html?id=1101100
|
||||
SpawnedServants: []
|
||||
AnimationName:
|
||||
Servants:
|
||||
|
@ -23356,8 +23566,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 540, y: -444.655}
|
||||
m_SizeDelta: {x: 540, y: 421.31}
|
||||
m_AnchoredPosition: {x: 523, y: -444.655}
|
||||
m_SizeDelta: {x: 523, y: 421.31}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!114 &1684536183
|
||||
MonoBehaviour:
|
||||
|
@ -24453,8 +24663,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 270, y: -200.5}
|
||||
m_SizeDelta: {x: 540, y: 67}
|
||||
m_AnchoredPosition: {x: 261.5, y: -200.5}
|
||||
m_SizeDelta: {x: 523, y: 67}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1806041144
|
||||
MonoBehaviour:
|
||||
|
@ -26290,6 +26500,140 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1971428426}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1979302281
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1979302282}
|
||||
- component: {fileID: 1979302285}
|
||||
- component: {fileID: 1979302284}
|
||||
- component: {fileID: 1979302283}
|
||||
m_Layer: 5
|
||||
m_Name: Button
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1979302282
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1979302281}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1284639744}
|
||||
- {fileID: 865850250}
|
||||
m_Father: {fileID: 1042785514}
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 261.5, y: -1273.51}
|
||||
m_SizeDelta: {x: 523, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!114 &1979302283
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1979302281}
|
||||
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: 1
|
||||
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: 0}
|
||||
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: 1979302284}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 1629128743}
|
||||
m_TargetAssemblyTypeName: UIController, Assembly-CSharp
|
||||
m_MethodName: OpenUrl
|
||||
m_Mode: 5
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument: https://discord.gg/xVvBcKfAas
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!114 &1979302284
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1979302281}
|
||||
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: 0.392}
|
||||
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: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
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!222 &1979302285
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1979302281}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1995491225
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -26949,8 +27293,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 270, y: -117}
|
||||
m_SizeDelta: {x: 540, y: 100}
|
||||
m_AnchoredPosition: {x: 261.5, y: -117}
|
||||
m_SizeDelta: {x: 523, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &2073514567
|
||||
GameObject:
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 055f725890d872b4bb22fa493ed06356
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,281 +0,0 @@
|
|||
/* HaRepacker - WZ extractor and repacker
|
||||
* Copyright (C) 2009, 2010 haha01haha01
|
||||
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.*/
|
||||
|
||||
namespace SharpApng
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using uGIF;
|
||||
using UnityEngine;
|
||||
|
||||
public class Frame : IDisposable
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private Image m_bmp;
|
||||
private int m_den;
|
||||
private int m_num;
|
||||
|
||||
#endregion Fields
|
||||
|
||||
#region Constructors
|
||||
|
||||
public Frame(Image bmp, int num, int den)
|
||||
{
|
||||
this.m_num = num;
|
||||
this.m_den = den;
|
||||
this.m_bmp = bmp;
|
||||
}
|
||||
|
||||
#endregion Constructors
|
||||
|
||||
#region Properties
|
||||
|
||||
public Image Bitmap
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_bmp;
|
||||
}
|
||||
set
|
||||
{
|
||||
m_bmp = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int DelayDen
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_den;
|
||||
}
|
||||
set
|
||||
{
|
||||
m_den = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int DelayNum
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_num;
|
||||
}
|
||||
set
|
||||
{
|
||||
m_num = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Properties
|
||||
|
||||
#region Methods
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
|
||||
#endregion Methods
|
||||
}
|
||||
|
||||
internal class Apng : IDisposable
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private List<Frame> m_frames = new List<Frame>();
|
||||
|
||||
#endregion Fields
|
||||
|
||||
#region Constructors
|
||||
|
||||
public Apng()
|
||||
{
|
||||
}
|
||||
|
||||
#endregion Constructors
|
||||
|
||||
#region Indexers
|
||||
|
||||
public Frame this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (index < m_frames.Count) return m_frames[index];
|
||||
else return null;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (index < m_frames.Count) m_frames[index] = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Indexers
|
||||
|
||||
#region Methods
|
||||
|
||||
public void AddFrame(Frame frame)
|
||||
{
|
||||
m_frames.Add(frame);
|
||||
}
|
||||
|
||||
public void AddFrame(Image bmp, int num, int den)
|
||||
{
|
||||
m_frames.Add(new Frame(bmp, num, den));
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
foreach (Frame frame in m_frames)
|
||||
frame.Dispose();
|
||||
m_frames.Clear();
|
||||
}
|
||||
|
||||
public void WriteApng(string path, bool firstFrameHidden, bool disposeAfter)
|
||||
{
|
||||
Size maxSize = new Size(m_frames.Max(f => f.Bitmap.width), m_frames.Max(f => f.Bitmap.height));
|
||||
for (int i = 0; i < m_frames.Count; i++)
|
||||
{
|
||||
Frame frame = m_frames[i];
|
||||
//if (frame.Bitmap.Width != maxSize.Width || frame.Bitmap.Height != maxSize.Height)
|
||||
//frame.Bitmap = ExtendImage(frame.Bitmap, maxSize);
|
||||
ApngBasicWrapper.CreateFrameManaged(frame.Bitmap, frame.DelayNum, frame.DelayDen, i);
|
||||
}
|
||||
ApngBasicWrapper.SaveApngManaged(path, m_frames.Count, maxSize.Width, maxSize.Height, firstFrameHidden);
|
||||
if (disposeAfter) Dispose();
|
||||
}
|
||||
|
||||
private static Image ExtendImage(Image source, Size newSize)
|
||||
{
|
||||
Image result = new Image(newSize.Width, newSize.Height);
|
||||
//using (Graphics g = Graphics.FromImage(result))
|
||||
//{
|
||||
// g.DrawImageUnscaled(source, 0, 0);
|
||||
//}
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion Methods
|
||||
}
|
||||
|
||||
internal static class ApngBasicWrapper
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private const string apngdll = "apng64.dll";
|
||||
private const int PIXEL_DEPTH = 4;
|
||||
|
||||
#endregion Fields
|
||||
|
||||
#region Methods
|
||||
|
||||
internal static void CreateFrameManaged(Image source, int num, int den, int i)
|
||||
{
|
||||
IntPtr ptr = MarshalByteArray(TranslateImage(source));
|
||||
CreateFrame(ptr, num, den, i, source.width * source.height * PIXEL_DEPTH);
|
||||
ReleaseData(ptr);
|
||||
}
|
||||
|
||||
internal static void SaveApngManaged(string path, int frameCount, int width, int height, bool firstFrameHidden)
|
||||
{
|
||||
IntPtr pathPtr = MarshalString(path);
|
||||
byte firstFrame = firstFrameHidden ? (byte)1 : (byte)0;
|
||||
SaveAPNG(pathPtr, frameCount, width, height, PIXEL_DEPTH, firstFrame);
|
||||
|
||||
var bufferSize = GetBufferSize();
|
||||
//Call and return the pointer
|
||||
IntPtr returnedPtr = GetBufferContent();
|
||||
|
||||
//Create new Variable to Store the result
|
||||
byte[] returnedResult = new byte[bufferSize];
|
||||
|
||||
//Copy from result pointer to the C# variable
|
||||
Marshal.Copy(returnedPtr, returnedResult, 0, bufferSize);
|
||||
File.WriteAllBytes(path, returnedResult);
|
||||
|
||||
Debug.Log("saved");
|
||||
ReleaseData(pathPtr);
|
||||
}
|
||||
|
||||
[DllImport(apngdll, CallingConvention = CallingConvention.StdCall)]
|
||||
private static extern void CreateFrame(IntPtr pdata, int num, int den, int i, int len);
|
||||
|
||||
[DllImport(apngdll)]
|
||||
private static extern void SaveAPNG(IntPtr path, int frameCount, int width, int height, int bytesPerPixel, byte firstFrameHidden);
|
||||
|
||||
[DllImport(apngdll)]
|
||||
private static extern int GetBufferSize();
|
||||
|
||||
[DllImport(apngdll)]
|
||||
private static extern IntPtr GetBufferContent();
|
||||
|
||||
private static IntPtr MarshalByteArray(byte[] source)
|
||||
{
|
||||
int size = Marshal.SizeOf(source[0]) * source.Length;
|
||||
IntPtr pnt = Marshal.AllocHGlobal(size);
|
||||
Marshal.Copy(source, 0, pnt, source.Length);
|
||||
return pnt;
|
||||
}
|
||||
|
||||
private static IntPtr MarshalString(string source)
|
||||
{
|
||||
byte[] toMarshal = Encoding.ASCII.GetBytes(source);
|
||||
int size = Marshal.SizeOf(source[0]) * source.Length;
|
||||
IntPtr pnt = Marshal.AllocHGlobal(size + Marshal.SizeOf(source[0]));
|
||||
Marshal.Copy(toMarshal, 0, pnt, source.Length);
|
||||
//Marshal.Copy(new byte[] { 0 }, 0, new IntPtr(pnt.ToInt32() + size), 1);
|
||||
return pnt;
|
||||
}
|
||||
|
||||
private static void ReleaseData(IntPtr ptr)
|
||||
{
|
||||
Marshal.FreeHGlobal(ptr);
|
||||
}
|
||||
|
||||
static byte[] TranslateImage(Image texture)
|
||||
{
|
||||
int width = texture.width, height = texture.height;
|
||||
Color32[] original = new Color32[texture.pixels.Length];
|
||||
texture.pixels.CopyTo(original, 0);
|
||||
byte[] result = new byte[texture.width * texture.height * PIXEL_DEPTH];
|
||||
|
||||
int p = 0;
|
||||
Debug.Log("1");
|
||||
for (int y = 0; y < height; y++)
|
||||
{
|
||||
for (int x = 0; x < width; x++)
|
||||
{
|
||||
int index = (y * width + x);
|
||||
int index2 = ((height-y-1) * width + x);
|
||||
result[index * PIXEL_DEPTH] = original[index2].b;
|
||||
result[index * PIXEL_DEPTH + 1] = original[index2].g;
|
||||
result[index * PIXEL_DEPTH + 2] = original[index2].r;
|
||||
result[index * PIXEL_DEPTH + 3] = original[index2].a;
|
||||
}
|
||||
p += 1;
|
||||
}
|
||||
Debug.Log("2");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion Methods
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: de9592c4ae9713d41ae7a9ae40d1b549
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,11 +1,6 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class FateModelBuilder : MonoBehaviour
|
||||
|
@ -52,40 +47,25 @@ public class FateModelBuilder : MonoBehaviour
|
|||
var lcButt = UIController.Instance.LoadedCharaButton;
|
||||
lcButt.GetComponentInChildren<TMPro.TextMeshProUGUI>().text = servant.name + " - AA database";
|
||||
lcButt.GetComponentInChildren<Button>().onClick.RemoveAllListeners();
|
||||
lcButt.GetComponentInChildren<Button>().onClick.AddListener(() => Application.OpenURL("https://apps.atlasacademy.io/db/JP/servant/" + servant.collectionNo));
|
||||
lcButt.GetComponentInChildren<Button>().onClick.AddListener(() => UIController.Instance.OpenUrl("https://apps.atlasacademy.io/db/JP/servant/" + servant.collectionNo));
|
||||
}
|
||||
|
||||
AssetBundle assetBundle = null;
|
||||
string url = $"{urlBase}/manifest.json";
|
||||
Manifest manifest = null;
|
||||
yield return FateAssetManager.DownloadText(url, (txt) =>
|
||||
{
|
||||
if (string.IsNullOrEmpty(txt)) return;
|
||||
txt = $"{{\"Entries\": {txt} }}";
|
||||
manifest = (Manifest)JsonUtility.FromJson(txt, typeof(Manifest));
|
||||
});
|
||||
string url = $"{urlBase}/{idNum}";
|
||||
|
||||
if (manifest == null)
|
||||
{
|
||||
Error.Log(Color.red, "Failed to download manifest from " + url);
|
||||
LoadingInProgress = false;
|
||||
yield break;
|
||||
}
|
||||
|
||||
Error.Log(Color.green, "Loading character id " + id);
|
||||
|
||||
url = $"{urlBase}/{manifest.GetFilePath(idNum.ToString())}";
|
||||
yield return FateAssetManager.DownloadBundle(url, (cb) =>
|
||||
{
|
||||
assetBundle = cb;
|
||||
});
|
||||
|
||||
if (assetBundle == null)
|
||||
{
|
||||
Error.Log(Color.red, "Loading assetbundle failed!");
|
||||
LoadingInProgress = false;
|
||||
yield break;
|
||||
}
|
||||
StartCoroutine(BuildModel(assetBundle, manifest, urlBase));
|
||||
|
||||
StartCoroutine(BuildModel(assetBundle, urlBase));
|
||||
}
|
||||
|
||||
public void ReplaceTexture()
|
||||
|
@ -124,7 +104,7 @@ public class FateModelBuilder : MonoBehaviour
|
|||
UIController.Instance.ReactivateTextureLoad();
|
||||
}
|
||||
|
||||
public IEnumerator BuildModel(AssetBundle assetBundle, Manifest manifest, string modelUrl)
|
||||
public IEnumerator BuildModel(AssetBundle assetBundle, string modelUrl)
|
||||
{
|
||||
if (assetBundle == null)
|
||||
{
|
||||
|
@ -151,16 +131,7 @@ public class FateModelBuilder : MonoBehaviour
|
|||
else if (asset.GetType() == typeof(Texture2D))
|
||||
{
|
||||
Texture2D tex = asset as Texture2D;
|
||||
yield return FateAssetManager.DownloadTexture(modelUrl + "/" + manifest.GetFilePath(tex.name + ".png"), (tex2) =>
|
||||
{
|
||||
if(tex2 == null)
|
||||
{
|
||||
Error.Log(Color.red, "Downloading " + tex.name + " failed");
|
||||
return;
|
||||
}
|
||||
tex2.name = tex.name;
|
||||
servant.Textures.Add(tex2);
|
||||
});
|
||||
servant.Textures.Add(tex);
|
||||
}
|
||||
else if (asset.GetType() == typeof(Material))
|
||||
{
|
||||
|
|
|
@ -1,28 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
[Serializable]
|
||||
public class Manifest
|
||||
{
|
||||
public List<ManifestEntry> Entries = new List<ManifestEntry>();
|
||||
|
||||
public string GetFilePath(string input)
|
||||
{
|
||||
try { return Entries.FirstOrDefault(e => Path.GetFileName(e.path).ToLower() == input.ToLower()).path; }
|
||||
catch { Error.Log(UnityEngine.Color.red, input + " not found in Manifest"); return null; }
|
||||
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class ManifestEntry
|
||||
{
|
||||
public string path;
|
||||
public string type;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class BasicServant
|
||||
{
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
using SharpApng;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using uGIF;
|
||||
using UnityEngine;
|
||||
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
// This was made by aaro4130 on the Unity forums. Thanks boss!
|
||||
// It's been optimized and slimmed down for the purpose of loading Quake 3 TGA textures from memory streams.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
public static class TGALoader
|
||||
{
|
||||
|
||||
public static Texture2D LoadTGA(string fileName)
|
||||
{
|
||||
using (var imageFile = File.OpenRead(fileName))
|
||||
{
|
||||
return LoadTGA(imageFile);
|
||||
}
|
||||
}
|
||||
|
||||
public static Texture2D LoadTGA(Stream TGAStream)
|
||||
{
|
||||
|
||||
using (BinaryReader r = new BinaryReader(TGAStream))
|
||||
{
|
||||
// Skip some header info we don't care about.
|
||||
// Even if we did care, we have to move the stream seek point to the beginning,
|
||||
// as the previous method in the workflow left it at the end.
|
||||
r.BaseStream.Seek(12, SeekOrigin.Begin);
|
||||
|
||||
short width = r.ReadInt16();
|
||||
short height = r.ReadInt16();
|
||||
int bitDepth = r.ReadByte();
|
||||
|
||||
// Skip a byte of header information we don't care about.
|
||||
r.BaseStream.Seek(1, SeekOrigin.Current);
|
||||
|
||||
Texture2D tex = new Texture2D(width, height);
|
||||
Color32[] pulledColors = new Color32[width * height];
|
||||
|
||||
if (bitDepth == 32)
|
||||
{
|
||||
for (int i = 0; i < width * height; i++)
|
||||
{
|
||||
byte red = r.ReadByte();
|
||||
byte green = r.ReadByte();
|
||||
byte blue = r.ReadByte();
|
||||
byte alpha = r.ReadByte();
|
||||
|
||||
pulledColors [i] = new Color32(blue, green, red, alpha);
|
||||
}
|
||||
} else if (bitDepth == 24)
|
||||
{
|
||||
for (int i = 0; i < width * height; i++)
|
||||
{
|
||||
byte red = r.ReadByte();
|
||||
byte green = r.ReadByte();
|
||||
byte blue = r.ReadByte();
|
||||
|
||||
pulledColors [i] = new Color32(blue, green, red, 1);
|
||||
}
|
||||
} else
|
||||
{
|
||||
throw new Exception("TGA texture had non 32/24 bit depth.");
|
||||
}
|
||||
|
||||
tex.SetPixels32(pulledColors);
|
||||
tex.Apply();
|
||||
return tex;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 854d5bb72ea5cbc4f976cc4e06f28968
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -99,7 +99,7 @@ public class UIController : MonoBehaviour
|
|||
|
||||
GameObject go = Instantiate(databaseContainer, ServantCostumeList.content);
|
||||
go.transform.Find("Button").GetComponent<Button>().onClick.AddListener(() => {
|
||||
Application.OpenURL("https://apps.atlasacademy.io/db/JP/servant/" + servant.collectionNo);
|
||||
OpenUrl("https://apps.atlasacademy.io/db/JP/servant/" + servant.collectionNo);
|
||||
});
|
||||
|
||||
foreach (var cos in servant.costumes)
|
||||
|
@ -126,7 +126,6 @@ public class UIController : MonoBehaviour
|
|||
go.transform.Find("Name").GetComponent<TMPro.TextMeshProUGUI>().text = !string.IsNullOrEmpty(cos.shortName)? cos.shortName : cos.name;
|
||||
go.transform.Find("Button").GetComponent<Button>().onClick.AddListener(() => {
|
||||
StartCoroutine(FateModelBuilder.Instance.ReplaceServant(cos.battleCharaId.ToString()));
|
||||
//Application.OpenURL($"https://katboi01.github.io/FateViewer/?id={cos.battleCharaId}{(FateViewerMain.Instance.Region != "JP"? $"?region={FateViewerMain.Instance.Region}" : "")}");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -142,11 +141,6 @@ public class UIController : MonoBehaviour
|
|||
}
|
||||
EnemyCostumeList.gameObject.SetActive(true);
|
||||
|
||||
//GameObject go = Instantiate(databaseContainer, EnemyCostumeList.Content);
|
||||
//go.transform.Find("Button").GetComponent<Button>().onClick.AddListener(() => {
|
||||
// Application.OpenURL("https://apps.atlasacademy.io/db/JP/servant/" + servant[0].collectionNo);
|
||||
//});
|
||||
|
||||
foreach (var cos in enemy)
|
||||
{
|
||||
GameObject go = Instantiate(costumeContainer, EnemyCostumeList.content);
|
||||
|
@ -160,6 +154,11 @@ public class UIController : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
public void OpenUrl(string url)
|
||||
{
|
||||
Application.OpenURL(url);
|
||||
}
|
||||
|
||||
public void ReactivateTextureLoad()
|
||||
{
|
||||
ReloadTextureButton.interactable = true;
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
|
@ -0,0 +1,120 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 606c8ef44552e594c8ba1b9ae8a7e46e
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 256
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 256
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 256
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 13 KiB |
Binary file not shown.
Before Width: | Height: | Size: 175 B |
|
@ -1,105 +0,0 @@
|
|||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
*, *:before, *:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
canvas {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
#unity-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
#unity-canvas {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: transparent;
|
||||
}
|
||||
#loading-cover {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
#unity-loading-bar {
|
||||
flex: 1 1 auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
#unity-logo {
|
||||
text-align: center;
|
||||
}
|
||||
#unity-logo img {
|
||||
max-width: 80%;
|
||||
}
|
||||
#unity-progress-bar-empty {
|
||||
width: 80%;
|
||||
height: 24px;
|
||||
margin: 10px 20px 20px 10px;
|
||||
text-align: left;
|
||||
border: 1px solid white;
|
||||
padding: 2px;
|
||||
}
|
||||
#unity-progress-bar-full {
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
background: white;
|
||||
}
|
||||
.light #unity-progress-bar-empty {
|
||||
border-color: black;
|
||||
}
|
||||
.light #unity-progress-bar-full {
|
||||
background: black;
|
||||
}
|
||||
|
||||
#unity-fullscreen-button {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
bottom: 10px;
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
background: url('fullscreen-button.png') no-repeat center;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
.spinner,
|
||||
.spinner:after {
|
||||
border-radius: 50%;
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
}
|
||||
.spinner {
|
||||
margin: 10px;
|
||||
font-size: 10px;
|
||||
position: relative;
|
||||
text-indent: -9999em;
|
||||
border-top: 1.1em solid rgba(255, 255, 255, 0.2);
|
||||
border-right: 1.1em solid rgba(255, 255, 255, 0.2);
|
||||
border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
|
||||
border-left: 1.1em solid #ffffff;
|
||||
transform: translateZ(0);
|
||||
animation: spinner-spin 1.1s infinite linear;
|
||||
}
|
||||
@keyframes spinner-spin {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
|
||||
<title>Fate Animation Viewer</title>
|
||||
<link rel="shortcut icon" href="TemplateData/favicon.ico">
|
||||
<link rel="stylesheet" href="TemplateData/style.css">
|
||||
</head>
|
||||
<body class="dark">
|
||||
<div id="unity-container" class="unity-desktop">
|
||||
<canvas id="unity-canvas"></canvas>
|
||||
</div>
|
||||
<div id="loading-cover" style="display:none;">
|
||||
<div id="unity-loading-bar">
|
||||
<div id="unity-logo"><img src="logo.png"></div>
|
||||
<div id="unity-progress-bar-empty" style="display: none;">
|
||||
<div id="unity-progress-bar-full"></div>
|
||||
</div>
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="unity-fullscreen-button" style="display: none;"></div>
|
||||
<script>
|
||||
const hideFullScreenButton = "true";
|
||||
const buildUrl = "Build";
|
||||
const loaderUrl = buildUrl + "/Webgl.loader.js";
|
||||
const config = {
|
||||
dataUrl: buildUrl + "/Webgl.data",
|
||||
frameworkUrl: buildUrl + "/Webgl.framework.js",
|
||||
codeUrl: buildUrl + "/Webgl.wasm",
|
||||
streamingAssetsUrl: "StreamingAssets",
|
||||
companyName: "Katboi01",
|
||||
productName: "Fate Animation Viewer",
|
||||
productVersion: "2.4.1",
|
||||
};
|
||||
|
||||
const container = document.querySelector("#unity-container");
|
||||
const canvas = document.querySelector("#unity-canvas");
|
||||
const loadingCover = document.querySelector("#loading-cover");
|
||||
const progressBarEmpty = document.querySelector("#unity-progress-bar-empty");
|
||||
const progressBarFull = document.querySelector("#unity-progress-bar-full");
|
||||
const fullscreenButton = document.querySelector("#unity-fullscreen-button");
|
||||
const spinner = document.querySelector('.spinner');
|
||||
|
||||
const canFullscreen = (function() {
|
||||
for (const key of [
|
||||
'exitFullscreen',
|
||||
'webkitExitFullscreen',
|
||||
'webkitCancelFullScreen',
|
||||
'mozCancelFullScreen',
|
||||
'msExitFullscreen',
|
||||
]) {
|
||||
if (key in document) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}());
|
||||
|
||||
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
|
||||
container.className = "unity-mobile";
|
||||
config.devicePixelRatio = 1;
|
||||
}
|
||||
loadingCover.style.display = "";
|
||||
|
||||
const script = document.createElement("script");
|
||||
script.src = loaderUrl;
|
||||
script.onload = () => {
|
||||
createUnityInstance(canvas, config, (progress) => {
|
||||
spinner.style.display = "none";
|
||||
progressBarEmpty.style.display = "";
|
||||
progressBarFull.style.width = `${100 * progress}%`;
|
||||
}).then((unityInstance) => {
|
||||
loadingCover.style.display = "none";
|
||||
if (canFullscreen) {
|
||||
if (!hideFullScreenButton) {
|
||||
fullscreenButton.style.display = "";
|
||||
}
|
||||
fullscreenButton.onclick = () => {
|
||||
unityInstance.SetFullscreen(1);
|
||||
};
|
||||
}
|
||||
}).catch((message) => {
|
||||
alert(message);
|
||||
});
|
||||
};
|
||||
document.body.appendChild(script);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
BIN
Webgl/logo.png
BIN
Webgl/logo.png
Binary file not shown.
Before Width: | Height: | Size: 8.7 KiB |
|
@ -0,0 +1,5 @@
|
|||
[1008/232855.814:ERROR:check.cc(298)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!
|
||||
[1008/232950.806:ERROR:check.cc(298)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!
|
||||
[1008/234001.769:ERROR:check.cc(298)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!
|
||||
[1009/000128.951:ERROR:check.cc(298)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!
|
||||
[1009/000221.301:ERROR:check.cc(298)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!
|
Loading…
Reference in New Issue