Compare commits
164 Commits
main
...
feature/au
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e33bef85ec | ||
![]() |
1157dc0931 | ||
![]() |
4b24122c3d | ||
![]() |
3709e3ac4c | ||
![]() |
f9738bbd57 | ||
f2b60adacd | |||
![]() |
2ed9f00844 | ||
![]() |
f95bd2f169 | ||
![]() |
12f83a1428 | ||
![]() |
6f352858a3 | ||
![]() |
6feedab1e0 | ||
![]() |
f1c03eea80 | ||
![]() |
d964eb647d | ||
5c5996dc73 | |||
![]() |
44420181ba | ||
![]() |
9037d662f4 | ||
![]() |
6b7a1f5729 | ||
![]() |
3ef3ff171d | ||
![]() |
34f6df59cf | ||
![]() |
3ae4841644 | ||
![]() |
bed6fdcb96 | ||
![]() |
63fe837419 | ||
![]() |
e2cca37fcb | ||
![]() |
d1953d46f1 | ||
![]() |
6d08ec9252 | ||
![]() |
8846f415d8 | ||
![]() |
ad6c4f6280 | ||
![]() |
0c603187c7 | ||
![]() |
f9da2c2a64 | ||
![]() |
cbc1d6982d | ||
![]() |
0c6ec55470 | ||
![]() |
a2bb7a9f97 | ||
9b9e5c1a9b | |||
4f735d3910 | |||
4b3e6187ff | |||
13c4f4be7c | |||
2210c9a33f | |||
![]() |
555126662e | ||
![]() |
5dde8020ba | ||
![]() |
441964bb68 | ||
![]() |
3d21d47e51 | ||
698fa977f4 | |||
f01e00c1b4 | |||
b836d2db17 | |||
632ce9c565 | |||
3d4d0efdfe | |||
0630680f5e | |||
94b361f069 | |||
98354a30a1 | |||
e3806f23aa | |||
094984c7ac | |||
6c841577f9 | |||
9fda677d2c | |||
![]() |
b575c422cf | ||
![]() |
b6ee7274dd | ||
![]() |
53dd1130d4 | ||
![]() |
fce0c1c131 | ||
![]() |
e4a23dd190 | ||
![]() |
952f993b8d | ||
![]() |
632b8ebb4f | ||
![]() |
90afe5129a | ||
![]() |
ad6f8fa409 | ||
![]() |
f7615ee54b | ||
![]() |
90c0781796 | ||
![]() |
bed61d2a0d | ||
![]() |
8fb94dc08a | ||
![]() |
2b483bf213 | ||
![]() |
7d9c064165 | ||
![]() |
59c03a843b | ||
![]() |
6c11c9e801 | ||
![]() |
a54c3cec66 | ||
![]() |
9992341492 | ||
![]() |
7096e82d43 | ||
![]() |
e9f597d5a9 | ||
605e67bb6c | |||
![]() |
06001cd4f0 | ||
![]() |
aae35a3563 | ||
![]() |
4d9fd78c3a | ||
![]() |
10dbd0dc62 | ||
![]() |
e8a7e1c289 | ||
![]() |
7319ee8541 | ||
![]() |
ddf744ade4 | ||
![]() |
02c675ed3f | ||
ddf4d3143a | |||
![]() |
cc0459eb33 | ||
![]() |
3d54e764bc | ||
![]() |
6d1776cf20 | ||
![]() |
d02af59100 | ||
![]() |
5bd780214a | ||
![]() |
5323cccaaf | ||
![]() |
173944f087 | ||
![]() |
35dfe1a080 | ||
![]() |
689a4fe095 | ||
![]() |
f0e24f4c43 | ||
![]() |
ffd534cb13 | ||
1f42e5b7f7 | |||
944a83a896 | |||
ba5ad6513a | |||
![]() |
da2edd5504 | ||
![]() |
8ee7d89b0c | ||
![]() |
36cef3e169 | ||
![]() |
ad17db114f | ||
![]() |
25ffd5e7fe | ||
![]() |
0f0c7019c2 | ||
![]() |
a3cf0c1804 | ||
![]() |
29b5d3db72 | ||
![]() |
9bae1b0f41 | ||
929f7ecf55 | |||
![]() |
398df6bb04 | ||
![]() |
54e469d796 | ||
![]() |
caace28eb8 | ||
22d5da9d71 | |||
![]() |
654228bb87 | ||
![]() |
ebfc5677cd | ||
![]() |
ae05e4ceda | ||
7b62494ad5 | |||
2564b4be67 | |||
d43efed5d7 | |||
![]() |
47ab5d8a0c | ||
![]() |
ddb65d9398 | ||
![]() |
06d3aaf077 | ||
![]() |
5c21b07583 | ||
![]() |
b273bc04b4 | ||
![]() |
4e8fd18a2a | ||
![]() |
ba2ef76e32 | ||
![]() |
d5f4b54e6b | ||
![]() |
12ff1ab2b9 | ||
![]() |
bcba4f0436 | ||
![]() |
7e88663e47 | ||
![]() |
7ddbf3be68 | ||
![]() |
2804b9a240 | ||
![]() |
3eeb91bfca | ||
![]() |
df3341158a | ||
![]() |
c04291fdd4 | ||
![]() |
e604ded93a | ||
![]() |
c85b4f829b | ||
![]() |
d82596b9ce | ||
8e4a6d6118 | |||
![]() |
2f125ba73c | ||
![]() |
2d123da297 | ||
![]() |
c66c9a201e | ||
![]() |
97cf6c1b53 | ||
![]() |
88604b4489 | ||
![]() |
5edb192b63 | ||
![]() |
6e730835b8 | ||
![]() |
9a7e8f867a | ||
![]() |
c1ac0130c5 | ||
![]() |
510d2a1466 | ||
![]() |
bfb7ccbe4b | ||
![]() |
5065d1a738 | ||
![]() |
8a2abb5a40 | ||
![]() |
6f7a5e131c | ||
![]() |
ada20f3f91 | ||
![]() |
a805d32f8a | ||
762140ed6e | |||
23b8a1c6c4 | |||
![]() |
f76256d49d | ||
![]() |
3d5090d905 | ||
![]() |
b83e4c3a5e | ||
![]() |
0a06c10e29 | ||
c79d37a608 | |||
![]() |
32cf8177e8 | ||
![]() |
8fd305f106 | ||
![]() |
a4550f55a1 |
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -1,6 +1,5 @@
|
||||
# --- 기본 텍스트 파일 정규화 ---
|
||||
* text=auto
|
||||
|
||||
# --- C# 및 스크립트 파일 ---
|
||||
*.cs text diff=csharp
|
||||
*.shader text
|
||||
@ -23,6 +22,7 @@
|
||||
*.renderTexture text merge=union eol=lf
|
||||
*.timeline text merge=union eol=lf
|
||||
*.playable text merge=union eol=lf
|
||||
*.spriteatlasv2 text merge=union eol=lf
|
||||
# --- Git LFS 관리 대상 바이너리 파일들 ---
|
||||
# 이미지
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
@ -70,3 +70,4 @@
|
||||
*.sln text eol=crlf
|
||||
*.csproj text
|
||||
*.asmdef text
|
||||
*.sbs filter=lfs diff=lfs merge=lfs -text
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -93,8 +93,7 @@ Packages/com.distantlands.cozy.core/Samples~/Legacy Integrations/*.unitypackage.
|
||||
packages-lock.json
|
||||
.vscode
|
||||
|
||||
# Raw 폴더 전체 무시
|
||||
#Assets/_Datas/Raw/
|
||||
|
||||
# 특정 atlas 파일 무시
|
||||
#Assets/_Datas/Addressables/Sprites/Items.spriteatlasv2
|
||||
# Unity SpriteAtlas auto-generated files
|
||||
Assets/_DDD/_Addressables/Sprites/*
|
||||
.autosave/
|
||||
|
@ -13,5 +13,10 @@ MonoBehaviour:
|
||||
m_Name: AddressableAssetGroupSortSettings
|
||||
m_EditorClassIdentifier:
|
||||
sortOrder:
|
||||
- fd6e789ea039d544692729b952eba73f
|
||||
- e05c277fe5b7e264798fbe5a7c9239dc
|
||||
- 28053bf0e188c634ca1f55c8f2767069
|
||||
- af2825561e428e54ba49956c3b989420
|
||||
- ecfcfda897c703f42a3e712e800a04bf
|
||||
- 30e7f67fe9aaa7849a34c9b6e2bc53ae
|
||||
- 7fe0c33d351391a45a0ea3c93ecef42e
|
||||
|
@ -15,7 +15,7 @@ MonoBehaviour:
|
||||
m_DefaultGroup: 30e7f67fe9aaa7849a34c9b6e2bc53ae
|
||||
m_currentHash:
|
||||
serializedVersion: 2
|
||||
Hash: 00000000000000000000000000000000
|
||||
Hash: 7ed6932cd0bcae0a451e84a6b7db6da2
|
||||
m_OptimizeCatalogSize: 0
|
||||
m_BuildRemoteCatalog: 1
|
||||
m_CatalogRequestsTimeout: 0
|
||||
@ -59,8 +59,13 @@ MonoBehaviour:
|
||||
m_BuildAddressablesWithPlayerBuild: 0
|
||||
m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]'
|
||||
m_GroupAssets:
|
||||
- {fileID: 11400000, guid: e1b57f580a1df344d80b1073dcfca317, type: 2}
|
||||
- {fileID: 11400000, guid: 5329bd0c1faf253408343429c6a99b39, type: 2}
|
||||
- {fileID: 11400000, guid: 5b7b9bd594e863849bf5e512f59ba0fc, type: 2}
|
||||
- {fileID: 11400000, guid: de41279ce863bfd47bc8c25c6e70d38b, type: 2}
|
||||
- {fileID: 11400000, guid: aa213c00ab7fb904baa2b0c3d1b90adf, type: 2}
|
||||
- {fileID: 11400000, guid: 97c26bb69807990449c3b2f9323087a0, type: 2}
|
||||
- {fileID: 11400000, guid: 9dfa0d89bb3450744b0195c8b19fd072, type: 2}
|
||||
m_BuildSettings:
|
||||
m_LogResourceManagerExceptions: 1
|
||||
m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles
|
||||
@ -106,6 +111,14 @@ MonoBehaviour:
|
||||
- Atlas
|
||||
- Sprite
|
||||
- So
|
||||
- Scene
|
||||
- Material
|
||||
- Locale
|
||||
- Locale-ko
|
||||
- Locale-en
|
||||
- Locale-ja
|
||||
- Preload
|
||||
- AnimatorController
|
||||
m_SchemaTemplates: []
|
||||
m_GroupTemplateObjects:
|
||||
- {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
|
||||
|
@ -15,20 +15,50 @@ MonoBehaviour:
|
||||
m_GroupName: GoogleSheetSo_Group
|
||||
m_GUID: 7fe0c33d351391a45a0ea3c93ecef42e
|
||||
m_SerializeEntries:
|
||||
- m_GUID: 3dee12c6902e0644fab1d0e2693857a8
|
||||
m_Address: ItemSo
|
||||
- m_GUID: 0384a1dd37d87c94dbe4089d3e7665fb
|
||||
m_Address: IngredientDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: b7e176e1cb8d76941af3b6344a4e1401
|
||||
m_Address: FoodSo
|
||||
- m_GUID: 2461248e3c8af814a865a34935d946d5
|
||||
m_Address: TasteDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: f38617ba14522db4d87bb7e10c280a2d
|
||||
m_Address: MonsterSo
|
||||
- m_GUID: 5c7c87af5db0e884eb3b979cb1d2188b
|
||||
m_Address: CookwareDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 7446495d3106eff4ab5b0f9d7d97b579
|
||||
m_Address: DrinkDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 7711950f44240644b940e1136ebe15c8
|
||||
m_Address: RecipeDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 8261ff435a6e2484086e02e556c0ba93
|
||||
m_Address: FoodDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 84f8a3bf287dd904d9ba55d2ded55eb9
|
||||
m_Address: EnvironmentDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: c2be393a39588b647bacdd69f47f677d
|
||||
m_Address: ItemDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
|
@ -1,23 +0,0 @@
|
||||
%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: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: GoogleSheetSprite_Group
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: GoogleSheetSprite_Group
|
||||
m_GUID: 30e7f67fe9aaa7849a34c9b6e2bc53ae
|
||||
m_SerializeEntries: []
|
||||
m_ReadOnly: 0
|
||||
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: 7e7c84ad73aefe14a8fe3acef1a1ef70, type: 2}
|
||||
- {fileID: 11400000, guid: 446e71e39fbb9cc41bd76f6e78ea5347, type: 2}
|
183
Assets/AddressableAssetsData/AssetGroups/Group.asset
Normal file
183
Assets/AddressableAssetsData/AssetGroups/Group.asset
Normal file
@ -0,0 +1,183 @@
|
||||
%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: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Group
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: Group
|
||||
m_GUID: 30e7f67fe9aaa7849a34c9b6e2bc53ae
|
||||
m_SerializeEntries:
|
||||
- m_GUID: 034ac52b4c3fe854193b7c9c2d353be5
|
||||
m_Address: Foods
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Atlas
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 077fbb30d2367574db4211e2945acda0
|
||||
m_Address: TodayMenuSlotUi
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- AnimatorController
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 0912c3de85fd61848a41575faa2794ed
|
||||
m_Address: CreateEnvironmentSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 0e912dc7ded8c2449bc4d0e2bbf1d2bf
|
||||
m_Address: BaseRestaurantEnvironment
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Prefab
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 2007acba03804024a801aee30991e439
|
||||
m_Address: Ingredients
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Atlas
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 29d0dee3b70fbc44d992ea47012bc366
|
||||
m_Address: InventoryTestDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 29dcda970aef9584d9b157e766b8a278
|
||||
m_Address: RestaurantPlayer
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Prefab
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 2eb88deceda8c443db7ec557aaef30af
|
||||
m_Address: Entry
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Scene
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 422e501a9731145439708c6759c8c546
|
||||
m_Address: Coral_SkeletonData
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 43d183a6e5f0da746b6dbe4b447caa9e
|
||||
m_Address: RestaurantProps
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Atlas
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 47e757b9a170ab649af14c4d7b80ac41
|
||||
m_Address: CreateRestaurantPlayerSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 79f90744c9c7ada498ba1ee8c60272d3
|
||||
m_Address: Common
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Atlas
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 83afdd7c8e0232443a83b09a90d0d3b1
|
||||
m_Address: InventorySlotUi
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- AnimatorController
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 8c4fcb278b09f944cbfa342ace27fcd4
|
||||
m_Address: RestaurantManagementSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 91f41ed6ea0600f4abed98cf0bf53bc5
|
||||
m_Address: Drinks
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Atlas
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 99d3d87bd43df65488e757c43a308f36
|
||||
m_Address: RestaurantManagementUi_RestaurantUiActions_InputBindingSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: a60e7a432b7eb65419f3942f4f422fb4
|
||||
m_Address: Voyage
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Scene
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: a6e29c94b45be18498c195333e651353
|
||||
m_Address: RestaurantManagementUi
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Atlas
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: bdaaf61c74a901948adb2ec33a16f303
|
||||
m_Address: TEst
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Atlas
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: c6d19267dabc844449cc778f2f03fb34
|
||||
m_Address: SummerGrass01_SkeletonData
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: d11d5cf80be02d7469f07db925af284a
|
||||
m_Address: TabButtonUi
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Prefab
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: ddb0db863be8f254bb8a8f07d39a960e
|
||||
m_Address: RestaurantPlayerDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: de073d0136201ac4cbb36dbeb4b76fb2
|
||||
m_Address: Restaurant
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Scene
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: e349efbef7b74ce47af461f7985bfdc2
|
||||
m_Address: ItemSlotUi
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Prefab
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: efc890589b4c46948885cd750384bc6f
|
||||
m_Address: BasePropSpriteMaterial
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Material
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: f28a226717a80c9408dc27c756ce6e2f
|
||||
m_Address: KeySlot
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Prefab
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: f9bb25b96d102c34ea2088901e9815df
|
||||
m_Address: TasteHashTagSlotUi
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Prefab
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: ff07d58cdb81fca4f80b04a12d40d7d9
|
||||
m_Address: CheckListSlot
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- Prefab
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 0
|
||||
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: 7e7c84ad73aefe14a8fe3acef1a1ef70, type: 2}
|
||||
- {fileID: 11400000, guid: 446e71e39fbb9cc41bd76f6e78ea5347, type: 2}
|
@ -0,0 +1,47 @@
|
||||
%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: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Localization-Assets-Shared
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: Localization-Assets-Shared
|
||||
m_GUID: fd6e789ea039d544692729b952eba73f
|
||||
m_SerializeEntries:
|
||||
- m_GUID: 3e0718b57bd880048bf024a4d639abdf
|
||||
m_Address: Assets/_DDD/_ScriptAssets/Localization/Item_Taste/Item_Taste Shared
|
||||
Data.asset
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 7ff74e35f1195e9459b036fb9e6d800d
|
||||
m_Address: Assets/_DDD/_ScriptAssets/Localization/Item_Description/Item_Description
|
||||
Shared Data.asset
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: a1547fb82effcb847a7246892ab65b3b
|
||||
m_Address: Assets/_DDD/_ScriptAssets/Localization/Item_Name/Item_Name Shared
|
||||
Data.asset
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: d49dd382fc6ad83479443c229092aaa5
|
||||
m_Address: Assets/_DDD/_ScriptAssets/Localization/Global_Message/Global_Message
|
||||
Shared Data.asset
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 1
|
||||
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: 1fd7839e70b6ae64a90f35de9d2f0816, type: 2}
|
||||
- {fileID: 11400000, guid: c56a00ae7a1522f43ab6deadaf605234, type: 2}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a98ebd2611b2e4e80a867f57fdc91fc9
|
||||
guid: 9dfa0d89bb3450744b0195c8b19fd072
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
@ -0,0 +1,41 @@
|
||||
%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: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Localization-Locales
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: Localization-Locales
|
||||
m_GUID: e05c277fe5b7e264798fbe5a7c9239dc
|
||||
m_SerializeEntries:
|
||||
- m_GUID: 12efb29359fb52b46bd231795abcf40f
|
||||
m_Address: Korean (ko)
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 5500d23f1f54da1469311b91b05000b0
|
||||
m_Address: Japanese (ja)
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 74e2f2bb5b2eb284aa50c71bc0e602b0
|
||||
m_Address: English (en)
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 1
|
||||
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: 2c0a96693e2d52c4e817ba256542b053, type: 2}
|
||||
- {fileID: 11400000, guid: f6b12b9a1f788d345a122bd53fb8c854, type: 2}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b7e176e1cb8d76941af3b6344a4e1401
|
||||
guid: aa213c00ab7fb904baa2b0c3d1b90adf
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
@ -0,0 +1,47 @@
|
||||
%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: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Localization-String-Tables-English (en)
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: Localization-String-Tables-English (en)
|
||||
m_GUID: 28053bf0e188c634ca1f55c8f2767069
|
||||
m_SerializeEntries:
|
||||
- m_GUID: 0f43ff9604eb3e243b5194e61c362db1
|
||||
m_Address: Item_Name_en
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-en
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 1511b37b38652d24599de07509c79647
|
||||
m_Address: Item_Taste_en
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-en
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 18379b0c354761040aaeb849df8cbabd
|
||||
m_Address: Item_Description_en
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-en
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 9693f4924a4737c47999c647fa717b5f
|
||||
m_Address: Global_Message_en
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-en
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 1
|
||||
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: a6ebe5e594db22c47a5ec57d4e9d5561, type: 2}
|
||||
- {fileID: 11400000, guid: e2dbc665bf8d9ab4996582b40556fdd4, type: 2}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3dee12c6902e0644fab1d0e2693857a8
|
||||
guid: e1b57f580a1df344d80b1073dcfca317
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
@ -0,0 +1,47 @@
|
||||
%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: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Localization-String-Tables-Japanese (ja)
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: Localization-String-Tables-Japanese (ja)
|
||||
m_GUID: af2825561e428e54ba49956c3b989420
|
||||
m_SerializeEntries:
|
||||
- m_GUID: 4aaf7e37b547cd64b9dc75dad1012884
|
||||
m_Address: Item_Description_ja
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-ja
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 99a51138544ab6347ab4160b20de9c00
|
||||
m_Address: Global_Message_ja
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-ja
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 9a79f84fff1ffd544bfe25d4ca113cf8
|
||||
m_Address: Item_Name_ja
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-ja
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 9e8ab3df51092aa459aa46a84e1765ee
|
||||
m_Address: Item_Taste_ja
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-ja
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 1
|
||||
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: 507c24bd9b6167c46be04b2d03a7afdc, type: 2}
|
||||
- {fileID: 11400000, guid: 2f9b8913cc7c497429f8d9b742e2248d, type: 2}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f38617ba14522db4d87bb7e10c280a2d
|
||||
guid: de41279ce863bfd47bc8c25c6e70d38b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
@ -0,0 +1,47 @@
|
||||
%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: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Localization-String-Tables-Korean (ko)
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: Localization-String-Tables-Korean (ko)
|
||||
m_GUID: ecfcfda897c703f42a3e712e800a04bf
|
||||
m_SerializeEntries:
|
||||
- m_GUID: 0dd986e516ee3594b886e2bf295eb6cf
|
||||
m_Address: Item_Taste_ko
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-ko
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 7702cc2653c9dd440affa8484a2ac07e
|
||||
m_Address: Global_Message_ko
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-ko
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: c04c3cfa9e0213d46850ff7ada3c6405
|
||||
m_Address: Item_Name_ko
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-ko
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: e33b8f7778cf1ef46aecaf3e16ebb54c
|
||||
m_Address: Item_Description_ko
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels:
|
||||
- Locale-ko
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 1
|
||||
m_Settings: {fileID: 11400000, guid: d12ffbb6f886d48418efb0b6d15ccb88, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: 0ae4285925d53be4b9c79fbdbe6fd83f, type: 2}
|
||||
- {fileID: 11400000, guid: 13d50d1ad4c80aa489b2b5d0bfbd0a43, type: 2}
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 97c26bb69807990449c3b2f9323087a0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -10,7 +10,7 @@ MonoBehaviour:
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||
m_Name: GoogleSheetSprite_Group_BundledAssetGroupSchema
|
||||
m_Name: Group_BundledAssetGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: 5329bd0c1faf253408343429c6a99b39, type: 2}
|
||||
m_InternalBundleIdMode: 1
|
@ -10,7 +10,7 @@ MonoBehaviour:
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||
m_Name: GoogleSheetSprite_Group_ContentUpdateGroupSchema
|
||||
m_Name: Group_ContentUpdateGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: 5329bd0c1faf253408343429c6a99b39, type: 2}
|
||||
m_StaticContent: 0
|
@ -0,0 +1,47 @@
|
||||
%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: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||
m_Name: Localization-Assets-Shared_BundledAssetGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: 9dfa0d89bb3450744b0195c8b19fd072, type: 2}
|
||||
m_InternalBundleIdMode: 1
|
||||
m_Compression: 1
|
||||
m_IncludeAddressInCatalog: 1
|
||||
m_IncludeGUIDInCatalog: 1
|
||||
m_IncludeLabelsInCatalog: 1
|
||||
m_InternalIdNamingMode: 0
|
||||
m_CacheClearBehavior: 0
|
||||
m_IncludeInBuild: 1
|
||||
m_BundledAssetProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
|
||||
m_ForceUniqueProvider: 0
|
||||
m_UseAssetBundleCache: 1
|
||||
m_UseAssetBundleCrc: 1
|
||||
m_UseAssetBundleCrcForCachedBundles: 1
|
||||
m_UseUWRForLocalBundles: 0
|
||||
m_Timeout: 0
|
||||
m_ChunkedTransfer: 0
|
||||
m_RedirectLimit: -1
|
||||
m_RetryCount: 0
|
||||
m_BuildPath:
|
||||
m_Id: 30b8e03fd76b09f46850a05b2650884d
|
||||
m_LoadPath:
|
||||
m_Id: 7852182deca226a488adf0342a6f6c9a
|
||||
m_BundleMode: 0
|
||||
m_AssetBundleProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
|
||||
m_UseDefaultSchemaSettings: 0
|
||||
m_SelectedPathPairIndex: 0
|
||||
m_BundleNaming: 1
|
||||
m_AssetLoadMode: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1fd7839e70b6ae64a90f35de9d2f0816
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -9,19 +9,8 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7e1500a3fc388674fa8ef2759d5d1c95, type: 3}
|
||||
m_Name: MonsterSo
|
||||
m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||
m_Name: Localization-Assets-Shared_ContentUpdateGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
MonsterList:
|
||||
- Id: Test001
|
||||
Name: A
|
||||
T1: 1
|
||||
- Id: Test002
|
||||
Name: B
|
||||
T1: 2
|
||||
- Id: Test003
|
||||
Name: C
|
||||
T1: 3
|
||||
- Id: Test004
|
||||
Name: D
|
||||
T1: 4
|
||||
m_Group: {fileID: 11400000, guid: 9dfa0d89bb3450744b0195c8b19fd072, type: 2}
|
||||
m_StaticContent: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c56a00ae7a1522f43ab6deadaf605234
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,47 @@
|
||||
%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: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||
m_Name: Localization-Locales_BundledAssetGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: aa213c00ab7fb904baa2b0c3d1b90adf, type: 2}
|
||||
m_InternalBundleIdMode: 1
|
||||
m_Compression: 1
|
||||
m_IncludeAddressInCatalog: 1
|
||||
m_IncludeGUIDInCatalog: 1
|
||||
m_IncludeLabelsInCatalog: 1
|
||||
m_InternalIdNamingMode: 0
|
||||
m_CacheClearBehavior: 0
|
||||
m_IncludeInBuild: 1
|
||||
m_BundledAssetProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
|
||||
m_ForceUniqueProvider: 0
|
||||
m_UseAssetBundleCache: 1
|
||||
m_UseAssetBundleCrc: 1
|
||||
m_UseAssetBundleCrcForCachedBundles: 1
|
||||
m_UseUWRForLocalBundles: 0
|
||||
m_Timeout: 0
|
||||
m_ChunkedTransfer: 0
|
||||
m_RedirectLimit: -1
|
||||
m_RetryCount: 0
|
||||
m_BuildPath:
|
||||
m_Id: 30b8e03fd76b09f46850a05b2650884d
|
||||
m_LoadPath:
|
||||
m_Id: 7852182deca226a488adf0342a6f6c9a
|
||||
m_BundleMode: 0
|
||||
m_AssetBundleProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
|
||||
m_UseDefaultSchemaSettings: 0
|
||||
m_SelectedPathPairIndex: 0
|
||||
m_BundleNaming: 1
|
||||
m_AssetLoadMode: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2c0a96693e2d52c4e817ba256542b053
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,16 @@
|
||||
%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: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||
m_Name: Localization-Locales_ContentUpdateGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: aa213c00ab7fb904baa2b0c3d1b90adf, type: 2}
|
||||
m_StaticContent: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6b12b9a1f788d345a122bd53fb8c854
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,47 @@
|
||||
%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: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||
m_Name: Localization-String-Tables-English (en)_BundledAssetGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: e1b57f580a1df344d80b1073dcfca317, type: 2}
|
||||
m_InternalBundleIdMode: 1
|
||||
m_Compression: 1
|
||||
m_IncludeAddressInCatalog: 1
|
||||
m_IncludeGUIDInCatalog: 1
|
||||
m_IncludeLabelsInCatalog: 1
|
||||
m_InternalIdNamingMode: 0
|
||||
m_CacheClearBehavior: 0
|
||||
m_IncludeInBuild: 1
|
||||
m_BundledAssetProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
|
||||
m_ForceUniqueProvider: 0
|
||||
m_UseAssetBundleCache: 1
|
||||
m_UseAssetBundleCrc: 1
|
||||
m_UseAssetBundleCrcForCachedBundles: 1
|
||||
m_UseUWRForLocalBundles: 0
|
||||
m_Timeout: 0
|
||||
m_ChunkedTransfer: 0
|
||||
m_RedirectLimit: -1
|
||||
m_RetryCount: 0
|
||||
m_BuildPath:
|
||||
m_Id: 30b8e03fd76b09f46850a05b2650884d
|
||||
m_LoadPath:
|
||||
m_Id: 7852182deca226a488adf0342a6f6c9a
|
||||
m_BundleMode: 0
|
||||
m_AssetBundleProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
|
||||
m_UseDefaultSchemaSettings: 0
|
||||
m_SelectedPathPairIndex: 0
|
||||
m_BundleNaming: 1
|
||||
m_AssetLoadMode: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a6ebe5e594db22c47a5ec57d4e9d5561
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,16 @@
|
||||
%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: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||
m_Name: Localization-String-Tables-English (en)_ContentUpdateGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: e1b57f580a1df344d80b1073dcfca317, type: 2}
|
||||
m_StaticContent: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e2dbc665bf8d9ab4996582b40556fdd4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,47 @@
|
||||
%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: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||
m_Name: Localization-String-Tables-Japanese (ja)_BundledAssetGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: de41279ce863bfd47bc8c25c6e70d38b, type: 2}
|
||||
m_InternalBundleIdMode: 1
|
||||
m_Compression: 1
|
||||
m_IncludeAddressInCatalog: 1
|
||||
m_IncludeGUIDInCatalog: 1
|
||||
m_IncludeLabelsInCatalog: 1
|
||||
m_InternalIdNamingMode: 0
|
||||
m_CacheClearBehavior: 0
|
||||
m_IncludeInBuild: 1
|
||||
m_BundledAssetProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
|
||||
m_ForceUniqueProvider: 0
|
||||
m_UseAssetBundleCache: 1
|
||||
m_UseAssetBundleCrc: 1
|
||||
m_UseAssetBundleCrcForCachedBundles: 1
|
||||
m_UseUWRForLocalBundles: 0
|
||||
m_Timeout: 0
|
||||
m_ChunkedTransfer: 0
|
||||
m_RedirectLimit: -1
|
||||
m_RetryCount: 0
|
||||
m_BuildPath:
|
||||
m_Id: 30b8e03fd76b09f46850a05b2650884d
|
||||
m_LoadPath:
|
||||
m_Id: 7852182deca226a488adf0342a6f6c9a
|
||||
m_BundleMode: 0
|
||||
m_AssetBundleProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
|
||||
m_UseDefaultSchemaSettings: 0
|
||||
m_SelectedPathPairIndex: 0
|
||||
m_BundleNaming: 1
|
||||
m_AssetLoadMode: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 507c24bd9b6167c46be04b2d03a7afdc
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,16 @@
|
||||
%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: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||
m_Name: Localization-String-Tables-Japanese (ja)_ContentUpdateGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: de41279ce863bfd47bc8c25c6e70d38b, type: 2}
|
||||
m_StaticContent: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f9b8913cc7c497429f8d9b742e2248d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,47 @@
|
||||
%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: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||
m_Name: Localization-String-Tables-Korean (ko)_BundledAssetGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: 97c26bb69807990449c3b2f9323087a0, type: 2}
|
||||
m_InternalBundleIdMode: 1
|
||||
m_Compression: 1
|
||||
m_IncludeAddressInCatalog: 1
|
||||
m_IncludeGUIDInCatalog: 1
|
||||
m_IncludeLabelsInCatalog: 1
|
||||
m_InternalIdNamingMode: 0
|
||||
m_CacheClearBehavior: 0
|
||||
m_IncludeInBuild: 1
|
||||
m_BundledAssetProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
|
||||
m_ForceUniqueProvider: 0
|
||||
m_UseAssetBundleCache: 1
|
||||
m_UseAssetBundleCrc: 1
|
||||
m_UseAssetBundleCrcForCachedBundles: 1
|
||||
m_UseUWRForLocalBundles: 0
|
||||
m_Timeout: 0
|
||||
m_ChunkedTransfer: 0
|
||||
m_RedirectLimit: -1
|
||||
m_RetryCount: 0
|
||||
m_BuildPath:
|
||||
m_Id: 30b8e03fd76b09f46850a05b2650884d
|
||||
m_LoadPath:
|
||||
m_Id: 7852182deca226a488adf0342a6f6c9a
|
||||
m_BundleMode: 0
|
||||
m_AssetBundleProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
|
||||
m_UseDefaultSchemaSettings: 0
|
||||
m_SelectedPathPairIndex: 0
|
||||
m_BundleNaming: 1
|
||||
m_AssetLoadMode: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0ae4285925d53be4b9c79fbdbe6fd83f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,16 @@
|
||||
%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: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||
m_Name: Localization-String-Tables-Korean (ko)_ContentUpdateGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: 97c26bb69807990449c3b2f9323087a0, type: 2}
|
||||
m_StaticContent: 0
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 13d50d1ad4c80aa489b2b5d0bfbd0a43
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b3c3d746a157af64695657762823e7cb
|
||||
guid: 7ddc9a444b5824bcc9421fef5212845b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@ -15,7 +15,7 @@ MonoBehaviour:
|
||||
rulesEnabled: 1
|
||||
allowGroupCreation: 1
|
||||
rules:
|
||||
- path: Assets/_Datas/Addressables/(?<category>[^/]+)/(?<asset>.*)\.spriteatlasv2
|
||||
- path: Assets/_DDD/_Addressables/.*/(?<asset>.*)\.spriteatlasv2
|
||||
matchType: 1
|
||||
groupName:
|
||||
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
|
||||
@ -26,7 +26,7 @@ MonoBehaviour:
|
||||
LabelMode: 1
|
||||
simplified: 0
|
||||
addressReplacement: ${asset}
|
||||
- path: Assets/_Datas/Addressables/(?<category>[^/]+)/(?<asset>.*)\.prefab
|
||||
- path: Assets/_DDD/_Addressables/.*/(?<asset>.*)\.prefab
|
||||
matchType: 1
|
||||
groupName:
|
||||
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
|
||||
@ -37,7 +37,7 @@ MonoBehaviour:
|
||||
LabelMode: 1
|
||||
simplified: 0
|
||||
addressReplacement: ${asset}
|
||||
- path: Assets/_Datas/Addressables/(?<category>[^/]+)/(?<asset>.*)\.png
|
||||
- path: Assets/_DDD/_Addressables/.*/(?<asset>.*)\.png
|
||||
matchType: 1
|
||||
groupName:
|
||||
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
|
||||
@ -48,14 +48,46 @@ MonoBehaviour:
|
||||
LabelMode: 1
|
||||
simplified: 0
|
||||
addressReplacement: ${asset}
|
||||
- path: Assets/_Datas/Addressables/(?<category>[^/]+)/(?<asset>.*)\.asset
|
||||
- path: Assets/_DDD/_Addressables/.*/(?<asset>.*)\.asset
|
||||
matchType: 1
|
||||
groupName:
|
||||
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
|
||||
groupTemplateApplicationMode: 0
|
||||
labelRefs: []
|
||||
dynamicLabels: []
|
||||
LabelMode: 1
|
||||
simplified: 0
|
||||
addressReplacement: ${asset}
|
||||
- path: Assets/_DDD/_Addressables/.*/(?<asset>.*)\.unity
|
||||
matchType: 1
|
||||
groupName:
|
||||
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
|
||||
groupTemplateApplicationMode: 0
|
||||
labelRefs: []
|
||||
dynamicLabels:
|
||||
- So
|
||||
- Scene
|
||||
LabelMode: 1
|
||||
simplified: 0
|
||||
addressReplacement: ${asset}
|
||||
- path: Assets/_DDD/_Addressables/.*/(?<asset>.*)\.mat
|
||||
matchType: 1
|
||||
groupName:
|
||||
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
|
||||
groupTemplateApplicationMode: 0
|
||||
labelRefs: []
|
||||
dynamicLabels:
|
||||
- Material
|
||||
LabelMode: 1
|
||||
simplified: 0
|
||||
addressReplacement: ${asset}
|
||||
- path: Assets/_DDD/_Addressables/.*/(?<asset>.*)\.controller
|
||||
matchType: 1
|
||||
groupName:
|
||||
groupTemplate: {fileID: 11400000, guid: f804fe78e7005554f9ba60273aade35b, type: 2}
|
||||
groupTemplateApplicationMode: 0
|
||||
labelRefs: []
|
||||
dynamicLabels:
|
||||
- AnimatorController
|
||||
LabelMode: 1
|
||||
simplified: 0
|
||||
addressReplacement: ${asset}
|
||||
|
@ -1,963 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &258753385772826042
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5280945432137094137}
|
||||
m_Layer: 0
|
||||
m_Name: CinemachineCameras
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5280945432137094137
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 258753385772826042}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3417753514894892473}
|
||||
- {fileID: 2993592665475887429}
|
||||
- {fileID: 9101347620823304471}
|
||||
- {fileID: 4498532076256692955}
|
||||
- {fileID: 3872803206768363411}
|
||||
- {fileID: 424525070842800962}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1399409491643257879
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 424525070842800962}
|
||||
- component: {fileID: 3741436788799057641}
|
||||
- component: {fileID: 2091984449051004701}
|
||||
- component: {fileID: 1759013958658073954}
|
||||
m_Layer: 0
|
||||
m_Name: FavorabilityConfiner02
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &424525070842800962
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1399409491643257879}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -700, y: 1.5, z: -5}
|
||||
m_LocalScale: {x: 6.5, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5280945432137094137}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &3741436788799057641
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1399409491643257879}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &2091984449051004701
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1399409491643257879}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &1759013958658073954
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1399409491643257879}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0.25, z: 0.5}
|
||||
--- !u!1 &1851567781837438493
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4498532076256692955}
|
||||
- component: {fileID: 5114046926123711169}
|
||||
- component: {fileID: 3246232290853291449}
|
||||
- component: {fileID: 4159505730507518888}
|
||||
m_Layer: 0
|
||||
m_Name: FavorabilityConfiner01
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4498532076256692955
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851567781837438493}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -600, y: 1.5, z: -5}
|
||||
m_LocalScale: {x: 6.5, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5280945432137094137}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &5114046926123711169
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851567781837438493}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &3246232290853291449
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851567781837438493}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &4159505730507518888
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1851567781837438493}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0.25, z: 0.5}
|
||||
--- !u!1 &3015334612539596982
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3417753514894892473}
|
||||
- component: {fileID: 6081101986301835619}
|
||||
- component: {fileID: 5019153103860828927}
|
||||
- component: {fileID: 3688312069452880174}
|
||||
- component: {fileID: 6463147863012176903}
|
||||
- component: {fileID: 3956599978364099181}
|
||||
m_Layer: 0
|
||||
m_Name: BaseCamera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3417753514894892473
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3015334612539596982}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.3420201, y: 0, z: 0, w: 0.9396927}
|
||||
m_LocalPosition: {x: 0.46, y: 7.4278765, z: -16.600447}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5280945432137094137}
|
||||
m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0}
|
||||
--- !u!114 &6081101986301835619
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3015334612539596982}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Priority:
|
||||
Enabled: 1
|
||||
m_Value: 1
|
||||
OutputChannel: 1
|
||||
StandbyUpdate: 2
|
||||
m_StreamingVersion: 20241001
|
||||
m_LegacyPriority: 0
|
||||
Target:
|
||||
TrackingTarget: {fileID: 0}
|
||||
LookAtTarget: {fileID: 0}
|
||||
CustomLookAtTarget: 1
|
||||
Lens:
|
||||
FieldOfView: 60
|
||||
OrthographicSize: 15.39
|
||||
NearClipPlane: 0.01
|
||||
FarClipPlane: 300
|
||||
Dutch: 0
|
||||
ModeOverride: 2
|
||||
PhysicalProperties:
|
||||
GateFit: 2
|
||||
SensorSize: {x: 1, y: 1}
|
||||
LensShift: {x: 0, y: 0}
|
||||
FocusDistance: 10
|
||||
Iso: 200
|
||||
ShutterSpeed: 0.005
|
||||
Aperture: 16
|
||||
BladeCount: 5
|
||||
Curvature: {x: 2, y: 11}
|
||||
BarrelClipping: 0.25
|
||||
Anamorphism: 0
|
||||
BlendHint: 0
|
||||
--- !u!114 &5019153103860828927
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3015334612539596982}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 886251e9a18ece04ea8e61686c173e1b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
CameraDistance: 10
|
||||
DeadZoneDepth: 0
|
||||
Composition:
|
||||
ScreenPosition: {x: 0, y: 0}
|
||||
DeadZone:
|
||||
Enabled: 1
|
||||
Size: {x: 0, y: 0}
|
||||
HardLimits:
|
||||
Enabled: 1
|
||||
Size: {x: 0.8, y: 0.8}
|
||||
Offset: {x: 0, y: 0}
|
||||
CenterOnActivate: 1
|
||||
TargetOffset: {x: 0, y: 1, z: 0}
|
||||
Damping: {x: 0, y: 0, z: 0}
|
||||
Lookahead:
|
||||
Enabled: 0
|
||||
Time: 0
|
||||
Smoothing: 0
|
||||
IgnoreY: 0
|
||||
--- !u!114 &3688312069452880174
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3015334612539596982}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 00b2d199b96b516448144ab30fb26aed, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ApplyAfter: 2
|
||||
ChannelMask: 1
|
||||
Gain: 1
|
||||
Use2DDistance: 0
|
||||
UseCameraSpace: 1
|
||||
ReactionSettings:
|
||||
m_SecondaryNoise: {fileID: 0}
|
||||
AmplitudeGain: 1
|
||||
FrequencyGain: 1
|
||||
Duration: 1
|
||||
m_NoiseOffsets: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6463147863012176903
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3015334612539596982}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 180ecf9b41d478f468eb3e9083753217, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ImpulseDefinition:
|
||||
ImpulseChannel: 1
|
||||
ImpulseShape: 2
|
||||
CustomImpulseShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
ImpulseDuration: 0.1
|
||||
ImpulseType: 3
|
||||
DissipationRate: 0.25
|
||||
RawSignal: {fileID: 11400000, guid: 69ce8388f6785dd4c8c39915efece2f4, type: 2}
|
||||
AmplitudeGain: 1
|
||||
FrequencyGain: 1
|
||||
RepeatMode: 0
|
||||
Randomize: 1
|
||||
TimeEnvelope:
|
||||
AttackShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
DecayShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
AttackTime: 0
|
||||
SustainTime: 0.2
|
||||
DecayTime: 0.7
|
||||
ScaleWithImpact: 1
|
||||
HoldForever: 0
|
||||
ImpactRadius: 100
|
||||
DirectionMode: 0
|
||||
DissipationMode: 2
|
||||
DissipationDistance: 100
|
||||
PropagationSpeed: 343
|
||||
DefaultVelocity: {x: 0, y: -1, z: 0}
|
||||
--- !u!114 &3956599978364099181
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3015334612539596982}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4d75924d76b05344aa410607bc57db98, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
BoundingVolume: {fileID: 7616611601100776538}
|
||||
SlowingDistance: 0
|
||||
--- !u!1 &5666707408206032765
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3872803206768363411}
|
||||
- component: {fileID: 1091547984251894149}
|
||||
- component: {fileID: 176693043332870689}
|
||||
- component: {fileID: 2490158901784685334}
|
||||
- component: {fileID: 8655929703897222507}
|
||||
- component: {fileID: 3874106422436459894}
|
||||
m_Layer: 0
|
||||
m_Name: FavorabilityCamera02
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3872803206768363411
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5666707408206032765}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.46, y: 0, z: -11.94}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5280945432137094137}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1091547984251894149
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5666707408206032765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Priority:
|
||||
Enabled: 1
|
||||
m_Value: 0
|
||||
OutputChannel: 1
|
||||
StandbyUpdate: 2
|
||||
m_StreamingVersion: 20241001
|
||||
m_LegacyPriority: 0
|
||||
Target:
|
||||
TrackingTarget: {fileID: 0}
|
||||
LookAtTarget: {fileID: 0}
|
||||
CustomLookAtTarget: 1
|
||||
Lens:
|
||||
FieldOfView: 60
|
||||
OrthographicSize: 15.39
|
||||
NearClipPlane: 0.01
|
||||
FarClipPlane: 300
|
||||
Dutch: 0
|
||||
ModeOverride: 2
|
||||
PhysicalProperties:
|
||||
GateFit: 2
|
||||
SensorSize: {x: 1, y: 1}
|
||||
LensShift: {x: 0, y: 0}
|
||||
FocusDistance: 10
|
||||
Iso: 200
|
||||
ShutterSpeed: 0.005
|
||||
Aperture: 16
|
||||
BladeCount: 5
|
||||
Curvature: {x: 2, y: 11}
|
||||
BarrelClipping: 0.25
|
||||
Anamorphism: 0
|
||||
BlendHint: 0
|
||||
--- !u!114 &176693043332870689
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5666707408206032765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 886251e9a18ece04ea8e61686c173e1b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
CameraDistance: 3
|
||||
DeadZoneDepth: 0
|
||||
Composition:
|
||||
ScreenPosition: {x: 0, y: 0}
|
||||
DeadZone:
|
||||
Enabled: 0
|
||||
Size: {x: 0.2, y: 0.2}
|
||||
HardLimits:
|
||||
Enabled: 0
|
||||
Size: {x: 0.8, y: 0.8}
|
||||
Offset: {x: 0, y: 0}
|
||||
CenterOnActivate: 1
|
||||
TargetOffset: {x: 0, y: 0, z: 0}
|
||||
Damping: {x: 0, y: 0, z: 0}
|
||||
Lookahead:
|
||||
Enabled: 0
|
||||
Time: 0
|
||||
Smoothing: 0
|
||||
IgnoreY: 0
|
||||
--- !u!114 &2490158901784685334
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5666707408206032765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 00b2d199b96b516448144ab30fb26aed, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ApplyAfter: 2
|
||||
ChannelMask: 1
|
||||
Gain: 1
|
||||
Use2DDistance: 0
|
||||
UseCameraSpace: 1
|
||||
ReactionSettings:
|
||||
m_SecondaryNoise: {fileID: 0}
|
||||
AmplitudeGain: 1
|
||||
FrequencyGain: 1
|
||||
Duration: 1
|
||||
m_NoiseOffsets: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8655929703897222507
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5666707408206032765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 180ecf9b41d478f468eb3e9083753217, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ImpulseDefinition:
|
||||
ImpulseChannel: 1
|
||||
ImpulseShape: 2
|
||||
CustomImpulseShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
ImpulseDuration: 0.1
|
||||
ImpulseType: 3
|
||||
DissipationRate: 0.25
|
||||
RawSignal: {fileID: 11400000, guid: 69ce8388f6785dd4c8c39915efece2f4, type: 2}
|
||||
AmplitudeGain: 1
|
||||
FrequencyGain: 1
|
||||
RepeatMode: 0
|
||||
Randomize: 1
|
||||
TimeEnvelope:
|
||||
AttackShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
DecayShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
AttackTime: 0
|
||||
SustainTime: 0.2
|
||||
DecayTime: 0.7
|
||||
ScaleWithImpact: 1
|
||||
HoldForever: 0
|
||||
ImpactRadius: 100
|
||||
DirectionMode: 0
|
||||
DissipationMode: 2
|
||||
DissipationDistance: 100
|
||||
PropagationSpeed: 343
|
||||
DefaultVelocity: {x: 0, y: -1, z: 0}
|
||||
--- !u!114 &3874106422436459894
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5666707408206032765}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4d75924d76b05344aa410607bc57db98, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
BoundingVolume: {fileID: 1759013958658073954}
|
||||
SlowingDistance: 0
|
||||
--- !u!1 &8099051105394480214
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2993592665475887429}
|
||||
- component: {fileID: 9168805733832927465}
|
||||
- component: {fileID: 8741925650167915769}
|
||||
- component: {fileID: 7616611601100776538}
|
||||
m_Layer: 0
|
||||
m_Name: RestaurantConfiner
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2993592665475887429
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8099051105394480214}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.3420201, y: 0, z: 0, w: 0.9396927}
|
||||
m_LocalPosition: {x: 1.39, y: 10.14, z: -18.37}
|
||||
m_LocalScale: {x: 1, y: 1, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5280945432137094137}
|
||||
m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0}
|
||||
--- !u!33 &9168805733832927465
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8099051105394480214}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &8741925650167915769
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8099051105394480214}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &7616611601100776538
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8099051105394480214}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0.25, z: 0.5}
|
||||
--- !u!1 &9144536868628880732
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9101347620823304471}
|
||||
- component: {fileID: 7925743883516488271}
|
||||
- component: {fileID: 6386630335796914625}
|
||||
- component: {fileID: 6820439003877352298}
|
||||
- component: {fileID: 1175509414232144639}
|
||||
- component: {fileID: 8009384721736740101}
|
||||
m_Layer: 0
|
||||
m_Name: FavorabilityCamera01
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &9101347620823304471
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9144536868628880732}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.46, y: 0, z: -11.94}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5280945432137094137}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7925743883516488271
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9144536868628880732}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Priority:
|
||||
Enabled: 1
|
||||
m_Value: 0
|
||||
OutputChannel: 1
|
||||
StandbyUpdate: 2
|
||||
m_StreamingVersion: 20241001
|
||||
m_LegacyPriority: 0
|
||||
Target:
|
||||
TrackingTarget: {fileID: 0}
|
||||
LookAtTarget: {fileID: 0}
|
||||
CustomLookAtTarget: 1
|
||||
Lens:
|
||||
FieldOfView: 60
|
||||
OrthographicSize: 15.39
|
||||
NearClipPlane: 0.01
|
||||
FarClipPlane: 300
|
||||
Dutch: 0
|
||||
ModeOverride: 2
|
||||
PhysicalProperties:
|
||||
GateFit: 2
|
||||
SensorSize: {x: 1, y: 1}
|
||||
LensShift: {x: 0, y: 0}
|
||||
FocusDistance: 10
|
||||
Iso: 200
|
||||
ShutterSpeed: 0.005
|
||||
Aperture: 16
|
||||
BladeCount: 5
|
||||
Curvature: {x: 2, y: 11}
|
||||
BarrelClipping: 0.25
|
||||
Anamorphism: 0
|
||||
BlendHint: 0
|
||||
--- !u!114 &6386630335796914625
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9144536868628880732}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 886251e9a18ece04ea8e61686c173e1b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
CameraDistance: 3
|
||||
DeadZoneDepth: 0
|
||||
Composition:
|
||||
ScreenPosition: {x: 0, y: 0}
|
||||
DeadZone:
|
||||
Enabled: 0
|
||||
Size: {x: 0.2, y: 0.2}
|
||||
HardLimits:
|
||||
Enabled: 0
|
||||
Size: {x: 0.8, y: 0.8}
|
||||
Offset: {x: 0, y: 0}
|
||||
CenterOnActivate: 1
|
||||
TargetOffset: {x: 0, y: 0, z: 0}
|
||||
Damping: {x: 0, y: 0, z: 0}
|
||||
Lookahead:
|
||||
Enabled: 0
|
||||
Time: 0
|
||||
Smoothing: 0
|
||||
IgnoreY: 0
|
||||
--- !u!114 &6820439003877352298
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9144536868628880732}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 00b2d199b96b516448144ab30fb26aed, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ApplyAfter: 2
|
||||
ChannelMask: 1
|
||||
Gain: 1
|
||||
Use2DDistance: 0
|
||||
UseCameraSpace: 1
|
||||
ReactionSettings:
|
||||
m_SecondaryNoise: {fileID: 0}
|
||||
AmplitudeGain: 1
|
||||
FrequencyGain: 1
|
||||
Duration: 1
|
||||
m_NoiseOffsets: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1175509414232144639
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9144536868628880732}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 180ecf9b41d478f468eb3e9083753217, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ImpulseDefinition:
|
||||
ImpulseChannel: 1
|
||||
ImpulseShape: 2
|
||||
CustomImpulseShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
ImpulseDuration: 0.1
|
||||
ImpulseType: 3
|
||||
DissipationRate: 0.25
|
||||
RawSignal: {fileID: 11400000, guid: 69ce8388f6785dd4c8c39915efece2f4, type: 2}
|
||||
AmplitudeGain: 1
|
||||
FrequencyGain: 1
|
||||
RepeatMode: 0
|
||||
Randomize: 1
|
||||
TimeEnvelope:
|
||||
AttackShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
DecayShape:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
AttackTime: 0
|
||||
SustainTime: 0.2
|
||||
DecayTime: 0.7
|
||||
ScaleWithImpact: 1
|
||||
HoldForever: 0
|
||||
ImpactRadius: 100
|
||||
DirectionMode: 0
|
||||
DissipationMode: 2
|
||||
DissipationDistance: 100
|
||||
PropagationSpeed: 343
|
||||
DefaultVelocity: {x: 0, y: -1, z: 0}
|
||||
--- !u!114 &8009384721736740101
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9144536868628880732}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4d75924d76b05344aa410607bc57db98, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
BoundingVolume: {fileID: 4159505730507518888}
|
||||
SlowingDistance: 0
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8c6253a415257994bbbe372aad7f1a33
|
||||
guid: 0d6b6e0b91d0d49e9bcb6e6be066ee9e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2795dd42be3500745ad7932d0aecc438
|
||||
guid: 7223f0a1d441b43e4a878b026a328e20
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
BIN
Assets/ExternalResources/Substance/sprite_to_pbr.sbs
(Stored with Git LFS)
Normal file
BIN
Assets/ExternalResources/Substance/sprite_to_pbr.sbs
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 99c9720ab356a0642a771bea13969a05
|
||||
guid: e320bde0dc9de4010b5e7778fd620e7a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
@ -1,361 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &5574617127821673956
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1849900422445597553}
|
||||
- component: {fileID: 2948334477632440266}
|
||||
- component: {fileID: 6507771935240846504}
|
||||
m_Layer: 0
|
||||
m_Name: UiCamera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1849900422445597553
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5574617127821673956}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2423743769255920818}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!20 &2948334477632440266
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5574617127821673956}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 4
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.01
|
||||
far clip plane: 300
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 32
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 0
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!114 &6507771935240846504
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5574617127821673956}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 1
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_AllowHDROutput: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_Version: 2
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
m_JitterScale: 1
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
--- !u!1 &7727113593216724847
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2423743769255920818}
|
||||
- component: {fileID: 6008054305768097179}
|
||||
- component: {fileID: 2987331736261580458}
|
||||
- component: {fileID: 2452097276729338941}
|
||||
- component: {fileID: 4486147806006301901}
|
||||
- component: {fileID: 3221727036937652292}
|
||||
- component: {fileID: 2197148195609688218}
|
||||
- component: {fileID: 1476729262720757075}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2423743769255920818
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7727113593216724847}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.3420201, y: 0, z: 0, w: 0.9396927}
|
||||
m_LocalPosition: {x: 0.8899999, y: 9.948489, z: -18.530699}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1849900422445597553}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 9.569, y: 87.98, z: 0}
|
||||
--- !u!20 &6008054305768097179
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7727113593216724847}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.01
|
||||
far clip plane: 300
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 15.39
|
||||
m_Depth: 1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 2148138967
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 0
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!124 &2987331736261580458
|
||||
Behaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7727113593216724847}
|
||||
m_Enabled: 1
|
||||
--- !u!81 &2452097276729338941
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7727113593216724847}
|
||||
m_Enabled: 1
|
||||
--- !u!114 &4486147806006301901
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7727113593216724847}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras:
|
||||
- {fileID: 0}
|
||||
- {fileID: 2948334477632440266}
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 8
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 1
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_AllowHDROutput: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_Version: 2
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
m_JitterScale: 1
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
--- !u!114 &3221727036937652292
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7727113593216724847}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ShowDebugText: 0
|
||||
ShowCameraFrustum: 1
|
||||
IgnoreTimeScale: 0
|
||||
WorldUpOverride: {fileID: 0}
|
||||
ChannelMask: -1
|
||||
UpdateMethod: 0
|
||||
BlendUpdateMethod: 1
|
||||
LensModeOverride:
|
||||
Enabled: 1
|
||||
DefaultMode: 2
|
||||
DefaultBlend:
|
||||
Style: 6
|
||||
Time: 1
|
||||
CustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
CustomBlends: {fileID: 0}
|
||||
--- !u!114 &2197148195609688218
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7727113593216724847}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a856a42a0bf4a7444a3efb5466fc1d4c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_persistent: 0
|
||||
<MainCamera>k__BackingField: {fileID: 6008054305768097179}
|
||||
<UiCamera>k__BackingField: {fileID: 2948334477632440266}
|
||||
<LiquidOverlayCamera>k__BackingField: {fileID: 0}
|
||||
cameraLocation: {fileID: 0}
|
||||
<BaseCamera>k__BackingField: {fileID: 0}
|
||||
<FavorabilityCamera01>k__BackingField: {fileID: 0}
|
||||
<FavorabilityCamera02>k__BackingField: {fileID: 0}
|
||||
_confinerCollider: {fileID: 0}
|
||||
_transparencySortAxis: {x: 0, y: 0, z: 0}
|
||||
_cameraDistance: {x: 3, y: 10}
|
||||
_initializedDistance: 5
|
||||
_zoomPower: 0.5
|
||||
_zoomLerpSpeed: 5
|
||||
_zoomOutConfinerScale: {x: 1, y: 1, z: 0}
|
||||
_zoomInConfinerScale: {x: 10, y: 10, z: 10}
|
||||
--- !u!114 &1476729262720757075
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7727113593216724847}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dec61aec08a92c54282e06819b88a31c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_cameras:
|
||||
- {fileID: 6008054305768097179}
|
||||
- {fileID: 2948334477632440266}
|
||||
- {fileID: 0}
|
||||
_canvasRectTransforms:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"Tiles": []
|
||||
}
|
@ -0,0 +1,759 @@
|
||||
#if UNITY_EDITOR
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEditor.SceneManagement;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
|
||||
[CanEditMultipleObjects]
|
||||
public class AllIn1SpriteShaderUiMask2MaterialInspector : ShaderGUI
|
||||
{
|
||||
private Material targetMat;
|
||||
private BlendMode srcMode, dstMode;
|
||||
|
||||
private GUIStyle propertiesStyle, bigLabelStyle, smallLabelStyle, toggleButtonStyle;
|
||||
private const int bigFontSize = 16, smallFontSize = 11;
|
||||
private string[] oldKeyWords;
|
||||
private int effectCount = 1;
|
||||
private Material originalMaterialCopy;
|
||||
private MaterialEditor matEditor;
|
||||
private MaterialProperty[] matProperties;
|
||||
private uint[] materialDrawers = new uint[] { 1, 2, 4 };
|
||||
bool[] currEnabledDrawers;
|
||||
private const uint advancedConfigDrawer = 0;
|
||||
private const uint colorFxShapeDrawer = 1;
|
||||
private const uint uvFxShapeDrawer = 2;
|
||||
|
||||
public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties)
|
||||
{
|
||||
matEditor = materialEditor;
|
||||
matProperties = properties;
|
||||
targetMat = materialEditor.target as Material;
|
||||
effectCount = 1;
|
||||
oldKeyWords = targetMat.shaderKeywords;
|
||||
propertiesStyle = new GUIStyle(EditorStyles.helpBox);
|
||||
propertiesStyle.margin = new RectOffset(0, 0, 0, 0);
|
||||
bigLabelStyle = new GUIStyle(EditorStyles.boldLabel);
|
||||
bigLabelStyle.fontSize = bigFontSize;
|
||||
smallLabelStyle = new GUIStyle(EditorStyles.boldLabel);
|
||||
smallLabelStyle.fontSize = smallFontSize;
|
||||
toggleButtonStyle = new GUIStyle(GUI.skin.button) { alignment = TextAnchor.MiddleCenter, richText = true };
|
||||
currEnabledDrawers = new bool[materialDrawers.Length];
|
||||
uint iniDrawers = (uint)ShaderGUI.FindProperty("_EditorDrawers", matProperties).floatValue;
|
||||
for(int i = 0; i < materialDrawers.Length; i++) currEnabledDrawers[i] = (materialDrawers[i] & iniDrawers) > 0;
|
||||
|
||||
GUILayout.Label("General Properties", bigLabelStyle);
|
||||
DrawProperty(0);
|
||||
DrawProperty(1);
|
||||
DrawProperty(2);
|
||||
|
||||
|
||||
currEnabledDrawers[advancedConfigDrawer] = GUILayout.Toggle(currEnabledDrawers[advancedConfigDrawer], new GUIContent("<size=12>Show Advanced Configuration</size>"), toggleButtonStyle);
|
||||
if(currEnabledDrawers[advancedConfigDrawer])
|
||||
{
|
||||
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
Blending();
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
SpriteAtlas("Sprite inside an atlas?", "ATLAS_ON");
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
materialEditor.EnableInstancingField();
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
materialEditor.RenderQueueField();
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
EditorGUILayout.Separator();
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
GUILayout.Label("Color Effects", bigLabelStyle);
|
||||
|
||||
currEnabledDrawers[colorFxShapeDrawer] = GUILayout.Toggle(currEnabledDrawers[colorFxShapeDrawer], new GUIContent("Show Color Effects"), toggleButtonStyle);
|
||||
if(currEnabledDrawers[colorFxShapeDrawer])
|
||||
{
|
||||
Glow("Glow", "GLOW_ON");
|
||||
GenericEffect("Fade", "FADE_ON", 7, 13);
|
||||
Outline("Outline", "OUTBASE_ON");
|
||||
GenericEffect("Alpha Outline", "ALPHAOUTLINE_ON", 26, 30, true, "A more performant but less flexible outline");
|
||||
InnerOutline("Inner Outline", "INNEROUTLINE_ON", 66, 69);
|
||||
Gradient("Gradient & Radial Gradient", "GRADIENT_ON");
|
||||
GenericEffect("Color Swap", "COLORSWAP_ON", 36, 42, true, "You will need a mask texture (see Documentation)", new int[] { 154 });
|
||||
GenericEffect("Hue Shift", "HSV_ON", 43, 45);
|
||||
ColorChange("Change 1 Color", "CHANGECOLOR_ON");
|
||||
ColorRamp("Color Ramp", "COLORRAMP_ON");
|
||||
GenericEffect("Hit Effect", "HITEFFECT_ON", 46, 48);
|
||||
GenericEffect("Negative", "NEGATIVE_ON", 49, 49);
|
||||
GenericEffect("Pixelate", "PIXELATE_ON", 50, 50, true, "Looks bad with distorition effects");
|
||||
GreyScale("GreyScale", "GREYSCALE_ON");
|
||||
Posterize("Posterize", "POSTERIZE_ON");
|
||||
Blur("Blur", "BLUR_ON");
|
||||
GenericEffect("Motion Blur", "MOTIONBLUR_ON", 62, 63);
|
||||
GenericEffect("Ghost", "GHOST_ON", 64, 65, true, "This effect will not affect the outline", new int[] { 157 });
|
||||
GenericEffect("Hologram", "HOLOGRAM_ON", 73, 77, true, null, new int[] { 140, 158 });
|
||||
GenericEffect("Chromatic Aberration", "CHROMABERR_ON", 78, 79);
|
||||
GenericEffect("Glitch", "GLITCH_ON", 80, 80, true, null, new int[] { 139 });
|
||||
GenericEffect("Flicker", "FLICKER_ON", 81, 83);
|
||||
GenericEffect("Shadow", "SHADOW_ON", 84, 87);
|
||||
GenericEffect("Shine", "SHINE_ON", 133, 138);
|
||||
GenericEffect("Contrast & Brightness", "CONTRAST_ON", 152, 153);
|
||||
Overlay("Overlay Texture", "OVERLAY_ON");
|
||||
GenericEffect("Alpha Cutoff", "ALPHACUTOFF_ON", 70, 70);
|
||||
GenericEffect("Alpha Round", "ALPHAROUND_ON", 144, 144);
|
||||
}
|
||||
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
GUILayout.Label("UV Effects", bigLabelStyle);
|
||||
|
||||
currEnabledDrawers[uvFxShapeDrawer] = GUILayout.Toggle(currEnabledDrawers[uvFxShapeDrawer], new GUIContent("Show Alpha Effects"), toggleButtonStyle);
|
||||
if(currEnabledDrawers[uvFxShapeDrawer])
|
||||
{
|
||||
GenericEffect("Hand Drawn", "DOODLE_ON", 88, 89);
|
||||
Grass("Grass Movement / Wind", "WIND_ON");
|
||||
GenericEffect("Wave", "WAVEUV_ON", 94, 98);
|
||||
GenericEffect("Round Wave", "ROUNDWAVEUV_ON", 127, 128);
|
||||
GenericEffect("Rect Size (Enable wireframe to see result)", "RECTSIZE_ON", 99, 99, true, "Only on single sprites spritesheets NOT supported");
|
||||
GenericEffect("Offset", "OFFSETUV_ON", 100, 101);
|
||||
GenericEffect("Clipping / Fill Amount", "CLIPPING_ON", 102, 105);
|
||||
GenericEffect("Radial Clipping / Radial Fill", "RADIALCLIPPING_ON", 164, 166);
|
||||
GenericEffect("Texture Scroll", "TEXTURESCROLL_ON", 106, 107, true, "Set Texture Wrap Mode to Repeat");
|
||||
GenericEffect("Zoom", "ZOOMUV_ON", 108, 108);
|
||||
GenericEffect("Distortion", "DISTORT_ON", 109, 112);
|
||||
GenericEffect("Warp Distortion", "WARP_ON", 167, 169);
|
||||
GenericEffect("Twist", "TWISTUV_ON", 113, 116);
|
||||
GenericEffect("Rotate", "ROTATEUV_ON", 117, 117, true, "_Tip_ Use Clipping effect to avoid possible undesired parts");
|
||||
GenericEffect("Polar Coordinates (Tile texture for good results)", "POLARUV_ON", -1, -1);
|
||||
GenericEffect("Fish Eye", "FISHEYE_ON", 118, 118);
|
||||
GenericEffect("Pinch", "PINCH_ON", 119, 119);
|
||||
GenericEffect("Shake", "SHAKEUV_ON", 120, 122);
|
||||
}
|
||||
|
||||
SetAndSaveEnabledDrawers(iniDrawers);
|
||||
}
|
||||
|
||||
private void SetAndSaveEnabledDrawers(uint iniDrawers)
|
||||
{
|
||||
uint currDrawers = 0;
|
||||
for(int i = 0; i < currEnabledDrawers.Length; i++)
|
||||
{
|
||||
if(currEnabledDrawers[i]) currDrawers |= materialDrawers[i];
|
||||
}
|
||||
|
||||
if(iniDrawers != currDrawers) ShaderGUI.FindProperty("_EditorDrawers", matProperties).floatValue = currDrawers;
|
||||
}
|
||||
|
||||
private void Blending()
|
||||
{
|
||||
MaterialProperty srcM = ShaderGUI.FindProperty("_MySrcMode", matProperties);
|
||||
MaterialProperty dstM = ShaderGUI.FindProperty("_MyDstMode", matProperties);
|
||||
if(srcM.floatValue == 0 && dstM.floatValue == 0)
|
||||
{
|
||||
srcM.floatValue = 5;
|
||||
dstM.floatValue = 10;
|
||||
}
|
||||
|
||||
GUILayout.Label("Look for 'ShaderLab: Blending' if you don't know what this is", smallLabelStyle);
|
||||
if(GUILayout.Button("Back To Default Blending"))
|
||||
{
|
||||
srcM.floatValue = 5;
|
||||
dstM.floatValue = 10;
|
||||
targetMat.DisableKeyword("PREMULTIPLYALPHA_ON");
|
||||
}
|
||||
|
||||
srcMode = (BlendMode)srcM.floatValue;
|
||||
dstMode = (BlendMode)dstM.floatValue;
|
||||
srcMode = (BlendMode)EditorGUILayout.EnumPopup("SrcMode", srcMode);
|
||||
dstMode = (BlendMode)EditorGUILayout.EnumPopup("DstMode", dstMode);
|
||||
srcM.floatValue = (float)(srcMode);
|
||||
dstM.floatValue = (float)(dstMode);
|
||||
|
||||
bool ini = oldKeyWords.Contains("PREMULTIPLYALPHA_ON");
|
||||
bool toggle = EditorGUILayout.Toggle("Premultiply Alpha?", ini);
|
||||
if(ini != toggle) Save();
|
||||
if(toggle) targetMat.EnableKeyword("PREMULTIPLYALPHA_ON");
|
||||
else targetMat.DisableKeyword("PREMULTIPLYALPHA_ON");
|
||||
}
|
||||
|
||||
private void SpriteAtlas(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
toggle = GUILayout.Toggle(toggle, inspector);
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword(keyword);
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
GUILayout.Label("Make sure SpriteAtlasUV component is added \n " +
|
||||
"*Check documentation if unsure what this does or how it works", smallLabelStyle);
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword(keyword);
|
||||
}
|
||||
|
||||
private void Outline(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + ".Outline";
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword("OUTBASE_ON");
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
DrawProperty(14);
|
||||
DrawProperty(15);
|
||||
DrawProperty(16);
|
||||
DrawEffectSubKeywordToggle("Outline High Resolution?", "OUTBASE8DIR_ON");
|
||||
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
bool outlinePixelPerf = DrawEffectSubKeywordToggle("Outline is Pixel Perfect?", "OUTBASEPIXELPERF_ON");
|
||||
if(outlinePixelPerf) DrawProperty(18);
|
||||
else DrawProperty(17);
|
||||
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
bool outlineTexture = DrawEffectSubKeywordToggle("Outline uses texture?", "OUTTEX_ON");
|
||||
if(outlineTexture)
|
||||
{
|
||||
DrawProperty(19);
|
||||
DrawProperty(20);
|
||||
DrawProperty(21);
|
||||
DrawProperty(172);
|
||||
}
|
||||
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
bool outlineDistort = DrawEffectSubKeywordToggle("Outline uses distortion?", "OUTDIST_ON");
|
||||
if(outlineDistort)
|
||||
{
|
||||
DrawProperty(22);
|
||||
DrawProperty(23);
|
||||
DrawProperty(24);
|
||||
DrawProperty(25);
|
||||
}
|
||||
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
DrawEffectSubKeywordToggle("Only render outline?", "ONLYOUTLINE_ON");
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword("OUTBASE_ON");
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void GenericEffect(string inspector, string keyword, int first, int last, bool effectCounter = true, string preMessage = null, int[] extraProperties = null, bool boldToggleLetters = true)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
if(effectCounter)
|
||||
{
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
effectCount++;
|
||||
}
|
||||
else effectNameLabel.text = inspector;
|
||||
if(boldToggleLetters) toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
else toggle = GUILayout.Toggle(toggle, effectNameLabel);
|
||||
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword(keyword);
|
||||
if(first > 0)
|
||||
{
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
if(preMessage != null) GUILayout.Label(preMessage, smallLabelStyle);
|
||||
for(int i = first; i <= last; i++) DrawProperty(i);
|
||||
if(extraProperties != null)
|
||||
foreach(int i in extraProperties)
|
||||
DrawProperty(i);
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
}
|
||||
else targetMat.DisableKeyword(keyword);
|
||||
|
||||
if(boldToggleLetters) EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void Glow(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword("GLOW_ON");
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
bool useGlowTex = DrawEffectSubKeywordToggle("Use Glow Texture?", "GLOWTEX_ON");
|
||||
if(useGlowTex) DrawProperty(6);
|
||||
|
||||
DrawProperty(3);
|
||||
DrawProperty(4);
|
||||
DrawProperty(5, true);
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword("GLOW_ON");
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void ColorRamp(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword("COLORRAMP_ON");
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
bool useEditableGradient = false;
|
||||
if(AssetDatabase.Contains(targetMat))
|
||||
{
|
||||
useEditableGradient = oldKeyWords.Contains("GRADIENTCOLORRAMP_ON");
|
||||
bool gradientTex = useEditableGradient;
|
||||
gradientTex = GUILayout.Toggle(gradientTex, new GUIContent("Use Editable Gradient?"));
|
||||
if(useEditableGradient != gradientTex)
|
||||
{
|
||||
Save();
|
||||
if(gradientTex)
|
||||
{
|
||||
useEditableGradient = true;
|
||||
targetMat.EnableKeyword("GRADIENTCOLORRAMP_ON");
|
||||
}
|
||||
else targetMat.DisableKeyword("GRADIENTCOLORRAMP_ON");
|
||||
}
|
||||
|
||||
if(useEditableGradient) matEditor.ShaderProperty(matProperties[159], matProperties[159].displayName);
|
||||
}
|
||||
else GUILayout.Label("*Save to folder to allow for dynamic Gradient property", smallLabelStyle);
|
||||
|
||||
if(!useEditableGradient) DrawProperty(51);
|
||||
|
||||
DrawProperty(52);
|
||||
DrawProperty(53, true);
|
||||
MaterialProperty colorRampOut = matProperties[53];
|
||||
if(colorRampOut.floatValue == 1) targetMat.EnableKeyword("COLORRAMPOUTLINE_ON");
|
||||
else targetMat.DisableKeyword("COLORRAMPOUTLINE_ON");
|
||||
DrawProperty(155);
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword("COLORRAMP_ON");
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void ColorChange(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword("CHANGECOLOR_ON");
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
for(int i = 123; i < 127; i++) DrawProperty(i);
|
||||
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
ini = oldKeyWords.Contains("CHANGECOLOR2_ON");
|
||||
bool toggle2 = ini;
|
||||
toggle2 = EditorGUILayout.Toggle("Use Color 2", ini);
|
||||
if(ini != toggle2) Save();
|
||||
if(toggle2)
|
||||
{
|
||||
targetMat.EnableKeyword("CHANGECOLOR2_ON");
|
||||
for(int i = 146; i < 149; i++) DrawProperty(i);
|
||||
}
|
||||
else targetMat.DisableKeyword("CHANGECOLOR2_ON");
|
||||
|
||||
DrawLine(Color.grey, 1, 3);
|
||||
ini = oldKeyWords.Contains("CHANGECOLOR3_ON");
|
||||
toggle2 = ini;
|
||||
toggle2 = EditorGUILayout.Toggle("Use Color 3", toggle2);
|
||||
if(ini != toggle2) Save();
|
||||
if(toggle2)
|
||||
{
|
||||
targetMat.EnableKeyword("CHANGECOLOR3_ON");
|
||||
for(int i = 149; i < 152; i++) DrawProperty(i);
|
||||
}
|
||||
else targetMat.DisableKeyword("CHANGECOLOR3_ON");
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword("CHANGECOLOR_ON");
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void GreyScale(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword("GREYSCALE_ON");
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
DrawProperty(54);
|
||||
DrawProperty(56);
|
||||
DrawProperty(55, true);
|
||||
MaterialProperty greyScaleOut = matProperties[55];
|
||||
if(greyScaleOut.floatValue == 1) targetMat.EnableKeyword("GREYSCALEOUTLINE_ON");
|
||||
else targetMat.DisableKeyword("GREYSCALEOUTLINE_ON");
|
||||
DrawProperty(156);
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword("GREYSCALE_ON");
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void Posterize(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword("POSTERIZE_ON");
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
DrawProperty(57);
|
||||
DrawProperty(58);
|
||||
DrawProperty(59, true);
|
||||
MaterialProperty posterizeOut = matProperties[59];
|
||||
if(posterizeOut.floatValue == 1) targetMat.EnableKeyword("POSTERIZEOUTLINE_ON");
|
||||
else targetMat.DisableKeyword("POSTERIZEOUTLINE_ON");
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword("POSTERIZE_ON");
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void Blur(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword("BLUR_ON");
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
GUILayout.Label("This effect will not affect the outline", smallLabelStyle);
|
||||
DrawProperty(60);
|
||||
DrawProperty(61, true);
|
||||
MaterialProperty blurIsHd = matProperties[61];
|
||||
if(blurIsHd.floatValue == 1) targetMat.EnableKeyword("BLURISHD_ON");
|
||||
else targetMat.DisableKeyword("BLURISHD_ON");
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword("BLUR_ON");
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void Grass(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword("WIND_ON");
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
DrawProperty(90);
|
||||
DrawProperty(91);
|
||||
DrawProperty(145);
|
||||
DrawProperty(92);
|
||||
DrawProperty(93, true);
|
||||
MaterialProperty grassManual = matProperties[92];
|
||||
if(grassManual.floatValue == 1) targetMat.EnableKeyword("MANUALWIND_ON");
|
||||
else targetMat.DisableKeyword("MANUALWIND_ON");
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword("WIND_ON");
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void InnerOutline(string inspector, string keyword, int first, int last)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword(keyword);
|
||||
if(first > 0)
|
||||
{
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
for(int i = first; i <= last; i++) DrawProperty(i);
|
||||
|
||||
EditorGUILayout.Separator();
|
||||
DrawProperty(72, true);
|
||||
MaterialProperty onlyInOutline = matProperties[72];
|
||||
if(onlyInOutline.floatValue == 1) targetMat.EnableKeyword("ONLYINNEROUTLINE_ON");
|
||||
else targetMat.DisableKeyword("ONLYINNEROUTLINE_ON");
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
}
|
||||
else targetMat.DisableKeyword(keyword);
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void Gradient(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword(keyword);
|
||||
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
DrawProperty(143, true);
|
||||
MaterialProperty gradIsRadial = matProperties[143];
|
||||
if(gradIsRadial.floatValue == 1)
|
||||
{
|
||||
targetMat.EnableKeyword("RADIALGRADIENT_ON");
|
||||
DrawProperty(31);
|
||||
DrawProperty(32);
|
||||
DrawProperty(34);
|
||||
DrawProperty(141);
|
||||
}
|
||||
else
|
||||
{
|
||||
targetMat.DisableKeyword("RADIALGRADIENT_ON");
|
||||
bool simpleGradient = oldKeyWords.Contains("GRADIENT2COL_ON");
|
||||
bool simpleGradToggle = EditorGUILayout.Toggle("2 Color Gradient?", simpleGradient);
|
||||
if(simpleGradient && !simpleGradToggle) targetMat.DisableKeyword("GRADIENT2COL_ON");
|
||||
else if(!simpleGradient && simpleGradToggle) targetMat.EnableKeyword("GRADIENT2COL_ON");
|
||||
DrawProperty(31);
|
||||
DrawProperty(32);
|
||||
if(!simpleGradToggle) DrawProperty(33);
|
||||
DrawProperty(34);
|
||||
if(!simpleGradToggle) DrawProperty(35);
|
||||
if(!simpleGradToggle) DrawProperty(141);
|
||||
DrawProperty(142);
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword(keyword);
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void Overlay(string inspector, string keyword)
|
||||
{
|
||||
bool toggle = oldKeyWords.Contains(keyword);
|
||||
bool ini = toggle;
|
||||
|
||||
GUIContent effectNameLabel = new GUIContent();
|
||||
effectNameLabel.tooltip = keyword + " (C#)";
|
||||
effectNameLabel.text = effectCount + "." + inspector;
|
||||
toggle = EditorGUILayout.BeginToggleGroup(effectNameLabel, toggle);
|
||||
|
||||
effectCount++;
|
||||
if(ini != toggle) Save();
|
||||
if(toggle)
|
||||
{
|
||||
targetMat.EnableKeyword(keyword);
|
||||
EditorGUILayout.BeginVertical(propertiesStyle);
|
||||
{
|
||||
bool multModeOn = oldKeyWords.Contains("OVERLAYMULT_ON");
|
||||
bool isMultMode = multModeOn;
|
||||
isMultMode = GUILayout.Toggle(isMultMode, new GUIContent("Is overlay multiplicative?"));
|
||||
if(multModeOn != isMultMode)
|
||||
{
|
||||
Save();
|
||||
if(isMultMode)
|
||||
{
|
||||
multModeOn = true;
|
||||
targetMat.EnableKeyword("OVERLAYMULT_ON");
|
||||
}
|
||||
else targetMat.DisableKeyword("OVERLAYMULT_ON");
|
||||
}
|
||||
|
||||
if(multModeOn) GUILayout.Label("Overlay is set to multiplicative mode", smallLabelStyle);
|
||||
else GUILayout.Label("Overlay is set to additive mode", smallLabelStyle);
|
||||
|
||||
for(int i = 160; i <= 163; i++) DrawProperty(i);
|
||||
for(int i = 170; i <= 171; i++) DrawProperty(i);
|
||||
}
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
else targetMat.DisableKeyword(keyword);
|
||||
|
||||
EditorGUILayout.EndToggleGroup();
|
||||
}
|
||||
|
||||
private void DrawProperty(int index, bool noReset = false)
|
||||
{
|
||||
MaterialProperty targetProperty = matProperties[index];
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
{
|
||||
GUIContent propertyLabel = new GUIContent();
|
||||
propertyLabel.text = targetProperty.displayName;
|
||||
propertyLabel.tooltip = targetProperty.name + " (C#)";
|
||||
|
||||
matEditor.ShaderProperty(targetProperty, propertyLabel);
|
||||
|
||||
if(!noReset)
|
||||
{
|
||||
GUIContent resetButtonLabel = new GUIContent();
|
||||
resetButtonLabel.text = "R";
|
||||
resetButtonLabel.tooltip = "Resets to default value";
|
||||
if(GUILayout.Button(resetButtonLabel, GUILayout.Width(20))) ResetProperty(targetProperty);
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
private void ResetProperty(MaterialProperty targetProperty)
|
||||
{
|
||||
if(originalMaterialCopy == null) originalMaterialCopy = new Material(targetMat.shader);
|
||||
if(targetProperty.type == MaterialProperty.PropType.Float || targetProperty.type == MaterialProperty.PropType.Range)
|
||||
{
|
||||
targetProperty.floatValue = originalMaterialCopy.GetFloat(targetProperty.name);
|
||||
}
|
||||
else if(targetProperty.type == MaterialProperty.PropType.Vector)
|
||||
{
|
||||
targetProperty.vectorValue = originalMaterialCopy.GetVector(targetProperty.name);
|
||||
}
|
||||
else if(targetProperty.type == MaterialProperty.PropType.Color)
|
||||
{
|
||||
targetProperty.colorValue = originalMaterialCopy.GetColor(targetProperty.name);
|
||||
}
|
||||
else if(targetProperty.type == MaterialProperty.PropType.Texture)
|
||||
{
|
||||
targetProperty.textureValue = originalMaterialCopy.GetTexture(targetProperty.name);
|
||||
}
|
||||
}
|
||||
|
||||
private bool DrawEffectSubKeywordToggle(string inspector, string keyword, bool setCustomConfigAfter = false)
|
||||
{
|
||||
GUIContent propertyLabel = new GUIContent();
|
||||
propertyLabel.text = inspector;
|
||||
propertyLabel.tooltip = keyword + " (C#)";
|
||||
|
||||
bool ini = oldKeyWords.Contains(keyword);
|
||||
bool toggle = ini;
|
||||
toggle = GUILayout.Toggle(toggle, propertyLabel);
|
||||
if(ini != toggle)
|
||||
{
|
||||
if(toggle) targetMat.EnableKeyword(keyword);
|
||||
else targetMat.DisableKeyword(keyword);
|
||||
}
|
||||
|
||||
return toggle;
|
||||
}
|
||||
|
||||
private void Save()
|
||||
{
|
||||
if(!Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
|
||||
EditorUtility.SetDirty(targetMat);
|
||||
}
|
||||
|
||||
private void DrawLine(Color color, int thickness = 2, int padding = 10)
|
||||
{
|
||||
Rect r = EditorGUILayout.GetControlRect(GUILayout.Height(padding + thickness));
|
||||
r.height = thickness;
|
||||
r.y += (padding / 2);
|
||||
r.x -= 2;
|
||||
r.width += 6;
|
||||
EditorGUI.DrawRect(r, color);
|
||||
}
|
||||
}
|
||||
#endif
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2634386595cc60d40ae4e46b9ae970c0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,22 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e320962886da01749b5c68627fde4db9
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures:
|
||||
- _MainTex: {instanceID: 0}
|
||||
- _GlowTex: {instanceID: 0}
|
||||
- _FadeTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3}
|
||||
- _FadeBurnTex: {fileID: 2800000, guid: 677cca399782dea41aedc1d292ecb67d, type: 3}
|
||||
- _OutlineTex: {fileID: 2800000, guid: 74087f6d03f233e4a8a142fa01f9e5cf, type: 3}
|
||||
- _OutlineDistortTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97,
|
||||
type: 3}
|
||||
- _ColorSwapTex: {instanceID: 0}
|
||||
- _ColorRampTex: {fileID: 2800000, guid: 279657edc397ece4b8029c727adf6ddc, type: 3}
|
||||
- _DistortTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3}
|
||||
- _ShineMask: {instanceID: 0}
|
||||
- _ColorRampTexGradient: {instanceID: 0}
|
||||
- _OverlayTex: {fileID: 2800000, guid: 677cca399782dea41aedc1d292ecb67d, type: 3}
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
3
Assets/Plugins/Animate UI Materials.meta
Normal file
3
Assets/Plugins/Animate UI Materials.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 625ba2096e714466b6d44ccb456bd731
|
||||
timeCreated: 1682058264
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "Assembly-GraphicMaterialOverride"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0e6c16ac130388f4493d7bf4eff725f1
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Assembly-AnimateUIMaterials.asmdef
|
||||
uploadId: 766200
|
131
Assets/Plugins/Animate UI Materials/BufferedMaterialModifier.cs
Normal file
131
Assets/Plugins/Animate UI Materials/BufferedMaterialModifier.cs
Normal file
@ -0,0 +1,131 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Plugins.Animate_UI_Materials
|
||||
{
|
||||
/// <summary>
|
||||
/// Implements IMaterialModifier while avoiding the creation of too many garbage materials
|
||||
/// WARNING: will destroy the modified material if the source material changes shader or on its own destruction
|
||||
/// </summary>
|
||||
public abstract class BufferedMaterialModifier : MonoBehaviour, IMaterialModifier
|
||||
{
|
||||
private static readonly int Stencil = Shader.PropertyToID("_Stencil");
|
||||
|
||||
/// <summary>
|
||||
/// Hold the last modified material, to be re-used if possible
|
||||
/// </summary>
|
||||
Material _bufferedMaterial;
|
||||
|
||||
/// <summary>
|
||||
/// Holds the base material used to create _bufferedMaterial
|
||||
/// </summary>
|
||||
Material _bufferedMaterialSource;
|
||||
|
||||
/// <summary>
|
||||
/// From IMaterialModifier
|
||||
/// Receives a material to be modified before display, and returns a new material
|
||||
/// Only called once per frame per Graphic if changed, as Graphic is well optimized
|
||||
/// </summary>
|
||||
/// <param name="baseMaterial"></param>
|
||||
/// <returns>A new material object, or the reset previous return value if possible</returns>
|
||||
public Material GetModifiedMaterial(Material baseMaterial)
|
||||
{
|
||||
// Return the base material if invalid or if this component is disabled
|
||||
if (!enabled || baseMaterial == null) return baseMaterial;
|
||||
|
||||
if (!_bufferedMaterial || _bufferedMaterial.shader != baseMaterial.shader || baseMaterial != _bufferedMaterialSource)
|
||||
{
|
||||
DestroyBuffer();
|
||||
|
||||
// Create a child material of the original
|
||||
_bufferedMaterial = CreateNewMaterial(baseMaterial, "OVERRIDE");
|
||||
_bufferedMaterialSource = baseMaterial;
|
||||
}
|
||||
|
||||
_bufferedMaterial.CopyPropertiesFromMaterial(baseMaterial);
|
||||
ModifyMaterial(_bufferedMaterial);
|
||||
return _bufferedMaterial;
|
||||
}
|
||||
|
||||
private int? GetStencilId(Material baseMaterial)
|
||||
{
|
||||
if (baseMaterial == null) return null;
|
||||
|
||||
// Check if material has stencil prop to avoid warning
|
||||
if (!baseMaterial.HasInt(Stencil)) return null;
|
||||
int id = baseMaterial.GetInt(Stencil);
|
||||
return id > 0 ? id : null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new material variant of the base material.
|
||||
/// Tries to set parent value from the source material for prettier editing.
|
||||
/// Sets flags to avoid saving the material in assets.
|
||||
/// Used for creating new buffered material or for the fake editor screen.
|
||||
/// </summary>
|
||||
/// <param name="baseMaterial">IMaterialModifier argument</param>
|
||||
/// <param name="suffix">Suffix to append to the original material name</param>
|
||||
/// <returns></returns>
|
||||
private Material CreateNewMaterial(Material baseMaterial, string suffix)
|
||||
{
|
||||
Material realSource;
|
||||
// Try to retrieve real base Material
|
||||
if (TryGetComponent(out Graphic graphic))
|
||||
{
|
||||
realSource = graphic.material ? graphic.material : Canvas.GetDefaultCanvasMaterial();
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("No graphic found");
|
||||
realSource = baseMaterial;
|
||||
}
|
||||
|
||||
// Add mask info to the Material
|
||||
if (GetStencilId(baseMaterial) is {} stencilId)
|
||||
{
|
||||
suffix = $"{suffix} MASKED {stencilId}";
|
||||
}
|
||||
|
||||
Material modifiedMaterial = new (baseMaterial.shader)
|
||||
{
|
||||
// Set a new name, to warn about editor modifications
|
||||
name = $"{realSource.name} {suffix}",
|
||||
hideFlags = HideFlags.DontSaveInBuild | HideFlags.DontSaveInEditor,
|
||||
};
|
||||
// Set parent if supported
|
||||
#if UNITY_2022_1_OR_NEWER && UNITY_EDITOR
|
||||
modifiedMaterial.parent = realSource;
|
||||
#endif
|
||||
return modifiedMaterial;
|
||||
}
|
||||
|
||||
void DestroyBuffer()
|
||||
{
|
||||
if (Application.isPlaying) Destroy(_bufferedMaterial);
|
||||
else DestroyImmediate(_bufferedMaterial);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Child class implement this class, modifying directly the buffered material
|
||||
/// </summary>
|
||||
/// <param name="modifiedMaterial"></param>
|
||||
protected abstract void ModifyMaterial(Material modifiedMaterial);
|
||||
|
||||
/// <summary>
|
||||
/// Destroy the buffered material
|
||||
/// </summary>
|
||||
void OnDestroy()
|
||||
{
|
||||
DestroyBuffer();
|
||||
}
|
||||
|
||||
public Material GetEditorMaterial(Material baseMaterial)
|
||||
{
|
||||
// Create a child material of the original
|
||||
Material modifiedMaterial = CreateNewMaterial(baseMaterial, "EDITOR");
|
||||
modifiedMaterial.CopyPropertiesFromMaterial(baseMaterial);
|
||||
ModifyMaterial(modifiedMaterial);
|
||||
return modifiedMaterial;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 32c21f564129429aa7afa1c3fbb90d85
|
||||
timeCreated: 1699906395
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/BufferedMaterialModifier.cs
|
||||
uploadId: 766200
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 010680a99335d304b8c3fc7dbf0b3a38
|
||||
guid: 94c69a3c49225fd4e8fc7eb449623d14
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 91b66ac0a1f9e5f48a4a1ffaefef1a01
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Docs/Animate UI Materials - Readme.pdf
|
||||
uploadId: 766200
|
3
Assets/Plugins/Animate UI Materials/Editor.meta
Normal file
3
Assets/Plugins/Animate UI Materials/Editor.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f6208cdf31d456cbbfb65574612dae0
|
||||
timeCreated: 1681720611
|
@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "Assembly-AnimateGraphicMaterials-Editor",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"GUID:0e6c16ac130388f4493d7bf4eff725f1"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4cc83c889fcb65645bc6aae95a9ff24e
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Editor/Assembly-AnimateUIMaterials-Editor.asmdef
|
||||
uploadId: 766200
|
@ -0,0 +1,34 @@
|
||||
namespace UnityEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Broken implementation of MaterialEditor meant to be injected in a standard Editor
|
||||
/// Hacky, but only way to get custom shader editors to work with this packages
|
||||
/// </summary>
|
||||
public class CustomMaterialEditor: MaterialEditor
|
||||
{
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
// Commented lines are those removed from the base implementation
|
||||
serializedObject.Update();
|
||||
// Remove most checks
|
||||
// this.CheckSetup();
|
||||
// this.DetectShaderEditorNeedsUpdate();
|
||||
// this.isVisible && (UnityEngine.Object) this.m_Shader != (UnityEngine.Object) null && !this.HasMultipleMixedShaderValues() && this.
|
||||
// Draw properties
|
||||
if (PropertiesGUI())
|
||||
{
|
||||
// Do not validate materials since we don't have access to their editor scripts
|
||||
// foreach (Material target in this.targets)
|
||||
// {
|
||||
// if (this.m_CustomShaderGUI != null)
|
||||
// this.m_CustomShaderGUI.ValidateMaterial(target);
|
||||
// }
|
||||
//
|
||||
PropertiesChanged();
|
||||
}
|
||||
// this.DetectTextureStackValidationIssues();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 39cd41d8ca92456dbb37f87b7de14c4e
|
||||
timeCreated: 1701269432
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Editor/CustomMaterialEditor.cs
|
||||
uploadId: 766200
|
@ -0,0 +1,644 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Plugins.Animate_UI_Materials.EditorExtensions;
|
||||
using UnityEditor;
|
||||
using UnityEditorInternal;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
namespace Plugins.Animate_UI_Materials.Editor
|
||||
{
|
||||
using PropertyType = ShaderUtil.ShaderPropertyType;
|
||||
|
||||
[CustomEditor(typeof(GraphicMaterialOverride), true)]
|
||||
public class GraphicMaterialOverrideEditor : UnityEditor.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// The scroll position in the modifiers ScrollView
|
||||
/// Usually not needed, but good to have
|
||||
/// </summary>
|
||||
Vector2 _scrollPosition;
|
||||
|
||||
/// <summary>
|
||||
/// A fake material used to create an inspector
|
||||
/// </summary>
|
||||
Material _editorMaterial;
|
||||
|
||||
Object[] _editorMaterialArray;
|
||||
|
||||
/// <summary>
|
||||
/// The editor of the fake material
|
||||
/// </summary>
|
||||
MaterialEditor _editorMaterialEditor;
|
||||
|
||||
/// <summary>
|
||||
/// Override the reset context menu to implement the reset function
|
||||
/// Needed instead of "MonoBehavior.Reset" on GraphicMaterialOverride because we need to record an Undo
|
||||
/// </summary>
|
||||
[MenuItem("CONTEXT/GraphicMaterialOverride/Reset")]
|
||||
static void ResetMaterialModifiers(MenuCommand b)
|
||||
{
|
||||
GraphicMaterialOverride materialOverride = (GraphicMaterialOverride)b.context;
|
||||
if (!materialOverride) return;
|
||||
|
||||
List<IMaterialPropertyModifier> modifiers = materialOverride.GetModifiers().ToList();
|
||||
|
||||
Object[] modifiersAsObjects = modifiers.Select(m => (Object)m).ToArray();
|
||||
Undo.RecordObjects(modifiersAsObjects, "Reset material modifiers");
|
||||
|
||||
foreach (IMaterialPropertyModifier modifier in modifiers)
|
||||
{
|
||||
modifier.ResetPropertyToDefault();
|
||||
PrefabUtility.RecordPrefabInstancePropertyModifications((Object)modifier);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ask the Graphic component to reload the modified material
|
||||
/// </summary>
|
||||
[MenuItem("CONTEXT/GraphicMaterialOverride/Reload Source Material")]
|
||||
static void ReloadSourceMaterial(MenuCommand b)
|
||||
{
|
||||
if (b.context is not GraphicMaterialOverride materialOverride) return;
|
||||
materialOverride.SetMaterialDirty();
|
||||
EditorUtility.SetDirty(materialOverride);
|
||||
}
|
||||
|
||||
[MenuItem("CONTEXT/MonoBehaviour/Bake Material Variant", true)]
|
||||
static bool BakeMaterialVariantValidator(MenuCommand b)
|
||||
{
|
||||
return b.context is IMaterialModifier;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ask the Graphic component to reload the modified material
|
||||
/// </summary>
|
||||
[MenuItem("CONTEXT/MonoBehaviour/Bake Material Variant")]
|
||||
static void BakeMaterialVariant(MenuCommand b)
|
||||
{
|
||||
if (b.context is not IMaterialModifier) return;
|
||||
if (b.context is not Component materialModifier) return;
|
||||
|
||||
if (materialModifier.TryGetComponent(out Graphic materialSource) == false)
|
||||
{
|
||||
Debug.LogWarning("Cannot find associated Graphic");
|
||||
return;
|
||||
}
|
||||
|
||||
Material original = materialSource.material;
|
||||
Material modified = materialSource.materialForRendering;
|
||||
|
||||
Material asset = new(modified);
|
||||
|
||||
#if UNITY_2022_1_OR_NEWER && UNITY_EDITOR
|
||||
asset.parent = original;
|
||||
#endif
|
||||
asset.hideFlags = HideFlags.None;
|
||||
|
||||
string path = GetMaterialVariantPath(original);
|
||||
|
||||
AssetDatabase.CreateAsset(asset, path);
|
||||
EditorGUIUtility.PingObject(AssetDatabase.LoadAssetAtPath<Material>(path));
|
||||
}
|
||||
|
||||
static string GetMaterialVariantPath(Material original)
|
||||
{
|
||||
string path = null;
|
||||
string name = original ? original.name : "Material";
|
||||
|
||||
#if UNITY_2022_1_OR_NEWER && UNITY_EDITOR
|
||||
{
|
||||
|
||||
Material current = original;
|
||||
while (path == null && current)
|
||||
{
|
||||
path = AssetDatabase.GetAssetPath(current);
|
||||
current = current.parent;
|
||||
}
|
||||
}
|
||||
#else
|
||||
if (original != null) path = AssetDatabase.GetAssetPath(original);
|
||||
#endif
|
||||
path = Path.GetDirectoryName(path);
|
||||
path ??= Application.dataPath;
|
||||
|
||||
path += $"/{name} Override.asset";
|
||||
|
||||
return AssetDatabase.GenerateUniqueAssetPath(path);
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
DrawDefaultInspector();
|
||||
|
||||
// Get the materialOverride component
|
||||
GraphicMaterialOverride materialOverride = (GraphicMaterialOverride)target;
|
||||
|
||||
if (materialOverride.GetComponent<Graphic>() == null)
|
||||
EditorGUILayout.HelpBox(
|
||||
"Cannot find any sibling UI element. Add a UI element to use this component",
|
||||
MessageType.Warning);
|
||||
else if (GetTargetMaterial() == null)
|
||||
EditorGUILayout.HelpBox(
|
||||
"Cannot find any material. Add a material to the UI element to use this component",
|
||||
MessageType.Warning);
|
||||
|
||||
Material baseMaterial = GetTargetMaterial();
|
||||
if (baseMaterial == null) return;
|
||||
|
||||
if (!_editorMaterial)
|
||||
{
|
||||
_editorMaterial = materialOverride.GetEditorMaterial(GetTargetMaterial());
|
||||
_editorMaterialArray = new Object[] { _editorMaterial };
|
||||
}
|
||||
|
||||
InternalEditorUtility.SetIsInspectorExpanded(_editorMaterial, true);
|
||||
|
||||
if (!_editorMaterialEditor || _editorMaterialEditor.target != _editorMaterial)
|
||||
_editorMaterialEditor = CreateEditor(_editorMaterial) as MaterialEditor;
|
||||
|
||||
var properties = ShaderPropertyInfo.GetMaterialProperties(baseMaterial);
|
||||
var names = properties.Select(p => p.name).ToList();
|
||||
|
||||
// Get the active modifiers
|
||||
List<IMaterialPropertyModifier> modifiers = materialOverride
|
||||
.GetModifiers(true)
|
||||
.OrderBy(m => names.IndexOf(m.PropertyName))
|
||||
.ToList();
|
||||
|
||||
// Display the current modifier values
|
||||
DisplayModifiers(modifiers);
|
||||
// Use a popup to create new modifiers
|
||||
|
||||
if (DisplayCreationPopup(modifiers, properties) is { } toCreate)
|
||||
CreateNewModifier(materialOverride.transform, toCreate);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Display all added modifiers and their value
|
||||
/// </summary>
|
||||
/// <param name="modifiers"></param>
|
||||
void DisplayModifiers(List<IMaterialPropertyModifier> modifiers)
|
||||
{
|
||||
EditorGUILayout.LabelField("Modifiers");
|
||||
|
||||
if (modifiers.Count == 0)
|
||||
EditorGUILayout.HelpBox("Select a value from the dropdown to add a property modifier", MessageType.Info);
|
||||
|
||||
using GUILayout.ScrollViewScope scrollViewScope = new(_scrollPosition);
|
||||
using GUILayout.HorizontalScope horizontalScope = new();
|
||||
|
||||
ForEachParameterVertical(modifiers, DrawModifier);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the heights of each modifiers as a list
|
||||
/// </summary>
|
||||
/// <param name="modifiers"> The modifiers to get the heights of</param>
|
||||
/// <returns></returns>
|
||||
List<float> GetModifiersHeights(List<IMaterialPropertyModifier> modifiers)
|
||||
{
|
||||
Object[] targetMat = _editorMaterialArray;
|
||||
|
||||
return modifiers.Select(m => m.PropertyName)
|
||||
.Select(n => MaterialEditor.GetMaterialProperty(targetMat, n))
|
||||
.Select(_editorMaterialEditor.GetPropertyHeight)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Begin a vertical group, and call a draw function on each modifier
|
||||
/// </summary>
|
||||
/// <param name="modifiers">The modifiers to draw</param>
|
||||
/// <param name="action">The draw function for a modifier property</param>
|
||||
static void ForEachParameterVertical(
|
||||
List<IMaterialPropertyModifier> modifiers,
|
||||
Action<IMaterialPropertyModifier> action
|
||||
)
|
||||
{
|
||||
using EditorGUILayout.VerticalScope scope = new();
|
||||
foreach (IMaterialPropertyModifier modifier in modifiers)
|
||||
{
|
||||
using GUILayout.HorizontalScope hScope = new();
|
||||
action(modifier);
|
||||
}
|
||||
}
|
||||
|
||||
void DrawModifier(IMaterialPropertyModifier modifier)
|
||||
{
|
||||
DrawModifierToggle(modifier);
|
||||
DrawModifierKebabMenu(modifier);
|
||||
DrawModifierValue(modifier);
|
||||
}
|
||||
|
||||
// The cached style of the kebab menu button
|
||||
GUIStyle _kebabMenuStyle;
|
||||
|
||||
/// <summary>
|
||||
/// Draw a button that activate the context menu
|
||||
/// </summary>
|
||||
/// <param name="modifier"></param>
|
||||
void DrawModifierKebabMenu(IMaterialPropertyModifier modifier)
|
||||
{
|
||||
if (_kebabMenuStyle == null)
|
||||
{
|
||||
_kebabMenuStyle = new GUIStyle(GUI.skin.GetStyle("PaneOptions"));
|
||||
// Force the height of the button
|
||||
_kebabMenuStyle.fixedHeight = EditorGUIUtility.singleLineHeight;
|
||||
_kebabMenuStyle.margin = new RectOffset(0, 0, 3, 0);
|
||||
}
|
||||
|
||||
if (GUILayout.Button("", _kebabMenuStyle)) DrawModifierContextMenu(modifier);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draw a toggle to enable or disable the target modifier component
|
||||
/// </summary>
|
||||
/// <param name="modifier">The modifier component</param>
|
||||
void DrawModifierToggle(IMaterialPropertyModifier modifier)
|
||||
{
|
||||
GameObject targetObject = modifier.gameObject;
|
||||
SerializedObject targetSO = new(targetObject);
|
||||
SerializedProperty activeProp = targetSO.FindProperty("m_IsActive");
|
||||
EditorGUI.ChangeCheckScope scope = new();
|
||||
EditorGUILayout.PropertyField(activeProp, GUIContent.none, false, GUILayout.MaxWidth(16f));
|
||||
if (scope.changed) targetSO.ApplyModifiedProperties();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draw the value field from the property modifier
|
||||
/// </summary>
|
||||
/// <param name="modifier">The target IMaterialPropertyModifier</param>
|
||||
protected virtual void DrawModifierValue(IMaterialPropertyModifier modifier)
|
||||
{
|
||||
MonoBehaviour modifierComponent = (MonoBehaviour)modifier;
|
||||
// Add change checks to the property field
|
||||
EditorGUI.BeginChangeCheck();
|
||||
// Create a serialized object on the modifier, to display it properly
|
||||
SerializedObject obj = new(modifierComponent);
|
||||
// Get the serialized property
|
||||
SerializedProperty property = obj.FindProperty("propertyValue");
|
||||
|
||||
try
|
||||
{
|
||||
EditorGUIUtility.fieldWidth = 64f;
|
||||
DrawMaterialProperty(modifier, property);
|
||||
EditorGUIUtility.fieldWidth = -1;
|
||||
}
|
||||
catch (ExitGUIException e)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
// e is used for debugging purposes
|
||||
#pragma warning disable CS0168 // Variable is declared but never used
|
||||
catch (Exception e)
|
||||
#pragma warning restore CS0168 // Variable is declared but never used
|
||||
{
|
||||
// Put breakpoint here
|
||||
EditorGUIUtility.fieldWidth = -1;
|
||||
DrawFallbackProperty(modifier, property);
|
||||
}
|
||||
|
||||
// If no change was applied, ignore storage
|
||||
if (!EditorGUI.EndChangeCheck()) return;
|
||||
// Set the serialized property from the current prop
|
||||
// Record an undo
|
||||
Undo.RecordObject(modifierComponent, $"Modified property override {modifier.PropertyName}");
|
||||
// If we are in a prefab, ensure unity knows about the modification
|
||||
PrefabUtility.RecordPrefabInstancePropertyModifications(modifierComponent);
|
||||
// Apply the modified property
|
||||
obj.ApplyModifiedProperties();
|
||||
}
|
||||
|
||||
void DrawFallbackProperty(IMaterialPropertyModifier modifier, SerializedProperty property)
|
||||
{
|
||||
GUI.backgroundColor = new Color(1, 0.5f, 0);
|
||||
EditorGUILayout.PropertyField(property, new GUIContent(modifier.PropertyName));
|
||||
GUI.backgroundColor = Color.white;
|
||||
}
|
||||
|
||||
FieldInfo _materialPropertyFlagsField =
|
||||
typeof(MaterialProperty).GetField("m_Flags", BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
|
||||
void DrawMaterialProperty(
|
||||
IMaterialPropertyModifier modifier,
|
||||
SerializedProperty property
|
||||
)
|
||||
{
|
||||
// Get the actual Shader Property
|
||||
MaterialProperty materialProperty = MaterialEditor.GetMaterialProperty(_editorMaterialArray, modifier.PropertyName);
|
||||
|
||||
MaterialProperty.PropFlags oldFlags = materialProperty.flags;
|
||||
MaterialProperty.PropFlags flags = oldFlags;
|
||||
|
||||
// Hide the scale offset in the texture property drawer
|
||||
if (modifier is GraphicPropertyOverrideTexture or GraphicPropertyOverrideScaleAndOffset)
|
||||
{
|
||||
bool wantsScaleOffset = modifier is GraphicPropertyOverrideScaleAndOffset;
|
||||
|
||||
flags &= ~MaterialProperty.PropFlags.NoScaleOffset;
|
||||
|
||||
if (!wantsScaleOffset)
|
||||
flags |= MaterialProperty.PropFlags.NoScaleOffset;
|
||||
}
|
||||
|
||||
flags &= ~MaterialProperty.PropFlags.PerRendererData;
|
||||
|
||||
if (oldFlags != flags)
|
||||
{
|
||||
_materialPropertyFlagsField.SetValue(materialProperty, (int)flags);
|
||||
}
|
||||
|
||||
// Asset correct property type
|
||||
SerializedMaterialPropertyUtility.AssertTypeEqual(property, materialProperty);
|
||||
// Set the buffer shader property to our current value
|
||||
SerializedMaterialPropertyUtility.CopyProperty(materialProperty, property);
|
||||
// Get the height needed to render
|
||||
float height = _editorMaterialEditor.GetPropertyHeight(materialProperty);
|
||||
|
||||
// Get the control rect
|
||||
Rect rect = EditorGUILayout.GetControlRect(true, height);
|
||||
using EditorGUI.PropertyScope scope = new(rect, new GUIContent(modifier.DisplayName), property);
|
||||
|
||||
// Set the animator colored backgrounds
|
||||
if (GraphicMaterialOverrideHelper.OverridePropertyColor(materialProperty, (Object)modifier, out Color background))
|
||||
{
|
||||
GUI.backgroundColor = background;
|
||||
}
|
||||
|
||||
using EditorGUI.ChangeCheckScope changes = new();
|
||||
// Draw the property using the hidden editor
|
||||
_editorMaterialEditor.ShaderProperty(rect, materialProperty, scope.content, 0);
|
||||
|
||||
// Reset the background color
|
||||
GUI.backgroundColor = Color.white;
|
||||
|
||||
if (changes.changed)
|
||||
{
|
||||
// Place the result in the SerializedProperty
|
||||
SerializedMaterialPropertyUtility.CopyProperty(property, materialProperty);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draw the context menu for one modifier
|
||||
/// </summary>
|
||||
/// <param name="modifier"></param>
|
||||
void DrawModifierContextMenu(IMaterialPropertyModifier modifier)
|
||||
{
|
||||
MonoBehaviour modifierComponent = (MonoBehaviour)modifier;
|
||||
GenericMenu menu = new();
|
||||
menu.AddItem(new GUIContent("Select"), false, () => Selection.activeGameObject = modifierComponent.gameObject);
|
||||
menu.AddItem(new GUIContent("Set Default"), false, () => ResetModifier(modifier));
|
||||
if (modifierComponent.isActiveAndEnabled)
|
||||
menu.AddItem(new GUIContent("Disable"), false, () => ModifierSetActive(modifier, false));
|
||||
else
|
||||
menu.AddItem(new GUIContent("Enable"), false, () => ModifierSetActive(modifier, true));
|
||||
|
||||
menu.AddItem(new GUIContent("Delete"), false, () => DeleteModifier(modifier));
|
||||
menu.ShowAsContext();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset a modifier object to the default material value and record an undo
|
||||
/// </summary>
|
||||
/// <param name="modifier"></param>
|
||||
void ResetModifier(IMaterialPropertyModifier modifier)
|
||||
{
|
||||
Undo.RecordObject(modifier as Object, "Reset modifier component");
|
||||
|
||||
modifier.ResetPropertyToDefault();
|
||||
|
||||
PrefabUtility.RecordPrefabInstancePropertyModifications(modifier as Object);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Delete the GameObject of a modifier and record an Undo
|
||||
/// </summary>
|
||||
/// <param name="modifier"></param>
|
||||
void DeleteModifier(IMaterialPropertyModifier modifier)
|
||||
{
|
||||
Undo.DestroyObjectImmediate(modifier.gameObject);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the active state of a modifier and its GameObject
|
||||
/// Records an undo
|
||||
/// </summary>
|
||||
/// <param name="modifier"></param>
|
||||
/// <param name="isActive"></param>
|
||||
void ModifierSetActive(IMaterialPropertyModifier modifier, bool isActive)
|
||||
{
|
||||
// Make sure any modifications are properly propagated to unity
|
||||
Undo.RecordObjects(
|
||||
new[] { modifier as Object, modifier.gameObject },
|
||||
"Toggled modifier component");
|
||||
// If enabling, set the component and GameObject as active
|
||||
if (isActive)
|
||||
{
|
||||
modifier.enabled = true;
|
||||
modifier.gameObject.SetActive(true);
|
||||
}
|
||||
// If disabling, disable the GameObject only
|
||||
else
|
||||
{
|
||||
modifier.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
PrefabUtility.RecordPrefabInstancePropertyModifications(modifier as Object);
|
||||
PrefabUtility.RecordPrefabInstancePropertyModifications(modifier.gameObject);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Try to draw a range field for a shader property
|
||||
/// If the information cannot be found, draw a float property
|
||||
/// </summary>
|
||||
/// <param name="material">The material holding the shader property</param>
|
||||
/// <param name="propertyIndex">The index of the shader property</param>
|
||||
/// <param name="property">The serialized property in the modifier</param>
|
||||
/// <param name="label">The label of the property</param>
|
||||
public static void DrawFloatPropertyAsRange(
|
||||
Material material,
|
||||
int propertyIndex,
|
||||
SerializedProperty property,
|
||||
GUIContent label
|
||||
)
|
||||
{
|
||||
if (!material || propertyIndex < 0)
|
||||
{
|
||||
EditorGUILayout.PropertyField(property);
|
||||
return;
|
||||
}
|
||||
|
||||
Rect rect = GUILayoutUtility.GetRect(
|
||||
EditorGUIUtility.fieldWidth,
|
||||
EditorGUIUtility.labelWidth + EditorGUIUtility.fieldWidth + 110f,
|
||||
18f,
|
||||
18f);
|
||||
|
||||
Shader shader = material.shader;
|
||||
float min = ShaderUtil.GetRangeLimits(shader, propertyIndex, 1);
|
||||
float max = ShaderUtil.GetRangeLimits(shader, propertyIndex, 2);
|
||||
|
||||
using EditorGUI.PropertyScope scope = new(rect, label, property);
|
||||
EditorGUI.BeginChangeCheck();
|
||||
float newValue = EditorGUI.Slider(rect, "⇔", property.floatValue, min, max);
|
||||
// Only assign the value back if it was actually changed by the user.
|
||||
// Otherwise a single value will be assigned to all objects when multi-object editing,
|
||||
// even when the user didn't touch the control.
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
property.floatValue = newValue;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draw a color field for a shader property, hdr if required
|
||||
/// If the information cannot be found, draw a color property
|
||||
/// </summary>
|
||||
/// <param name="material">The material holding the shader property</param>
|
||||
/// <param name="property">The serialized property in the modifier</param>
|
||||
/// <param name="isHdr">If the property should be drawn as HDR</param>
|
||||
/// <param name="label">The label of the property</param>
|
||||
public static void DrawColorPropertyAsHdr(
|
||||
Material material,
|
||||
SerializedProperty property,
|
||||
bool isHdr,
|
||||
GUIContent label
|
||||
)
|
||||
{
|
||||
if (!material)
|
||||
{
|
||||
EditorGUILayout.PropertyField(property);
|
||||
return;
|
||||
}
|
||||
|
||||
property.colorValue = EditorGUILayout.ColorField(label, property.colorValue, true, true, isHdr);
|
||||
}
|
||||
|
||||
static readonly (string, string)[] LowerPropertyStrings =
|
||||
{
|
||||
("_StencilComp", "UI Hidden Properties/StencilComp"),
|
||||
("_Stencil", "UI Hidden Properties/Stencil"),
|
||||
("_StencilOp", "UI Hidden Properties/StencilOp"),
|
||||
("_StencilWriteMask", "UI Hidden Properties/StencilWriteMask"),
|
||||
("_StencilReadMask", "UI Hidden Properties/StencilReadMask"),
|
||||
("_ColorMask", "UI Hidden Properties/ColorMask"),
|
||||
("_UseUIAlphaClip", "UI Hidden Properties/UseUIAlphaClip"),
|
||||
};
|
||||
|
||||
static string GetPropertyName(ShaderPropertyInfo prop)
|
||||
{
|
||||
foreach (var (lower, upper) in LowerPropertyStrings)
|
||||
{
|
||||
if (prop.name == lower) return upper;
|
||||
}
|
||||
|
||||
return prop.name;
|
||||
}
|
||||
|
||||
struct PropertyEntry
|
||||
{
|
||||
public string Name;
|
||||
public string DisplayName;
|
||||
public Type ComponentType;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Display a dropdown to select a modifier
|
||||
/// Filters out modifiers that are already added
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
PropertyEntry? DisplayCreationPopup(List<IMaterialPropertyModifier> modifiers, List<ShaderPropertyInfo> properties)
|
||||
{
|
||||
// Create a set to filter out modifiers that are already added
|
||||
HashSet<string> namesAlreadyUsed = modifiers
|
||||
.Select(p => p.DisplayName)
|
||||
.ToHashSet();
|
||||
|
||||
List<PropertyEntry> entries = new();
|
||||
|
||||
foreach (ShaderPropertyInfo info in properties)
|
||||
{
|
||||
if (!namesAlreadyUsed.Contains(info.name))
|
||||
{
|
||||
entries.Add(
|
||||
new PropertyEntry
|
||||
{
|
||||
Name = info.name,
|
||||
DisplayName = GetPropertyName(info),
|
||||
ComponentType = info.type switch
|
||||
{
|
||||
PropertyType.Color => typeof(GraphicPropertyOverrideColor),
|
||||
PropertyType.Float => typeof(GraphicPropertyOverrideFloat),
|
||||
PropertyType.Range => typeof(GraphicPropertyOverrideRange),
|
||||
PropertyType.Vector => typeof(GraphicPropertyOverrideVector),
|
||||
PropertyType.TexEnv => typeof(GraphicPropertyOverrideTexture),
|
||||
_ => throw new ArgumentOutOfRangeException(),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
if (info.type == PropertyType.TexEnv)
|
||||
{
|
||||
string displayName = GetPropertyName(info) + " Scale Offset";
|
||||
if (!namesAlreadyUsed.Contains(displayName))
|
||||
{
|
||||
entries.Add(
|
||||
new PropertyEntry
|
||||
{
|
||||
Name = info.name,
|
||||
DisplayName = displayName,
|
||||
ComponentType = typeof(GraphicPropertyOverrideScaleAndOffset),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
string[] propertyNames = entries.Select(e => e.DisplayName).ToArray();
|
||||
|
||||
int selectedIndex = EditorGUILayout.Popup(new GUIContent("Add Override"), -1, propertyNames);
|
||||
|
||||
if (selectedIndex >= 0) return entries[selectedIndex];
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new GraphicPropertyOverride in a new child GameObject
|
||||
/// </summary>
|
||||
/// <param name="parent">The transform of the GraphicMaterialOverride</param>
|
||||
/// <param name="propertyInfo">The property to override</param>
|
||||
/// <exception cref="ArgumentOutOfRangeException">thrown when ShaderPropertyType is invalid</exception>
|
||||
void CreateNewModifier(Transform parent, PropertyEntry propertyInfo)
|
||||
{
|
||||
// Increment undo group
|
||||
Undo.IncrementCurrentGroup();
|
||||
GameObject child = new($"{propertyInfo.DisplayName} Override");
|
||||
|
||||
Undo.RegisterCreatedObjectUndo(child, $"Added override GameObject");
|
||||
child.layer = parent.gameObject.layer;
|
||||
Undo.SetTransformParent(child.transform, parent, false, "Moved override GameObject");
|
||||
|
||||
GraphicPropertyOverride propertyOverride =
|
||||
Undo.AddComponent(child, propertyInfo.ComponentType) as GraphicPropertyOverride;
|
||||
propertyOverride!.PropertyName = propertyInfo.Name;
|
||||
propertyOverride.ResetPropertyToDefault();
|
||||
|
||||
Undo.RegisterCompleteObjectUndo(child, "Added override component");
|
||||
Undo.SetCurrentGroupName($"Override ${propertyInfo.DisplayName}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Try to get the material from the Graphic component
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Material GetTargetMaterial()
|
||||
{
|
||||
GraphicMaterialOverride graphicMaterialOverride = (GraphicMaterialOverride)target;
|
||||
|
||||
return graphicMaterialOverride.TryGetComponent(out Graphic graphic) ? graphic.material : null;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2ea82f5a694c494db5eb813e0232cd6d
|
||||
timeCreated: 1682064216
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Editor/GraphicMaterialOverrideEditor.cs
|
||||
uploadId: 766200
|
@ -0,0 +1,33 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Plugins.Animate_UI_Materials.Editor
|
||||
{
|
||||
using PropertyType = ShaderUtil.ShaderPropertyType;
|
||||
|
||||
/// <summary>
|
||||
/// A special editor for Color properties
|
||||
/// Retrieves the hdr flag from the property override
|
||||
/// </summary>
|
||||
[CustomEditor(typeof(GraphicPropertyOverrideColor), true)]
|
||||
public class GraphicPropertyOverrideColorEditor : GraphicPropertyOverrideEditor
|
||||
{
|
||||
protected override void DrawValueProperty(SerializedProperty property)
|
||||
{
|
||||
// If in multi-edit mode, just display a color field
|
||||
if (targets.Length > 1 || target is not GraphicPropertyOverrideColor propertyOverride)
|
||||
{
|
||||
base.DrawValueProperty(property);
|
||||
return;
|
||||
}
|
||||
|
||||
Material material = GetTargetMaterial();
|
||||
|
||||
GraphicMaterialOverrideEditor.DrawColorPropertyAsHdr(
|
||||
material,
|
||||
property,
|
||||
propertyOverride.isHDR,
|
||||
new GUIContent(""));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ccb1a192bc074b67b10eca77f5af23d7
|
||||
timeCreated: 1686516497
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Editor/GraphicPropertyOverrideColorEditor.cs
|
||||
uploadId: 766200
|
@ -0,0 +1,164 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Plugins.Animate_UI_Materials.Editor
|
||||
{
|
||||
using PropertyType = ShaderUtil.ShaderPropertyType;
|
||||
|
||||
[CustomEditor(typeof(GraphicPropertyOverride), true)]
|
||||
[CanEditMultipleObjects]
|
||||
public class GraphicPropertyOverrideEditor : UnityEditor.Editor
|
||||
{
|
||||
SerializedProperty _propertyName;
|
||||
SerializedProperty _propertyValue;
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
// Get the serializedProperty of the shader property name
|
||||
_propertyName = serializedObject.FindProperty("propertyName");
|
||||
// Get the serializedProperty of the shader property propertyValue
|
||||
_propertyValue = serializedObject.FindProperty("propertyValue");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
serializedObject.Update();
|
||||
|
||||
// Draw the script header
|
||||
using (new EditorGUI.DisabledScope(true))
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Script"));
|
||||
|
||||
// Start change check
|
||||
using EditorGUI.ChangeCheckScope scope = new();
|
||||
|
||||
// If single target (not multi-editing)
|
||||
if (targets.Length == 1)
|
||||
{
|
||||
// Draw a warning if the material cannot be found
|
||||
if (!GetTargetMaterial())
|
||||
EditorGUILayout.HelpBox(
|
||||
"The parent doesn't contain a GraphicMaterialOverride. Add one to continue",
|
||||
MessageType.Error);
|
||||
|
||||
string[] properties = GetPropertyNames().ToArray();
|
||||
// Draw a dropdown list of float properties in the material
|
||||
EditorGUI.BeginChangeCheck();
|
||||
|
||||
int currentIndex = GetPropertyIndexDropdown();
|
||||
int index = EditorGUILayout.Popup("Property Name", currentIndex, properties);
|
||||
if (EditorGUI.EndChangeCheck()) _propertyName.stringValue = properties[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorGUILayout.LabelField("Cannot multi-edit property name");
|
||||
}
|
||||
|
||||
DrawPropertiesExcluding(serializedObject, "m_Script", "propertyName", "propertyValue");
|
||||
|
||||
DrawValueProperty(_propertyValue);
|
||||
|
||||
// If change happened, apply modified properties
|
||||
if (scope.changed) serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overridable method to draw the value property
|
||||
/// Overriden by GraphicPropertyOverrideRange to display ranges
|
||||
/// </summary>
|
||||
protected virtual void DrawValueProperty(SerializedProperty property)
|
||||
{
|
||||
EditorGUILayout.PropertyField(property);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Try to get the material of the associated Graphic object
|
||||
/// </summary>
|
||||
/// <returns>The material being overriden or null</returns>
|
||||
protected Material GetTargetMaterial()
|
||||
{
|
||||
GraphicPropertyOverride animated = (GraphicPropertyOverride)target;
|
||||
|
||||
return animated.transform.parent.TryGetComponent(out Graphic graphic) ? graphic.material : null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the property type from the target object
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected PropertyType GetPropertyType()
|
||||
{
|
||||
GraphicPropertyOverride animated = (GraphicPropertyOverride)target;
|
||||
|
||||
return animated switch
|
||||
{
|
||||
GraphicPropertyOverrideColor => PropertyType.Color,
|
||||
GraphicPropertyOverrideFloat => PropertyType.Float,
|
||||
GraphicPropertyOverrideVector => PropertyType.Vector,
|
||||
GraphicPropertyOverrideInt => PropertyType.Int,
|
||||
GraphicPropertyOverrideRange => PropertyType.Range,
|
||||
GraphicPropertyOverrideTexture => PropertyType.TexEnv,
|
||||
GraphicPropertyOverrideScaleAndOffset => PropertyType.TexEnv,
|
||||
_ when target != null => throw new Exception($"Unknown type {target.GetType()}"),
|
||||
_ => throw new Exception($"Target is null"),
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the index inside the filtered dropdown
|
||||
/// </summary>
|
||||
/// <returns>The index, or -1 in case of invalid property</returns>
|
||||
int GetPropertyIndexDropdown()
|
||||
{
|
||||
string propertyName = _propertyName.stringValue;
|
||||
return GetPropertyNames()
|
||||
.FindIndex(dropdownOptionName => dropdownOptionName == propertyName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the index of the property in the shade
|
||||
/// </summary>
|
||||
/// <returns>The index of the property or -1 in vase of invalid property</returns>
|
||||
protected int GetPropertyIndex()
|
||||
{
|
||||
Material material = GetTargetMaterial();
|
||||
string propertyName = _propertyName.stringValue;
|
||||
return ShaderPropertyInfo.GetMaterialProperties(material)
|
||||
.Find(p => p.name == propertyName)
|
||||
?.index ??
|
||||
-1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all matching properties from the shader
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
List<string> GetPropertyNames()
|
||||
{
|
||||
Material material = GetTargetMaterial();
|
||||
PropertyType type = GetPropertyType();
|
||||
|
||||
return ShaderPropertyInfo.GetMaterialProperties(material)
|
||||
.Where(p => p.type == type)
|
||||
.Select(p => p.name)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override the reset context menu to implement the reset function
|
||||
/// Needed instead of "MonoBehavior.Reset" on GraphicMaterialOverride because Reset is called in other contexts
|
||||
/// </summary>
|
||||
[MenuItem("CONTEXT/GraphicPropertyOverride/Reset")]
|
||||
static void ResetPropertyValue(MenuCommand b)
|
||||
{
|
||||
if (b.context is not GraphicPropertyOverride propertyOverride) return;
|
||||
|
||||
Undo.RecordObject(propertyOverride, "Reset material override");
|
||||
propertyOverride.ResetPropertyToDefault();
|
||||
PrefabUtility.RecordPrefabInstancePropertyModifications(propertyOverride);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a8d03d3fad4347d09e530cd5a4590835
|
||||
timeCreated: 1681915604
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Editor/GraphicPropertyOverrideEditor.cs
|
||||
uploadId: 766200
|
@ -0,0 +1,34 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Plugins.Animate_UI_Materials.Editor
|
||||
{
|
||||
using PropertyType = ShaderUtil.ShaderPropertyType;
|
||||
|
||||
/// <summary>
|
||||
/// A special editor for Range properties
|
||||
/// Retrieves the range min and max from the shader, and draws the slider field
|
||||
/// In case of failure to retrieve, it will simply display a float property
|
||||
/// </summary>
|
||||
[CustomEditor(typeof(GraphicPropertyOverrideRange), true)]
|
||||
public class GraphicPropertyOverrideRangeEditor : GraphicPropertyOverrideEditor
|
||||
{
|
||||
protected override void DrawValueProperty(SerializedProperty property)
|
||||
{
|
||||
// If in multi-edit mode, just display a float field
|
||||
if (targets.Length > 1)
|
||||
{
|
||||
base.DrawValueProperty(property);
|
||||
return;
|
||||
}
|
||||
|
||||
Material material = GetTargetMaterial();
|
||||
int propertyIndex = GetPropertyIndex();
|
||||
|
||||
GraphicMaterialOverrideEditor.DrawFloatPropertyAsRange(material,
|
||||
propertyIndex,
|
||||
property,
|
||||
new GUIContent(""));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c999cb1c916847bd8cc931d65f1b195f
|
||||
timeCreated: 1682061875
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Editor/GraphicPropertyOverrideRangeEditor.cs
|
||||
uploadId: 766200
|
@ -0,0 +1,93 @@
|
||||
using System;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Plugins.Animate_UI_Materials.Editor
|
||||
{
|
||||
public static class SerializedMaterialPropertyUtility
|
||||
{
|
||||
public static void AssertTypeEqual(SerializedProperty a, MaterialProperty b)
|
||||
{
|
||||
AssertTypeEqual(b, a);
|
||||
}
|
||||
|
||||
public static void AssertTypeEqual(MaterialProperty a, SerializedProperty b)
|
||||
{
|
||||
switch (a.type)
|
||||
{
|
||||
case MaterialProperty.PropType.Color when b.propertyType == SerializedPropertyType.Color: return;
|
||||
case MaterialProperty.PropType.Float when b.propertyType == SerializedPropertyType.Float: return;
|
||||
case MaterialProperty.PropType.Vector when b.propertyType == SerializedPropertyType.Vector4: return;
|
||||
case MaterialProperty.PropType.Range when b.propertyType == SerializedPropertyType.Float: return;
|
||||
case MaterialProperty.PropType.Int when b.propertyType == SerializedPropertyType.Integer: return;
|
||||
case MaterialProperty.PropType.Texture when b.propertyType == SerializedPropertyType.ObjectReference: return;
|
||||
case MaterialProperty.PropType.Texture when b.propertyType == SerializedPropertyType.Generic: return;
|
||||
default: throw new Exception("Wrong Material Override Type");
|
||||
}
|
||||
}
|
||||
|
||||
public static void CopyProperty(SerializedProperty to, MaterialProperty from)
|
||||
{
|
||||
switch (from.type)
|
||||
{
|
||||
case MaterialProperty.PropType.Color:
|
||||
to.colorValue = from.colorValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Float:
|
||||
to.floatValue = from.floatValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Vector:
|
||||
to.vector4Value = from.vectorValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Range:
|
||||
to.floatValue = from.floatValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Int:
|
||||
to.intValue = from.intValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Texture when to.propertyType == SerializedPropertyType.Generic:
|
||||
to.FindPropertyRelative(nameof(TextureScaleOffset.ScaleOffset)).vector4Value = from.textureScaleAndOffset;
|
||||
to.FindPropertyRelative(nameof(TextureScaleOffset.Texture)).objectReferenceValue = from.textureValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Texture when to.propertyType == SerializedPropertyType.ObjectReference:
|
||||
to.objectReferenceValue = from.textureValue;
|
||||
return;
|
||||
default:
|
||||
Debug.LogWarning($"WEIRD TYPES {to.type} {from.type}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public static void CopyProperty(MaterialProperty to, SerializedProperty from)
|
||||
{
|
||||
switch (to.type)
|
||||
{
|
||||
case MaterialProperty.PropType.Color:
|
||||
to.colorValue = from.colorValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Float:
|
||||
to.floatValue = from.floatValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Vector:
|
||||
to.vectorValue = from.vector4Value;
|
||||
return;
|
||||
case MaterialProperty.PropType.Range:
|
||||
to.floatValue = from.floatValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Int:
|
||||
to.intValue = from.intValue;
|
||||
return;
|
||||
case MaterialProperty.PropType.Texture when from.propertyType == SerializedPropertyType.Generic:
|
||||
to.textureScaleAndOffset = from.FindPropertyRelative(nameof(TextureScaleOffset.ScaleOffset)).vector4Value;
|
||||
to.textureValue = from.FindPropertyRelative(nameof(TextureScaleOffset.Texture)).objectReferenceValue as Texture;
|
||||
return;
|
||||
case MaterialProperty.PropType.Texture when from.propertyType == SerializedPropertyType.ObjectReference:
|
||||
to.textureValue = from.objectReferenceValue as Texture;
|
||||
return;
|
||||
default:
|
||||
Debug.LogWarning("WEIRD TYPES");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c3a2b7d21ca74321a9fdd6f784784901
|
||||
timeCreated: 1701444411
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Editor/SerializedMaterialPropertyUtility.cs
|
||||
uploadId: 766200
|
@ -0,0 +1,60 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Plugins.Animate_UI_Materials.Editor
|
||||
{
|
||||
using PropertyType = ShaderUtil.ShaderPropertyType;
|
||||
|
||||
internal class ShaderPropertyInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// The index of the property inside the shader
|
||||
/// </summary>
|
||||
public int index;
|
||||
/// <summary>
|
||||
/// The name of the property inside the shader
|
||||
/// </summary>
|
||||
public string name;
|
||||
/// <summary>
|
||||
/// The type of the property, as defined by ShaderUtil
|
||||
/// </summary>
|
||||
public PropertyType type;
|
||||
|
||||
/// <summary>
|
||||
/// Get all properties from a shader, with their name, index, and type
|
||||
/// </summary>
|
||||
/// <param name="shader">The shader to get the properties from</param>
|
||||
/// <param name="allowHidden">Include properties marked as hidden and _MainTex</param>
|
||||
/// <returns></returns>
|
||||
public static List<ShaderPropertyInfo> GetShaderProperties(Shader shader, bool allowHidden = false)
|
||||
{
|
||||
List<ShaderPropertyInfo> properties = new List<ShaderPropertyInfo>();
|
||||
int propertyCount = ShaderUtil.GetPropertyCount(shader);
|
||||
|
||||
for (int i = 0; i < propertyCount; i++)
|
||||
if (!ShaderUtil.IsShaderPropertyHidden(shader, i) || !allowHidden)
|
||||
if (!ShaderUtil.IsShaderPropertyNonModifiableTexureProperty(shader, i) || allowHidden)
|
||||
properties.Add(new ShaderPropertyInfo
|
||||
{
|
||||
index = i,
|
||||
name = ShaderUtil.GetPropertyName(shader, i),
|
||||
type = ShaderUtil.GetPropertyType(shader, i)
|
||||
});
|
||||
|
||||
return properties;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all properties from a material, with their name, index, and type
|
||||
/// </summary>
|
||||
/// <param name="material">The material to get the properties from</param>
|
||||
/// <param name="allowHidden">Include properties marked as hidden and _MainTex</param>
|
||||
/// <returns></returns>
|
||||
public static List<ShaderPropertyInfo> GetMaterialProperties(Material material, bool allowHidden = false)
|
||||
{
|
||||
if (!material) return new List<ShaderPropertyInfo>();
|
||||
return GetShaderProperties(material.shader, allowHidden);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 36a87bf77f35458e8da8b3037e3b2321
|
||||
timeCreated: 1682088408
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Editor/ShaderPropertyInfo.cs
|
||||
uploadId: 766200
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d7ba558eff1e4d3189ce4b8dc9cd46cf
|
||||
timeCreated: 1701272938
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"reference": "GUID:343deaaf83e0cee4ca978e7df0b80d21"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3426bd6b92ad21241be6117321949a82
|
||||
AssemblyDefinitionReferenceImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/EditorExtensions/AssemblyRef-EditorExtensions.asmref
|
||||
uploadId: 766200
|
@ -0,0 +1,79 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
namespace Plugins.Animate_UI_Materials.EditorExtensions
|
||||
{
|
||||
public static class GraphicMaterialOverrideHelper
|
||||
{
|
||||
public static bool OverridePropertyColor(
|
||||
MaterialProperty materialProp,
|
||||
Object target,
|
||||
out Color color)
|
||||
{
|
||||
List<string> stringList = new();
|
||||
string str = "propertyValue";
|
||||
if (materialProp.type == MaterialProperty.PropType.Texture)
|
||||
{
|
||||
stringList.Add(str);
|
||||
stringList.Add(str + "_ST.x");
|
||||
stringList.Add(str + "_ST.y");
|
||||
stringList.Add(str + "_ST.z");
|
||||
stringList.Add(str + "_ST.w");
|
||||
}
|
||||
else if (materialProp.type == MaterialProperty.PropType.Color)
|
||||
{
|
||||
stringList.Add(str + ".r");
|
||||
stringList.Add(str + ".g");
|
||||
stringList.Add(str + ".b");
|
||||
stringList.Add(str + ".a");
|
||||
}
|
||||
else if (materialProp.type == MaterialProperty.PropType.Vector)
|
||||
{
|
||||
stringList.Add(str + ".x");
|
||||
stringList.Add(str + ".y");
|
||||
stringList.Add(str + ".z");
|
||||
stringList.Add(str + ".w");
|
||||
}
|
||||
else
|
||||
{
|
||||
stringList.Add(str);
|
||||
}
|
||||
|
||||
bool found = false;
|
||||
foreach (string propName in stringList)
|
||||
{
|
||||
if (AnimationMode.IsPropertyAnimated(target, propName))
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
color = Color.white;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (AnimationMode.InAnimationRecording())
|
||||
{
|
||||
color = AnimationMode.recordedPropertyColor;
|
||||
return true;
|
||||
}
|
||||
|
||||
foreach (string propName in stringList)
|
||||
{
|
||||
if (AnimationMode.IsPropertyCandidate(target, propName))
|
||||
{
|
||||
color = AnimationMode.candidatePropertyColor;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
color = AnimationMode.animatedPropertyColor;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe7b10245245441ba4ac6ff89dd23ab3
|
||||
timeCreated: 1701273095
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/EditorExtensions/GraphicMaterialOverrideHelper.cs
|
||||
uploadId: 766200
|
8
Assets/Plugins/Animate UI Materials/Examples.meta
Normal file
8
Assets/Plugins/Animate UI Materials/Examples.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc85c94df8771d44788e610e60a1958f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
1082
Assets/Plugins/Animate UI Materials/Examples/Example Animation.anim
Normal file
1082
Assets/Plugins/Animate UI Materials/Examples/Example Animation.anim
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 196814563dea2d7469ff1de55d0d3815
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Examples/Example Animation.anim
|
||||
uploadId: 766200
|
1012
Assets/Plugins/Animate UI Materials/Examples/Example Scene.unity
Normal file
1012
Assets/Plugins/Animate UI Materials/Examples/Example Scene.unity
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 404da49678522824d82c5911593942ce
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Examples/Example Scene.unity
|
||||
uploadId: 766200
|
@ -0,0 +1,144 @@
|
||||
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
|
||||
// Modified with rights for use in demonstration by Lou Garczynski
|
||||
|
||||
Shader "Animate UI Material/Example"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
|
||||
_Color ("Tint", Color) = (1,1,1,1)
|
||||
|
||||
_OverlayTex ("Overlay", 2D) = "white" {}
|
||||
[HDR]_OverlayColor ("Overlay Color", Color) = (1, 1, 1, 1)
|
||||
_Scale ("Scale", Range(0, 2)) = 1
|
||||
_Rotation ("Rotation", Range(0, 360)) = 0
|
||||
_Offset ("Offset", Vector) = (0, 0, 0, 0)
|
||||
|
||||
_StencilComp ("Stencil Comparison", Float) = 8
|
||||
_Stencil ("Stencil ID", Float) = 0
|
||||
_StencilOp ("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask ("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask ("Stencil Read Mask", Float) = 255
|
||||
|
||||
_ColorMask ("Color Mask", Float) = 15
|
||||
|
||||
[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
Tags
|
||||
{
|
||||
"Queue"="Transparent"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
"PreviewType"="Plane"
|
||||
"CanUseSpriteAtlas"="True"
|
||||
}
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref [_Stencil]
|
||||
Comp [_StencilComp]
|
||||
Pass [_StencilOp]
|
||||
ReadMask [_StencilReadMask]
|
||||
WriteMask [_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull Off
|
||||
Lighting Off
|
||||
ZWrite Off
|
||||
ZTest [unity_GUIZTestMode]
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask [_ColorMask]
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "Default"
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma target 2.0
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityUI.cginc"
|
||||
|
||||
#pragma multi_compile_local _ UNITY_UI_CLIP_RECT
|
||||
#pragma multi_compile_local _ UNITY_UI_ALPHACLIP
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : SV_POSITION;
|
||||
fixed4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
float4 worldPosition : TEXCOORD1;
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
|
||||
sampler2D _MainTex;
|
||||
fixed4 _Color;
|
||||
fixed4 _TextureSampleAdd;
|
||||
float4 _ClipRect;
|
||||
float4 _MainTex_ST;
|
||||
|
||||
sampler2D _OverlayTex;
|
||||
float4 _OverlayColor;
|
||||
float _Scale;
|
||||
float _Rotation;
|
||||
float2 _Offset;
|
||||
|
||||
v2f vert(appdata_t v)
|
||||
{
|
||||
v2f OUT;
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
|
||||
OUT.worldPosition = v.vertex;
|
||||
OUT.vertex = UnityObjectToClipPos(OUT.worldPosition);
|
||||
|
||||
OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
|
||||
|
||||
OUT.color = v.color * _Color;
|
||||
return OUT;
|
||||
}
|
||||
|
||||
fixed4 frag(v2f IN) : SV_Target
|
||||
{
|
||||
half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;
|
||||
|
||||
// Calculate the overlay texture coordinates and sample it
|
||||
float2 centeredUV = (IN.texcoord - 0.5)*2;
|
||||
float2 overlayUV = centeredUV * _Scale;
|
||||
float rad = _Rotation / 360 * 2 * UNITY_PI;
|
||||
float2 rotatedUV = float2(
|
||||
overlayUV.x * cos(rad) - overlayUV.y * sin(rad),
|
||||
overlayUV.x * sin(rad) + overlayUV.y * cos(rad)
|
||||
);
|
||||
float2 normalizedUV = rotatedUV / 2 + 0.5;
|
||||
float2 offsetUV = normalizedUV + float2(_Offset.x, _Offset.y);
|
||||
fixed4 overlay = tex2D(_OverlayTex, offsetUV) * _OverlayColor;
|
||||
|
||||
// Blend the background and overlay textures
|
||||
color = lerp(color, overlay, overlay.a);
|
||||
|
||||
#ifdef UNITY_UI_CLIP_RECT
|
||||
color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
|
||||
#endif
|
||||
|
||||
#ifdef UNITY_UI_ALPHACLIP
|
||||
clip (color.a - 0.001);
|
||||
#endif
|
||||
|
||||
return color;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8010de858794e33a27636c6183ce4d2
|
||||
timeCreated: 1682164300
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Examples/ExampleUIShader.shader
|
||||
uploadId: 766200
|
@ -0,0 +1,72 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-7894766971529659986
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: New Animation
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 196814563dea2d7469ff1de55d0d3815, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Image
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: 5797805570552003858}
|
||||
m_Mask: {fileID: 0}
|
||||
m_Motions: []
|
||||
m_Behaviours: []
|
||||
m_BlendingMode: 0
|
||||
m_SyncedLayerIndex: -1
|
||||
m_DefaultWeight: 0
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1107 &5797805570552003858
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Base Layer
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -7894766971529659986}
|
||||
m_Position: {x: 260, y: 120, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 50, y: 20, z: 0}
|
||||
m_EntryPosition: {x: 50, y: 120, z: 0}
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: -7894766971529659986}
|
@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba1af5f887a74c44190010c05f6748ee
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Examples/Image.controller
|
||||
uploadId: 766200
|
BIN
Assets/Plugins/Animate UI Materials/Examples/Texture 1.png
(Stored with Git LFS)
Normal file
BIN
Assets/Plugins/Animate UI Materials/Examples/Texture 1.png
(Stored with Git LFS)
Normal file
Binary file not shown.
131
Assets/Plugins/Animate UI Materials/Examples/Texture 1.png.meta
Normal file
131
Assets/Plugins/Animate UI Materials/Examples/Texture 1.png.meta
Normal file
@ -0,0 +1,131 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 212f10d282ba58242b61e8ad04af89d1
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
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: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Examples/Texture 1.png
|
||||
uploadId: 766200
|
BIN
Assets/Plugins/Animate UI Materials/Examples/Texture 2.png
(Stored with Git LFS)
Normal file
BIN
Assets/Plugins/Animate UI Materials/Examples/Texture 2.png
(Stored with Git LFS)
Normal file
Binary file not shown.
131
Assets/Plugins/Animate UI Materials/Examples/Texture 2.png.meta
Normal file
131
Assets/Plugins/Animate UI Materials/Examples/Texture 2.png.meta
Normal file
@ -0,0 +1,131 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f5588e963e393074a943ed2b8a86fb1a
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Examples/Texture 2.png
|
||||
uploadId: 766200
|
50
Assets/Plugins/Animate UI Materials/Examples/UI Overlay.mat
Normal file
50
Assets/Plugins/Animate UI Materials/Examples/UI Overlay.mat
Normal file
@ -0,0 +1,50 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: UI Overlay
|
||||
m_Shader: {fileID: 4800000, guid: d8010de858794e33a27636c6183ce4d2, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OverlayTex:
|
||||
m_Texture: {fileID: 2800000, guid: 212f10d282ba58242b61e8ad04af89d1, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _ColorMask: 15
|
||||
- _OffsetX: 0
|
||||
- _OffsetY: 0
|
||||
- _Rotation: 0
|
||||
- _Scale: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UseUIAlphaClip: 0
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _OverlayColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: da1cb4f2f1551d948a65d84276aef03d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 253197
|
||||
packageName: Animate UI Materials
|
||||
packageVersion: 1.3.0
|
||||
assetPath: Assets/Plugins/Animate UI Materials/Examples/UI Overlay.mat
|
||||
uploadId: 766200
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user