浏览代码

Merge branch 'master' into custom-lighting-shader

# Conflicts:
#	UOP1_Project/Packages/manifest.json
#	UOP1_Project/ProjectSettings/ProjectVersion.txt
/main
Ciro Continisio 4 年前
当前提交
e27f318b
共有 100 个文件被更改,包括 8424 次插入210 次删除
  1. 20
      README.md
  2. 3
      UOP1_Project/Assets/Prefabs/Pig.prefab
  3. 185
      UOP1_Project/Assets/Scenes/CharController.unity
  4. 17
      UOP1_Project/Assets/Scripts/CameraManager.cs
  5. 94
      UOP1_Project/Assets/Scripts/Characters/Character.cs
  6. 46
      UOP1_Project/Assets/Scripts/Characters/Protagonist.cs
  7. 27
      UOP1_Project/Assets/Scripts/InputReader.cs
  8. 12
      UOP1_Project/Packages/manifest.json
  9. 14
      UOP1_Project/Packages/packages-lock.json
  10. 4
      UOP1_Project/ProjectSettings/Packages/com.unity.probuilder/Settings.json
  11. 4
      UOP1_Project/ProjectSettings/ProjectVersion.txt
  12. 13
      .github/pull_request_template.md
  13. 5
      CONTRIBUTING.md
  14. 38
      UOP1_Project/.editorconfig
  15. 14
      UOP1_Project/Assets/Prefabs/Input Reader.asset
  16. 8
      UOP1_Project/Assets/Prefabs/Input Reader.asset.meta
  17. 82
      UOP1_Project/Assets/Prefabs/SpawnSystem.prefab
  18. 7
      UOP1_Project/Assets/Prefabs/SpawnSystem.prefab.meta
  19. 77
      UOP1_Project/Assets/Scripts/SpawnSystem.cs
  20. 11
      UOP1_Project/Assets/Scripts/SpawnSystem.cs.meta
  21. 8
      UOP1_Project/Assets/TextMesh Pro.meta
  22. 30
      .github/workflows/linter.yml
  23. 8
      UOP1_Project/Assets/TextMesh Pro/Documentation.meta
  24. 1001
      UOP1_Project/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf
  25. 7
      UOP1_Project/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta
  26. 8
      UOP1_Project/Assets/TextMesh Pro/Fonts.meta
  27. 46
      UOP1_Project/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt
  28. 8
      UOP1_Project/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta
  29. 1001
      UOP1_Project/Assets/TextMesh Pro/Fonts/LiberationSans.ttf
  30. 19
      UOP1_Project/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta
  31. 8
      UOP1_Project/Assets/TextMesh Pro/Resources.meta
  32. 9
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials.meta
  33. 106
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat
  34. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta
  35. 337
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset
  36. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta
  37. 104
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat
  38. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta
  39. 1001
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset
  40. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta
  41. 1
      UOP1_Project/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt
  42. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta
  43. 1
      UOP1_Project/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt
  44. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta
  45. 9
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders.meta
  46. 142
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Custom-Atlas.shader
  47. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta
  48. 144
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Mobile.shader
  49. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Mobile.shader.meta
  50. 142
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap.shader
  51. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap.shader.meta
  52. 316
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF Overlay.shader
  53. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF Overlay.shader.meta
  54. 246
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Masking.shader
  55. 9
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Masking.shader.meta
  56. 239
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Overlay.shader
  57. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Overlay.shader.meta
  58. 239
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile.shader
  59. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile.shader.meta
  60. 137
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface-Mobile.shader
  61. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface-Mobile.shader.meta
  62. 156
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface.shader
  63. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface.shader.meta
  64. 316
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF.shader
  65. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF.shader.meta
  66. 113
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_Sprite.shader
  67. 9
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMP_Sprite.shader.meta
  68. 84
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc
  69. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc.meta
  70. 85
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc
  71. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc.meta
  72. 115
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMPro_Surface.cginc
  73. 7
      UOP1_Project/Assets/TextMesh Pro/Resources/Shaders/TMPro_Surface.cginc.meta
  74. 9
      UOP1_Project/Assets/TextMesh Pro/Resources/Sprite Assets.meta
  75. 638
      UOP1_Project/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset
  76. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta
  77. 9
      UOP1_Project/Assets/TextMesh Pro/Resources/Style Sheets.meta
  78. 68
      UOP1_Project/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset
  79. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta
  80. 43
      UOP1_Project/Assets/TextMesh Pro/Resources/TMP Settings.asset
  81. 8
      UOP1_Project/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta
  82. 8
      UOP1_Project/Assets/TextMesh Pro/Sprites.meta
  83. 3
      UOP1_Project/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt
  84. 7
      UOP1_Project/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta
  85. 156
      UOP1_Project/Assets/TextMesh Pro/Sprites/EmojiOne.json
  86. 8
      UOP1_Project/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta
  87. 205
      UOP1_Project/Assets/TextMesh Pro/Sprites/EmojiOne.png
  88. 431
      UOP1_Project/Assets/TextMesh Pro/Sprites/EmojiOne.png.meta
  89. 8
      UOP1_Project/Assets/Tests.meta

20
README.md


![Unity Open Projects](https://imgur.com/Y0svl0w.png)
# Unity Open Projects: Project #1
# Unity Open Project #1
Welcome! This is the repository for the first **Unity Open Project**, an initiative where Unity and the community collaborate together to create **a small game**, in an open source way. As of now the game is still unnamed so we just refer to it as *Project #1*.
Welcome! This is the repository for the first Unity **Open Project**, an initiative where Unity and the community collaborate together to create **a small game**, in an open source way. As of now the game is still unnamed so we just refer to it as *Open Project #1*.
The [public Roadmap](#) for the game is the central location to know what's coming to it. Also a great way to find something to contribute on!
The [sub-forum](https://forum.unity.com/forums/unity-open-projects.531/) on the Unity Forums is where the Unity team and the whole community discuss and brainstorm ideas.
The [dedicated sub-forum](https://forum.unity.com/forums/open-projects.531/) on the Unity Forums is where the Unity team and the whole community discuss and brainstorm ideas.
The [public roadmap](https://open.codecks.io/unity-open-project-1) is the central location to know what's coming to the game. Also a great way to find something to contribute on!
We would love to get your contributions into the game! Whether you create code, art, narrative, sounds; whether you feel you are experienced enough or not; there is something you can add to it.
We would love to get your contributions into the game! Whether you create code, art, narrative, sounds; whether you feel you are experienced enough or not; there is probably something you can add to it.
To learn all about contributing, head to the [Contribution Guidelines](https://docs.google.com/document/d/1PwBF4yQl69RxvVHZ2m2iiy5pYjd9QO-VcuXWDjB7QwA/edit#).
To learn all about contributing, head to the [Contribution Guidelines](https://docs.google.com/document/d/1PwBF4yQl69RxvVHZ2m2iiy5pYjd9QO-VcuXWDjB7QwA/edit#).
⚠ Please **create a thread [on the forum](https://forum.unity.com/forums/open-projects.531/) there before starting to work on big contributions!**
If you feel like taking on some **bugs**, check out the [Issues page](https://github.com/UnityTechnologies/UOP1/issues) on this very repo. In fact, another thing you could help with is by doing some **QA testing**: download the [latest release](https://github.com/UnityTechnologies/UOP1/releases) of the game, play it, and report issues in the appropriate page. That's also a perfectly fine way to be part of this project!
If you feel like taking on some **bugs**, check out the [Issues page](https://github.com/UnityTechnologies/open-project-1/issues) on this very repo. In fact, another thing you could help with is by doing some **QA testing**: download the [latest release](https://github.com/UnityTechnologies/open-project-1/releases) of the game, play it, and report issues in the appropriate page. That's also a great way to be part of this project!
This project is built on **Unity 2019.4 LTS**, whatever latest patch is available.
Just want to try the game out? Head to the [release page](https://github.com/UnityTechnologies/UOP1/releases) and grab the latest version.
Just want to try the game out? Head to the [release page](https://github.com/UnityTechnologies/open-project-1/releases) and grab the latest version.
##

3
UOP1_Project/Assets/Prefabs/Pig.prefab


m_Script: {fileID: 11500000, guid: 45f6466be0a32e746abeb31b2a794001, type: 3}
m_Name:
m_EditorClassIdentifier:
inputReader: {fileID: 0}
inputReader: {fileID: 11400000, guid: 945ec0365077176418488737deed54be, type: 2}
gameplayCamera: {fileID: 0}
--- !u!114 &3341179906418240708
MonoBehaviour:

m_Name:
m_EditorClassIdentifier:
speed: 8
turnSmoothTime: 0.2
gravityMultiplier: 5
initialJumpForce: 10
jumpInputDuration: 0.4

185
UOP1_Project/Assets/Scenes/CharController.unity


m_StreamingVersion: 20170927
m_Priority: 10
m_StandbyUpdate: 2
m_LookAt: {fileID: 1961901426}
m_Follow: {fileID: 1961901426}
m_LookAt: {fileID: 0}
m_Follow: {fileID: 0}
m_Lens:
FieldOfView: 60
OrthographicSize: 5

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 233317031}
m_LocalRotation: {x: 0.18994758, y: -0.20527026, z: 0.040647585, w: 0.959235}
m_LocalRotation: {x: 0.18994758, y: -0.2052703, z: 0.040647592, w: 0.959235}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:

m_Script: {fileID: 11500000, guid: 085156cba0e34b540aeddafe12d1e2f1, type: 3}
m_Name:
m_EditorClassIdentifier:
inputReader: {fileID: 1724036687}
inputReader: {fileID: 11400000, guid: 945ec0365077176418488737deed54be, type: 2}
mainCamera: {fileID: 1961065789}
freeLookVCam: {fileID: 1502793901}
--- !u!4 &526256411
Transform:

m_StreamingVersion: 20170927
m_Priority: 10
m_StandbyUpdate: 2
m_LookAt: {fileID: 1961901426}
m_Follow: {fileID: 1961901426}
m_LookAt: {fileID: 0}
m_Follow: {fileID: 0}
m_CommonLens: 1
m_Lens:
FieldOfView: 40

m_Father: {fileID: 0}
m_RootOrder: 16
m_LocalEulerAnglesHint: {x: -3.5180001, y: 26.324001, z: 28.011002}
--- !u!1 &1724036686
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1724036688}
- component: {fileID: 1724036687}
m_Layer: 0
m_Name: InputReader
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1724036687
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724036686}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 143f1e276019d54448855eb41708d190, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &1724036688
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724036686}
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: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1809933188
PrefabInstance:
m_ObjectHideFlags: 0

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1961065787}
m_LocalRotation: {x: 0.18778463, y: -0.20536137, z: 0.04018472, w: 0.95966077}
m_LocalRotation: {x: 0.18778464, y: -0.20536137, z: 0.040184725, w: 0.9596608}
m_LocalPosition: {x: 4.712467, y: 6.307, z: -24.900238}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []

m_CameraActivatedEvent:
m_PersistentCalls:
m_Calls: []
--- !u!4 &1961901426 stripped
--- !u!4 &2006012550 stripped
m_CorrespondingSourceObject: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
m_CorrespondingSourceObject: {fileID: 2125786286893897154, guid: e978d53d440e0814086759404585ac32,
m_PrefabInstance: {fileID: 3341179907149091243}
m_PrefabInstance: {fileID: 2093632590}
m_PrefabAsset: {fileID: 0}
--- !u!1 &2018663598
GameObject:

m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &2370768318719443585
--- !u!1001 &2093632590
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2

- target: {fileID: 364731123117828817, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829329, guid: e978d53d440e0814086759404585ac32,
value: SmallBuilding
value: SpawnSystem
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829334, guid: e978d53d440e0814086759404585ac32,
type: 3}
propertyPath: _spawnLocations.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2125786285293829334, guid: e978d53d440e0814086759404585ac32,
type: 3}
propertyPath: _cameraManager
value:
objectReference: {fileID: 526256410}
- target: {fileID: 2125786285293829334, guid: e978d53d440e0814086759404585ac32,
type: 3}
propertyPath: _spawnLocations.Array.data[0]
value:
objectReference: {fileID: 2006012550}
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: -17.85
value: 0
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: -0.14
value: 0
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: 9.51
value: 0
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: -0
value: 0
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: -0
value: 0
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: -0.019262606
value: 0
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: 0.99981445
value: 1
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: 15
value: 1
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 2125786285293829335, guid: e978d53d440e0814086759404585ac32,
value: -2.207
value: 0
m_SourcePrefab: {fileID: 100100000, guid: 1ebb75c12ef91014e94524019e01192d, type: 3}
--- !u!1001 &3341179907149091243
m_SourcePrefab: {fileID: 100100000, guid: e978d53d440e0814086759404585ac32, type: 3}
--- !u!1001 &2370768318719443585
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2

- target: {fileID: 211818859182309264, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
type: 3}
propertyPath: inputReader
value:
objectReference: {fileID: 1724036687}
- target: {fileID: 211818859182309264, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
type: 3}
propertyPath: gameplayCamera
value:
objectReference: {fileID: 1961065790}
- target: {fileID: 3341179906418240709, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 364731123117828817, guid: 1ebb75c12ef91014e94524019e01192d,
value: Pig
value: SmallBuilding
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: 0.62
value: -17.85
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: 0.307
value: -0.14
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: -15.776
value: 9.51
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: 0
value: -0
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: 0
value: -0
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: 0
value: -0.019262606
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: 1
value: 0.99981445
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: 29
value: 15
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
- target: {fileID: 3341179906418240731, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
- target: {fileID: 384383464925863578, guid: 1ebb75c12ef91014e94524019e01192d,
value: 0
value: -2.207
m_SourcePrefab: {fileID: 100100000, guid: 0fa393e1e37bc9e4e829c25a9452bcd3, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 1ebb75c12ef91014e94524019e01192d, type: 3}
--- !u!1001 &6560919939139749480
PrefabInstance:
m_ObjectHideFlags: 0

17
UOP1_Project/Assets/Scripts/CameraManager.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
using System;
public CinemachineFreeLook freeLookVCam;
public Camera mainCamera;
public CinemachineFreeLook freeLookVCam;
public void SetupProtagonistVirtualCamera(Transform target)
{
freeLookVCam.Follow = target;
freeLookVCam.LookAt = target;
}
//...
//Removes all listeners to the events coming from the InputReader script
//...
}
private void OnCameraMove(Vector2 cameraMovement)

94
UOP1_Project/Assets/Scripts/Characters/Character.cs


using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
public class Character : MonoBehaviour
{

[Tooltip("Smoothing for rotating the character to their movement direction")] public float turnSmoothTime = 0.2f;
[Tooltip("General multiplier for gravity (affects jump and freefall)")] public float gravityMultiplier = 5f;
[Tooltip("The initial upwards push when pressing jump. This is injected into verticalMovement, and gradually cancelled by gravity")] public float initialJumpForce = 10f;
[Tooltip("How long can the player hold the jump button")] public float jumpInputDuration = .4f;

[Tooltip("Adjust the friction of the slope")] public float slideFriction = 0.3f;
[Tooltip("Starting vertical movement when falling from a platform")] public float fallingVerticalMovement = -5f;
private float turnSmoothSpeed; //Used by Mathf.SmoothDampAngle to smoothly rotate the character to their movement direction
private float currentSlope;
private Vector3 hitNormal; // ground normal
private bool shouldSlide; // Should player slide?
private const float ROTATION_TRESHOLD = .02f; // Used to prevent NaN result causing rotation in a non direction
private void Awake()
{

{
//Raises the multiplier to how much gravity will affect vertical movement when in mid-air
//This is 0f at the beginning of a jump and will raise to maximum 1f
if(!characterController.isGrounded)
if (!characterController.isGrounded)
if(isJumping)
if (isJumping)
if(Time.time >= jumpBeginTime + jumpInputDuration)
if (Time.time >= jumpBeginTime + jumpInputDuration)
{
isJumping = false;
gravityContributionMultiplier = 1f; //Gravity influence is reset to full effect

gravityContributionMultiplier *= gravityDivider; //Reduce the gravity effect
}
}
if(!characterController.isGrounded)
if (!characterController.isGrounded)
//Note that even if it's added, the above value is negative due to Physics.gravity.y
//Cap the maximum so the player doesn't reach incredible speeds when freefalling from high positions
//Note that even if it's added, the above value is negative due to Physics.gravity.y
//Cap the maximum so the player doesn't reach incredible speeds when freefalling from high positions
verticalMovement = Mathf.Clamp(verticalMovement, -maxFallSpeed, 100f);
}
else

//-5f is a good value to make it so the player also sticks to uneven terrain/bumps without floating.
if(!isJumping)
//-5f is a good value to make it so the player also sticks to uneven terrain/bumps without floating
if (!isJumping)
verticalMovement = -5f;
verticalMovement = fallingVerticalMovement;
UpdateSlide();
if(movementVector.sqrMagnitude >= .02f)
if (movementVector.sqrMagnitude >= ROTATION_TRESHOLD)
transform.forward = movementVector.normalized;
float targetRotation = Mathf.Atan2(movementVector.x, movementVector.z) * Mathf.Rad2Deg;
transform.eulerAngles = Vector3.up * Mathf.SmoothDampAngle(
transform.eulerAngles.y,
targetRotation,
ref turnSmoothSpeed,
turnSmoothTime);
private void OnControllerColliderHit(ControllerColliderHit hit)
{
hitNormal = hit.normal;
bool isMovingUpwards = verticalMovement > 0f;
if (isMovingUpwards)
{
// Making sure the collision is near the top of the head
float permittedDistance = characterController.radius / 2f;
float topPositionY = transform.position.y + characterController.height;
float distance = Mathf.Abs(hit.point.y - topPositionY);
if (distance <= permittedDistance)
{
// Stopping any upwards movement
// and having the player fall back down
isJumping = false;
gravityContributionMultiplier = 1f;
verticalMovement = 0f;
}
}
}
public void Move(Vector3 movement)
{
inputVector = movement;

{
if(characterController.isGrounded)
// Disable jumping if player has to slide
if (characterController.isGrounded && !shouldSlide)
{
isJumping = true;
jumpBeginTime = Time.time;

{
isJumping = false; //This will stop the reduction to the gravity, which will then quickly pull down the character
}
}
private void UpdateSlide()
{
// if player has to slide then add sideways speed to make it go down
if (shouldSlide)
{
movementVector.x += (1f - hitNormal.y) * hitNormal.x * (speed - slideFriction);
movementVector.z += (1f - hitNormal.y) * hitNormal.z * (speed - slideFriction);
}
// check if the controller is grounded and above slope limit
// if player is grounded and above slope limit
// player has to slide
if (characterController.isGrounded)
{
currentSlope = Vector3.Angle(Vector3.up, hitNormal);
shouldSlide = currentSlope >= characterController.slopeLimit;
}
}
}

46
UOP1_Project/Assets/Scripts/Characters/Protagonist.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
public class Protagonist : MonoBehaviour
{

private Character charScript;
private Vector2 previousMovementInput;
private bool controlsEnabled = true;
private void Awake()

//...
}
//---- EVENT LISTENERS ----
private void Update()
{
RecalculateMovement();
}
private void OnMove(Vector2 movement)
private void RecalculateMovement()
if(controlsEnabled)
{
//Get the two axes from the camera and flatten them on the XZ plane
Vector3 cameraForward = gameplayCamera.forward;
cameraForward.y = 0f;
Vector3 cameraRight = gameplayCamera.right;
cameraRight.y = 0f;
//Get the two axes from the camera and flatten them on the XZ plane
Vector3 cameraForward = gameplayCamera.forward;
cameraForward.y = 0f;
Vector3 cameraRight = gameplayCamera.right;
cameraRight.y = 0f;
//Use the two axes, modulated by the corresponding inputs, and construct the final vector
Vector3 adjustedMovement = cameraRight.normalized * movement.x + cameraForward.normalized * movement.y;
//Use the two axes, modulated by the corresponding inputs, and construct the final vector
Vector3 adjustedMovement = cameraRight.normalized * previousMovementInput.x +
cameraForward.normalized * previousMovementInput.y;
charScript.Move(Vector3.ClampMagnitude(adjustedMovement, 1f));
}
charScript.Move(Vector3.ClampMagnitude(adjustedMovement, 1f));
}
//---- EVENT LISTENERS ----
private void OnMove(Vector2 movement)
{
if (controlsEnabled)
previousMovementInput = movement;
if(controlsEnabled) charScript.Jump();
if (controlsEnabled)
charScript.Jump();
if(controlsEnabled) charScript.CancelJump();
if (controlsEnabled)
charScript.CancelJump();
}
}

27
UOP1_Project/Assets/Scripts/InputReader.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
public class InputReader : MonoBehaviour, GameInput.IGameplayActions
[CreateAssetMenu(fileName = "Input Reader", menuName = "Game/Input Reader")]
public class InputReader : ScriptableObject, GameInput.IGameplayActions
{
public UnityAction jumpEvent;
public UnityAction jumpCanceledEvent;

public UnityAction<Vector2> cameraMoveEvent;
GameInput gameInput;
if(gameInput == null)
if (gameInput == null)
{
gameInput = new GameInput();
gameInput.Gameplay.SetCallbacks(this);

public void OnAttack(InputAction.CallbackContext context)
{
if(attackEvent != null
if (attackEvent != null
&& context.phase == InputActionPhase.Started)
attackEvent.Invoke();
}

if(extraActionEvent != null
if (extraActionEvent != null
&& context.phase == InputActionPhase.Started)
extraActionEvent.Invoke();
}

if(interactEvent != null
if (interactEvent != null
&& context.phase == InputActionPhase.Started)
interactEvent.Invoke();
}

if(jumpEvent != null
if (jumpEvent != null
if(jumpCanceledEvent != null
if (jumpCanceledEvent != null
&& context.phase == InputActionPhase.Canceled)
jumpCanceledEvent.Invoke();
}

if(moveEvent != null)
if (moveEvent != null)
{
moveEvent.Invoke(context.ReadValue<Vector2>());
}

{
if(pauseEvent != null
if (pauseEvent != null
&& context.phase == InputActionPhase.Started)
pauseEvent.Invoke();
}

if(cameraMoveEvent != null)
if (cameraMoveEvent != null)
{
cameraMoveEvent.Invoke(context.ReadValue<Vector2>());
}

12
UOP1_Project/Packages/manifest.json


{
"dependencies": {
"com.unity.addressables": "1.8.4",
"com.unity.cinemachine": "2.6.0",
"com.unity.addressables": "1.8.5",
"com.unity.cinemachine": "2.6.3",
"com.unity.ide.vscode": "1.2.1",
"com.unity.ide.vscode": "1.2.2",
"com.unity.probuilder": "4.2.3",
"com.unity.probuilder": "4.4.0",
"com.unity.textmeshpro": "2.0.1",
"com.unity.timeline": "1.2.15",
"com.unity.textmeshpro": "2.1.1",
"com.unity.timeline": "1.2.17",
"com.unity.ugui": "1.0.0",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",

14
UOP1_Project/Packages/packages-lock.json


{
"dependencies": {
"com.unity.addressables": {
"version": "1.8.4",
"version": "1.8.5",
"depth": 0,
"source": "registry",
"dependencies": {

"url": "https://packages.unity.com"
},
"com.unity.cinemachine": {
"version": "2.6.0",
"version": "2.6.3",
"depth": 0,
"source": "registry",
"dependencies": {},

"url": "https://packages.unity.com"
},
"com.unity.ide.vscode": {
"version": "1.2.1",
"version": "1.2.2",
"depth": 0,
"source": "registry",
"dependencies": {},

"url": "https://packages.unity.com"
},
"com.unity.probuilder": {
"version": "4.2.3",
"version": "4.4.0",
"com.unity.settings-manager": "1.0.0"
"com.unity.settings-manager": "1.0.3"
},
"url": "https://packages.unity.com"
},

"url": "https://packages.unity.com"
},
"com.unity.textmeshpro": {
"version": "2.0.1",
"version": "2.1.1",
"depth": 0,
"source": "registry",
"dependencies": {

},
"com.unity.timeline": {
"version": "1.2.15",
"version": "1.2.17",
"depth": 0,
"source": "registry",
"dependencies": {},

4
UOP1_Project/ProjectSettings/Packages/com.unity.probuilder/Settings.json


{
"type": "UnityEngine.ProBuilder.SemVer, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "about.identifier",
"value": "{\"m_Value\":{\"m_Major\":4,\"m_Minor\":2,\"m_Patch\":3,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
"value": "{\"m_Value\":{\"m_Major\":4,\"m_Minor\":4,\"m_Patch\":0,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
"value": "{\"m_Value\":{\"m_Major\":4,\"m_Minor\":2,\"m_Patch\":3,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
"value": "{\"m_Value\":{\"m_Major\":4,\"m_Minor\":4,\"m_Patch\":0,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
},
{
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",

4
UOP1_Project/ProjectSettings/ProjectVersion.txt


m_EditorVersion: 2019.4.10f1
m_EditorVersionWithRevision: 2019.4.10f1 (5311b3af6f69)
m_EditorVersion: 2019.4.11f1
m_EditorVersionWithRevision: 2019.4.11f1 (2d9804dddde7)

13
.github/pull_request_template.md


_Please delete the questions below, and type the answers in their place instead_
**[for Generic PRs]**
Do you have a forum thread linked to this PR?
What will this PR bring to the project for everyone?
Why are these changes necessary?
How did you implement them?
**[for Bugfix PRs]**
Is this PR linked to an issue? If so please link it here, if not please create one first, then link it.
Is there a forum thread linked to this issue? If so please link it here.
How did you resolve this issue?
How can it be verified that the issue has actually been resolved?

5
CONTRIBUTING.md


# Contribution Guidelines
Everything you need to know to contribute to Open Project #1 is included in the [Contribution Guidelines](https://docs.google.com/document/d/1PwBF4yQl69RxvVHZ2m2iiy5pYjd9QO-VcuXWDjB7QwA/edit?usp=sharing)
Please read it before contributing or creating a thread on the forums.

38
UOP1_Project/.editorconfig


[*.cs]
indent_style = tab
indent_size = tab
indent_with_tabs = 2
align_with_tabs = true
align_keep_tabs = true
insert_final_newline = true
trim_trailing_whitespace = true
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_between_query_expression_clauses = true
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_indent_case_contents_when_block = false
csharp_space_around_binary_operators = before_and_after
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_after_cast = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_after_comma = true
csharp_space_before_comma = false
csharp_space_after_dot = false
csharp_space_before_dot = false
csharp_space_after_semicolon_in_for_statement = true
csharp_space_before_semicolon_in_for_statement = false
csharp_space_around_declaration_statements = false
csharp_space_before_open_square_brackets = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_square_brackets = false
csharp_preserve_single_line_statements = false
csharp_preserve_single_line_blocks = true
csharp_using_directive_placement = outside_namespace

14
UOP1_Project/Assets/Prefabs/Input Reader.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !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: 143f1e276019d54448855eb41708d190, type: 3}
m_Name: Input Reader
m_EditorClassIdentifier:

8
UOP1_Project/Assets/Prefabs/Input Reader.asset.meta


fileFormatVersion: 2
guid: 945ec0365077176418488737deed54be
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

82
UOP1_Project/Assets/Prefabs/SpawnSystem.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2125786285293829329
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2125786285293829335}
- component: {fileID: 2125786285293829334}
m_Layer: 0
m_Name: SpawnSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2125786285293829335
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2125786285293829329}
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: 2125786286893897154}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2125786285293829334
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2125786285293829329}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 65dde41d869e66e4d87103c43970a518, type: 3}
m_Name:
m_EditorClassIdentifier:
_defaultSpawnIndex: 0
_playerPrefab: {fileID: 211818859182309264, guid: 0fa393e1e37bc9e4e829c25a9452bcd3,
type: 3}
_inputReader: {fileID: 0}
_gameplayCamera: {fileID: 0}
_spawnLocations: []
--- !u!1 &2125786286893897213
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2125786286893897154}
m_Layer: 0
m_Name: Location 01
m_TagString: Untagged
m_Icon: {fileID: 3936346786652291628, guid: 0000000000000000d000000000000000, type: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2125786286893897154
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2125786286893897213}
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
m_LocalPosition: {x: -14.173, y: 0.69, z: -9.637}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2125786285293829335}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}

7
UOP1_Project/Assets/Prefabs/SpawnSystem.prefab.meta


fileFormatVersion: 2
guid: e978d53d440e0814086759404585ac32
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

77
UOP1_Project/Assets/Scripts/SpawnSystem.cs


using System;
using System.Linq;
using UnityEngine;
public class SpawnSystem : MonoBehaviour
{
[Header("Settings")]
[SerializeField] private int _defaultSpawnIndex = 0;
[Header("Project References")]
[SerializeField] private Protagonist _playerPrefab = null;
[Header("Scene References")]
[SerializeField] private CameraManager _cameraManager;
[SerializeField] private Transform[] _spawnLocations;
void Awake()
{
try
{
Spawn(_defaultSpawnIndex);
}
catch (Exception e)
{
Debug.LogError($"[SpawnSystem] Failed to spawn player. {e.Message}");
}
}
void Reset()
{
AutoFill();
}
[ContextMenu("Attempt Auto Fill")]
private void AutoFill()
{
if (_cameraManager == null)
_cameraManager = FindObjectOfType<CameraManager>();
if (_spawnLocations == null || _spawnLocations.Length == 0)
_spawnLocations = transform.GetComponentsInChildren<Transform>(true)
.Where(t => t != this.transform)
.ToArray();
}
private void Spawn(int spawnIndex)
{
Transform spawnLocation = GetSpawnLocation(spawnIndex, _spawnLocations);
Protagonist playerInstance = InstantiatePlayer(_playerPrefab, spawnLocation, _cameraManager);
SetupCameras(playerInstance);
}
private Transform GetSpawnLocation(int index, Transform[] spawnLocations)
{
if (spawnLocations == null || spawnLocations.Length == 0)
throw new Exception("No spawn locations set.");
index = Mathf.Clamp(index, 0, spawnLocations.Length - 1);
return spawnLocations[index];
}
private Protagonist InstantiatePlayer(Protagonist playerPrefab, Transform spawnLocation, CameraManager _cameraManager)
{
if (playerPrefab == null)
throw new Exception("Player Prefab can't be null.");
Protagonist playerInstance = Instantiate(playerPrefab, spawnLocation.position, spawnLocation.rotation);
return playerInstance;
}
private void SetupCameras(Protagonist player)
{
player.gameplayCamera = _cameraManager.mainCamera.transform;
_cameraManager.SetupProtagonistVirtualCamera(player.transform);
}
}

11
UOP1_Project/Assets/Scripts/SpawnSystem.cs.meta


fileFormatVersion: 2
guid: 65dde41d869e66e4d87103c43970a518
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/TextMesh Pro.meta


fileFormatVersion: 2
guid: f54d1bd14bd3ca042bd867b519fee8cc
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

30
.github/workflows/linter.yml


name: Linter
# Run this workflow every time a new commit pushed to your repository
on: push
jobs:
# Set the job key. The key is displayed as the job name
# when a job name is not provided
super-lint:
# Name the Job
name: Lint code base
# Set the type of machine to run on
runs-on: ubuntu-latest
env:
working-directory : ./UOP1_Project/
steps:
- uses: actions/checkout@v2
- run: git pull
- run: dotnet tool install -g dotnet-format
- name: format
run: dotnet-format -f Assets/Scripts -v d
working-directory: ${{env.working-directory}}
- name: Commit changes
uses: EndBug/add-and-commit@v5
with:
message: "[Bot] Automated dotnet-format update"
add: "*.cs"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

8
UOP1_Project/Assets/TextMesh Pro/Documentation.meta


fileFormatVersion: 2
guid: 8e7e8f5a82a3a134e91c54efd2274ea9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
UOP1_Project/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf
文件差异内容过多而无法显示
查看文件

7
UOP1_Project/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta


fileFormatVersion: 2
guid: 1b8d251f9af63b746bf2f7ffe00ebb9b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/TextMesh Pro/Fonts.meta


fileFormatVersion: 2
guid: 6ab70aee4d56447429c680537fbf93ed
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

46
UOP1_Project/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt


Digitized data copyright (c) 2010 Google Corporation
with Reserved Font Arimo, Tinos and Cousine.
Copyright (c) 2012 Red Hat, Inc.
with Reserved Font Name Liberation.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.

8
UOP1_Project/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta


fileFormatVersion: 2
guid: 6e59c59b81ab47f9b6ec5781fa725d2c
timeCreated: 1484171296
licenseType: Pro
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

1001
UOP1_Project/Assets/TextMesh Pro/Fonts/LiberationSans.ttf
文件差异内容过多而无法显示
查看文件

19
UOP1_Project/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta


fileFormatVersion: 2
guid: e3265ab4bf004d28a9537516768c1c75
timeCreated: 1484171297
licenseType: Pro
TrueTypeFontImporter:
serializedVersion: 2
fontSize: 16
forceTextureCase: -2
characterSpacing: 1
characterPadding: 0
includeFontData: 1
use2xBehaviour: 0
fontNames: []
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/TextMesh Pro/Resources.meta


fileFormatVersion: 2
guid: 243e06394e614e5d99fab26083b707fa
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

9
UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials.meta


fileFormatVersion: 2
guid: 731f1baa9d144a9897cb1d341c2092b8
folderAsset: yes
timeCreated: 1442040525
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

106
UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: LiberationSans SDF - Drop Shadow
m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Cube:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FaceTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OutlineTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _Ambient: 0.5
- _Bevel: 0.5
- _BevelClamp: 0
- _BevelOffset: 0
- _BevelRoundness: 0
- _BevelWidth: 0
- _BumpFace: 0
- _BumpOutline: 0
- _ColorMask: 15
- _Diffuse: 0.5
- _DiffusePower: 1
- _FaceDilate: 0.1
- _FaceUVSpeedX: 0
- _FaceUVSpeedY: 0
- _GlowInner: 0.05
- _GlowOffset: 0
- _GlowOuter: 0.05
- _GlowPower: 0.75
- _GradientScale: 10
- _LightAngle: 3.1416
- _MaskSoftnessX: 0
- _MaskSoftnessY: 0
- _OutlineSoftness: 0
- _OutlineUVSpeedX: 0
- _OutlineUVSpeedY: 0
- _OutlineWidth: 0.1
- _PerspectiveFilter: 0.875
- _Reflectivity: 10
- _ScaleRatioA: 0.9
- _ScaleRatioB: 0.73125
- _ScaleRatioC: 0.64125
- _ScaleX: 1
- _ScaleY: 1
- _ShaderFlags: 0
- _Sharpness: 0
- _SpecularPower: 2
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _TextureHeight: 1024
- _TextureWidth: 1024
- _UnderlayDilate: 0
- _UnderlayOffsetX: 0.5
- _UnderlayOffsetY: -0.5
- _UnderlaySoftness: 0.05
- _VertexOffsetX: 0
- _VertexOffsetY: 0
- _WeightBold: 0.75
- _WeightNormal: 0
m_Colors:
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
- _FaceColor: {r: 1, g: 1, b: 1, a: 1}
- _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
- _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
- _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}

8
UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta


fileFormatVersion: 2
guid: e73a58f6e2794ae7b1b7e50b7fb811b0
timeCreated: 1484172806
licenseType: Pro
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

337
UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2180264
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: LiberationSans SDF Material
m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Cube:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FaceTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 28268798066460806}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OutlineTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _Ambient: 0.5
- _Bevel: 0.5
- _BevelClamp: 0
- _BevelOffset: 0
- _BevelRoundness: 0
- _BevelWidth: 0
- _BumpFace: 0
- _BumpOutline: 0
- _BumpScale: 1
- _ColorMask: 15
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _Diffuse: 0.5
- _DstBlend: 0
- _FaceDilate: 0
- _FaceUVSpeedX: 0
- _FaceUVSpeedY: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _GlowInner: 0.05
- _GlowOffset: 0
- _GlowOuter: 0.05
- _GlowPower: 0.75
- _GradientScale: 10
- _LightAngle: 3.1416
- _MaskSoftnessX: 0
- _MaskSoftnessY: 0
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _OutlineSoftness: 0
- _OutlineUVSpeedX: 0
- _OutlineUVSpeedY: 0
- _OutlineWidth: 0
- _Parallax: 0.02
- _PerspectiveFilter: 0.875
- _Reflectivity: 10
- _ScaleRatioA: 0.90909094
- _ScaleRatioB: 0.73125
- _ScaleRatioC: 0.7386364
- _ScaleX: 1
- _ScaleY: 1
- _ShaderFlags: 0
- _Sharpness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SpecularPower: 2
- _SrcBlend: 1
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _TextureHeight: 512
- _TextureWidth: 512
- _UVSec: 0
- _UnderlayDilate: 0
- _UnderlayOffsetX: 0
- _UnderlayOffsetY: 0
- _UnderlaySoftness: 0
- _VertexOffsetX: 0
- _VertexOffsetY: 0
- _WeightBold: 0.75
- _WeightNormal: 0
- _ZWrite: 1
m_Colors:
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
- _FaceColor: {r: 1, g: 1, b: 1, a: 1}
- _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
- _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
- _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
--- !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: 71c1514a6bd24e1e882cebbe1904ce04, type: 3}
m_Name: LiberationSans SDF - Fallback
m_EditorClassIdentifier:
hashCode: -1699145518
material: {fileID: 2180264}
materialHashCode: -1183942120
m_Version: 1.1.0
m_SourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75
m_SourceFontFile_EditorRef: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75,
type: 3}
m_SourceFontFile: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, type: 3}
m_AtlasPopulationMode: 1
m_FaceInfo:
m_FamilyName: Liberation Sans
m_StyleName: Regular
m_PointSize: 86
m_Scale: 1
m_LineHeight: 98.8916
m_AscentLine: 77.853516
m_CapLine: 59
m_MeanLine: 45
m_Baseline: 0
m_DescentLine: -18.22461
m_SuperscriptOffset: 77.853516
m_SuperscriptSize: 0.5
m_SubscriptOffset: -18.22461
m_SubscriptSize: 0.5
m_UnderlineOffset: -12.261719
m_UnderlineThickness: 6.298828
m_StrikethroughOffset: 18
m_StrikethroughThickness: 6.298828
m_TabWidth: 24
m_GlyphTable: []
m_CharacterTable: []
m_AtlasTextures:
- {fileID: 28268798066460806}
m_AtlasTextureIndex: 0
m_UsedGlyphRects: []
m_FreeGlyphRects:
- m_X: 0
m_Y: 0
m_Width: 511
m_Height: 511
m_fontInfo:
Name: Liberation Sans
PointSize: 86
Scale: 1
CharacterCount: 250
LineHeight: 98.90625
Baseline: 0
Ascender: 77.84375
CapHeight: 59.1875
Descender: -18.21875
CenterLine: 0
SuperscriptOffset: 77.84375
SubscriptOffset: -12.261719
SubSize: 0.5
Underline: -12.261719
UnderlineThickness: 6.298828
strikethrough: 23.675
strikethroughThickness: 0
TabWidth: 239.0625
Padding: 9
AtlasWidth: 1024
AtlasHeight: 1024
atlas: {fileID: 0}
m_AtlasWidth: 512
m_AtlasHeight: 512
m_AtlasPadding: 9
m_AtlasRenderMode: 4169
m_glyphInfoList: []
m_KerningTable:
kerningPairs: []
m_FallbackFontAssetTable: []
m_CreationSettings:
sourceFontFileName:
sourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75
pointSizeSamplingMode: 0
pointSize: 86
padding: 9
packingMode: 4
atlasWidth: 512
atlasHeight: 512
characterSetSelectionMode: 1
characterSequence: 32 - 126, 160 - 255, 8192 - 8303, 8364, 8482, 9633
referencedFontAssetGUID: 8f586378b4e144a9851e7b34d9b748ee
referencedTextAssetGUID:
fontStyle: 0
fontStyleModifier: 0
renderMode: 4169
includeFontFeatures: 1
m_FontWeightTable:
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
fontWeights:
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
- regularTypeface: {fileID: 0}
italicTypeface: {fileID: 0}
normalStyle: 0
normalSpacingOffset: 0
boldStyle: 0.75
boldSpacing: 7
italicStyle: 35
tabSize: 10
--- !u!28 &28268798066460806
Texture2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: LiberationSans SDF Atlas
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 0
m_Height: 0
m_CompleteImageSize: 0
m_TextureFormat: 1
m_MipCount: 1
m_IsReadable: 1
m_StreamingMipmaps: 0
m_StreamingMipmapsPriority: 0
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 0
m_WrapV: 0
m_WrapW: 0
m_LightmapFormat: 0
m_ColorSpace: 0
image data: 0
_typelessdata:
m_StreamData:
offset: 0
size: 0
path:

8
UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta


fileFormatVersion: 2
guid: 2e498d1c8094910479dc3e1b768306a4
timeCreated: 1484171803
licenseType: Pro
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

104
UOP1_Project/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: LiberationSans SDF - Outline
m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
m_ShaderKeywords: OUTLINE_ON
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Cube:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FaceTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}