OctoCore 0.0.1
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0",
|
||||||
|
"components": [
|
||||||
|
"Microsoft.VisualStudio.Workload.ManagedGame"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3a9e4552285fa3744ab8bb338f4cd546
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f97afdd7824eac847a26da67bc33ae4f
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
%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: c12f834718fa7c2479f8a954db0682ec, type: 3}
|
||||||
|
m_Name: settings
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
Save:
|
||||||
|
Booleans:
|
||||||
|
- {fileID: 11400000, guid: 9db22356e41f3ef4eb214c98f0d309c3, type: 2}
|
||||||
|
Integers: []
|
||||||
|
Floats: []
|
||||||
|
Strings:
|
||||||
|
- {fileID: 11400000, guid: a186262be747dae448e59cbe43ebe286, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 70ce020f0ed1ad24a94c854da5d6538e, type: 2}
|
||||||
|
Vectors: []
|
||||||
|
Mapping:
|
||||||
|
InputActionAsset: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Actions:
|
||||||
|
- Name: Move
|
||||||
|
MapName: Player
|
||||||
|
Action: -560403583
|
||||||
|
Reference: {fileID: -1680190386980627800, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Look
|
||||||
|
MapName: Player
|
||||||
|
Action: -916633937
|
||||||
|
Reference: {fileID: -5630151704836100654, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Attack
|
||||||
|
MapName: Player
|
||||||
|
Action: -350647692
|
||||||
|
Reference: {fileID: 1120369429361536294, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Interact
|
||||||
|
MapName: Player
|
||||||
|
Action: -2066596810
|
||||||
|
Reference: {fileID: 1781555164194001046, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Crouch
|
||||||
|
MapName: Player
|
||||||
|
Action: 510396034
|
||||||
|
Reference: {fileID: 7040659881675835329, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Jump
|
||||||
|
MapName: Player
|
||||||
|
Action: -1877919292
|
||||||
|
Reference: {fileID: -2099379676528639254, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Previous
|
||||||
|
MapName: Player
|
||||||
|
Action: -1566477299
|
||||||
|
Reference: {fileID: 2411907206095950430, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Next
|
||||||
|
MapName: Player
|
||||||
|
Action: -1266215613
|
||||||
|
Reference: {fileID: 7476244043514120974, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Sprint
|
||||||
|
MapName: Player
|
||||||
|
Action: 1115268836
|
||||||
|
Reference: {fileID: -7471211009204490832, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Navigate
|
||||||
|
MapName: UI
|
||||||
|
Action: -1768796602
|
||||||
|
Reference: {fileID: -8784545083839296357, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Submit
|
||||||
|
MapName: UI
|
||||||
|
Action: -1966140153
|
||||||
|
Reference: {fileID: 392368643174621059, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Cancel
|
||||||
|
MapName: UI
|
||||||
|
Action: 728645621
|
||||||
|
Reference: {fileID: 7727032971491509709, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Point
|
||||||
|
MapName: UI
|
||||||
|
Action: 1869126131
|
||||||
|
Reference: {fileID: -1654692200621890270, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Click
|
||||||
|
MapName: UI
|
||||||
|
Action: -468029055
|
||||||
|
Reference: {fileID: 3001919216989983466, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: RightClick
|
||||||
|
MapName: UI
|
||||||
|
Action: -1344942599
|
||||||
|
Reference: {fileID: -4090225696740746782, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: MiddleClick
|
||||||
|
MapName: UI
|
||||||
|
Action: 1604886768
|
||||||
|
Reference: {fileID: -2185481485913320682, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: ScrollWheel
|
||||||
|
MapName: UI
|
||||||
|
Action: 207319517
|
||||||
|
Reference: {fileID: 6240969308177333660, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: TrackedDevicePosition
|
||||||
|
MapName: UI
|
||||||
|
Action: 1110904968
|
||||||
|
Reference: {fileID: 6564999863303420839, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: TrackedDeviceOrientation
|
||||||
|
MapName: UI
|
||||||
|
Action: 1632432327
|
||||||
|
Reference: {fileID: 7970375526676320489, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
Languages:
|
||||||
|
Default: 1
|
||||||
|
SaveWritten: {fileID: 11400000, guid: 32dca1ce9df9b064b8a0a2b3ab0fd8dd, type: 2}
|
||||||
|
SaveAudio: {fileID: 11400000, guid: 225ffb773e59f8141bacbba2a9ede731, type: 2}
|
||||||
|
Overrides: []
|
||||||
|
Scenes:
|
||||||
|
SceneDatas: []
|
||||||
|
UseAddressables: 0
|
||||||
|
FadeSettings:
|
||||||
|
FadeInDuration: 0.5
|
||||||
|
FadeOutDuration: 0.5
|
||||||
|
FadeColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
Ui:
|
||||||
|
ReferenceSize: {x: 1440, y: 3120}
|
||||||
|
IconsBackground:
|
||||||
|
DefaultButton: {fileID: 0}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9341bb9f336f4244db5e26afbe143ec6
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 434339f294ddfb84da4645dd299e50f5
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
{
|
||||||
|
"GeneratedFrom": "PlayerController",
|
||||||
|
"GeneratedOn": "2026-02-09 21:55:05",
|
||||||
|
"Actions": [
|
||||||
|
{
|
||||||
|
"Name": "Player_Move",
|
||||||
|
"Hash": -560403583,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Move"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Look",
|
||||||
|
"Hash": -916633937,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Look"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Attack",
|
||||||
|
"Hash": -350647692,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Attack"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Interact",
|
||||||
|
"Hash": -2066596810,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Crouch",
|
||||||
|
"Hash": 510396034,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Crouch"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Jump",
|
||||||
|
"Hash": -1877919292,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Jump"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Previous",
|
||||||
|
"Hash": -1566477299,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Previous"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Next",
|
||||||
|
"Hash": -1266215613,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Next"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Sprint",
|
||||||
|
"Hash": 1115268836,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Sprint"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Diapason",
|
||||||
|
"Hash": -1931519977,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Diapason"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Player_Fire",
|
||||||
|
"Hash": 380421744,
|
||||||
|
"MapName": "Player",
|
||||||
|
"ActionName": "Fire"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_Navigate",
|
||||||
|
"Hash": -1768796602,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "Navigate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_Submit",
|
||||||
|
"Hash": -1966140153,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "Submit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_Cancel",
|
||||||
|
"Hash": 728645621,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "Cancel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_Point",
|
||||||
|
"Hash": 1869126131,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "Point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_Click",
|
||||||
|
"Hash": -468029055,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "Click"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_RightClick",
|
||||||
|
"Hash": -1344942599,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "RightClick"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_MiddleClick",
|
||||||
|
"Hash": 1604886768,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "MiddleClick"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_ScrollWheel",
|
||||||
|
"Hash": 207319517,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "ScrollWheel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_TrackedDevicePosition",
|
||||||
|
"Hash": 1110904968,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "TrackedDevicePosition"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "UI_TrackedDeviceOrientation",
|
||||||
|
"Hash": 1632432327,
|
||||||
|
"MapName": "UI",
|
||||||
|
"ActionName": "TrackedDeviceOrientation"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5fe7d0a695b6514439b9ebb525e66a0f
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 70f67389b1a2bed48a355cfb0763e86d
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &8589544845245727413
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6194350059673118374}
|
||||||
|
- component: {fileID: 4562949134636194362}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: OctoCore
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6194350059673118374
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8589544845245727413}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &4562949134636194362
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8589544845245727413}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a699f971e869ebf46915f66af5dc8102, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::OctoCore.OctoCore
|
||||||
|
Settings: {fileID: 11400000, guid: 9341bb9f336f4244db5e26afbe143ec6, type: 2}
|
||||||
|
_platform:
|
||||||
|
_current: 0
|
||||||
|
_controller: 0
|
||||||
|
_save:
|
||||||
|
Booleans: []
|
||||||
|
Integers: []
|
||||||
|
Floats: []
|
||||||
|
Strings: []
|
||||||
|
Vectors: []
|
||||||
|
_inputs:
|
||||||
|
Actions: []
|
||||||
|
_localization:
|
||||||
|
WrittenLanguage: 0
|
||||||
|
AudioLanguage: 0
|
||||||
|
_ui:
|
||||||
|
GlobalScale: 1
|
||||||
|
ScreenSize: {x: 0, y: 0}
|
||||||
|
_navigation:
|
||||||
|
CurrentScene: {fileID: 0}
|
||||||
|
PendingTeleporter: {fileID: 0}
|
||||||
|
_development:
|
||||||
|
Log: 0
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 96643caadeda8ad4295e3f293f527994
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &4347882179124040567
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 136799558801349280}
|
||||||
|
- component: {fileID: 6424964998645044441}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: OctoEvents
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &136799558801349280
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4347882179124040567}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &6424964998645044441
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4347882179124040567}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 86cab3031ee84484985b55a4e37af012, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::OctoCoreEvents
|
||||||
|
_onPlatformInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onSaveInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onInputsInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onLocalizationInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onScenesInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onUiInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onOctoCoreInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f8645ecc23a530441a2ef474d90afcec
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &3352382525843710285
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2854166076162324619}
|
||||||
|
- component: {fileID: 417140402366356801}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: OctoLink
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &2854166076162324619
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3352382525843710285}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &417140402366356801
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3352382525843710285}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: aca1ddad5b073a9488d37617a5fd8d9a, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::OctoLink
|
||||||
|
_octoCore: {fileID: 8589544845245727413, guid: 96643caadeda8ad4295e3f293f527994, type: 3}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5b26c779fcba62a49931d3f615653767
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,494 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2101508725665932610
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1836339402272228918}
|
||||||
|
- component: {fileID: 3666612565151794712}
|
||||||
|
- component: {fileID: 6053283114444666027}
|
||||||
|
- component: {fileID: 6989128982853398086}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Camera Player
|
||||||
|
m_TagString: MainCamera
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1836339402272228918
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2101508725665932610}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 1.562, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 8725966219179855439}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!20 &3666612565151794712
|
||||||
|
Camera:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2101508725665932610}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 2
|
||||||
|
m_ClearFlags: 1
|
||||||
|
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.1
|
||||||
|
far clip plane: 1000
|
||||||
|
field of view: 80
|
||||||
|
orthographic: 0
|
||||||
|
orthographic size: 5
|
||||||
|
m_Depth: 0
|
||||||
|
m_CullingMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_RenderingPath: -1
|
||||||
|
m_TargetTexture: {fileID: 0}
|
||||||
|
m_TargetDisplay: 0
|
||||||
|
m_TargetEye: 3
|
||||||
|
m_HDR: 1
|
||||||
|
m_AllowMSAA: 1
|
||||||
|
m_AllowDynamicResolution: 0
|
||||||
|
m_ForceIntoRT: 0
|
||||||
|
m_OcclusionCulling: 1
|
||||||
|
m_StereoConvergence: 10
|
||||||
|
m_StereoSeparation: 0.022
|
||||||
|
--- !u!81 &6053283114444666027
|
||||||
|
AudioListener:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2101508725665932610}
|
||||||
|
m_Enabled: 1
|
||||||
|
--- !u!114 &6989128982853398086
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2101508725665932610}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
|
||||||
|
m_RenderShadows: 1
|
||||||
|
m_RequiresDepthTextureOption: 2
|
||||||
|
m_RequiresOpaqueTextureOption: 2
|
||||||
|
m_CameraType: 0
|
||||||
|
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_TaaSettings:
|
||||||
|
m_Quality: 3
|
||||||
|
m_FrameInfluence: 0.1
|
||||||
|
m_JitterScale: 1
|
||||||
|
m_MipBias: 0
|
||||||
|
m_VarianceClampScale: 0.9
|
||||||
|
m_ContrastAdaptiveSharpening: 0
|
||||||
|
m_Version: 2
|
||||||
|
--- !u!1 &8162540767767967414
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8725966219179855439}
|
||||||
|
- component: {fileID: 1735456339091181674}
|
||||||
|
- component: {fileID: 5295567073180248356}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: OctoPlayerFP
|
||||||
|
m_TagString: Player
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &8725966219179855439
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8162540767767967414}
|
||||||
|
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: 1836339402272228918}
|
||||||
|
- {fileID: 2639365499984405449}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!143 &1735456339091181674
|
||||||
|
CharacterController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8162540767767967414}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Height: 1.8
|
||||||
|
m_Radius: 0.3
|
||||||
|
m_SlopeLimit: 45
|
||||||
|
m_StepOffset: 0.3
|
||||||
|
m_SkinWidth: 0.08
|
||||||
|
m_MinMoveDistance: 0.001
|
||||||
|
m_Center: {x: 0, y: 0.94, z: 0}
|
||||||
|
--- !u!114 &5295567073180248356
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8162540767767967414}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c85c0434d95406f4da8daa149ba90838, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: OctoCore.Runtime::OctoCore.Components.OctoPlayer
|
||||||
|
_references:
|
||||||
|
Controller: {fileID: 1735456339091181674}
|
||||||
|
_settings:
|
||||||
|
Mode: 0
|
||||||
|
Orientation: 1
|
||||||
|
WalkSpeed: 10
|
||||||
|
RunSpeed: 20
|
||||||
|
JumpDuration: 0.4
|
||||||
|
JumpHeight: 0.4
|
||||||
|
Gravity: 9.8
|
||||||
|
_mapping:
|
||||||
|
MoveAction: -560403583
|
||||||
|
LookAction: -916633937
|
||||||
|
RunAction: 1115268836
|
||||||
|
JumpAction: -1877919292
|
||||||
|
_firstPerson:
|
||||||
|
Camera: {fileID: 3666612565151794712}
|
||||||
|
SensitivityX: 0.1
|
||||||
|
SensitivityY: 0.1
|
||||||
|
MinPitch: -80
|
||||||
|
MaxPitch: 80
|
||||||
|
--- !u!1001 &2564566619627430770
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 8725966219179855439}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 899615586671794689, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Arms
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0.1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -0.2685
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0.2737
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: -0.3780753
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.44424582
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0.5555247
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.5925345
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 161.191
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -89.278015
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 84.124
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2656140929319940858, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.9961947
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2656140929319940858, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0.08715578
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2656140929319940858, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -10
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2736084570026017097, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.9961947
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2736084570026017097, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.08715578
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2736084570026017097, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 10
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.35385045
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.112266205
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.058453187
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.92669815
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: -1.655
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 14.451
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 137.992
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.11226625
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: -0.35385033
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.92669827
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0.05845286
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 1.655
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 165.549
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: -42.008
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -0.1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -0.2685
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0.2737
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.44424608
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.37807533
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.59253436
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.5555246
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 198.809
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -90.721985
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: -95.87601
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.9622502
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.084186025
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.25783423
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0.02255758
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 30
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.9622502
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.084186025
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0.25783414
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.022557573
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -30
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
--- !u!4 &2639365499984405449 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2564566619627430770}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 524ca0dabcf93844ea5f981410f44310
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e851edaaa3c416e48a03232754e26760
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,274 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
using UnityEditor;
|
||||||
|
using System.IO;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace OctoCore.Inputs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Automatically restores OctoActions.cs from backup JSON when package is updated.
|
||||||
|
/// </summary>
|
||||||
|
[InitializeOnLoad]
|
||||||
|
public class OctoActionsPostImport
|
||||||
|
{
|
||||||
|
private const string BACKUP_FILE = "Assets/OctoCore/Editor/OctoActions.json";
|
||||||
|
|
||||||
|
private static string GetActionsFilePath()
|
||||||
|
{
|
||||||
|
// Find OctoInputs.cs to locate the package
|
||||||
|
string[] guids = AssetDatabase.FindAssets("OctoInputs t:script");
|
||||||
|
foreach (string guid in guids)
|
||||||
|
{
|
||||||
|
string path = AssetDatabase.GUIDToAssetPath(guid);
|
||||||
|
if (path.Contains("/Inputs/OctoInputs.cs"))
|
||||||
|
{
|
||||||
|
// Found it! Same directory
|
||||||
|
string directory = Path.GetDirectoryName(path);
|
||||||
|
return Path.Combine(directory, "OctoActions.cs").Replace("\\", "/");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback
|
||||||
|
return "Assets/OctoCore/Generated/OctoActions.cs";
|
||||||
|
}
|
||||||
|
|
||||||
|
static OctoActionsPostImport()
|
||||||
|
{
|
||||||
|
// Restore from backup if needed
|
||||||
|
EditorApplication.delayCall += RestoreFromBackup;
|
||||||
|
}
|
||||||
|
|
||||||
|
[MenuItem("OctoCore/Input Actions/Restore from Backup")]
|
||||||
|
public static void ForceRestore()
|
||||||
|
{
|
||||||
|
RestoreFromBackup();
|
||||||
|
}
|
||||||
|
|
||||||
|
[MenuItem("OctoCore/Input Actions/Reset to Template")]
|
||||||
|
public static void ResetToTemplate()
|
||||||
|
{
|
||||||
|
if (!EditorUtility.DisplayDialog(
|
||||||
|
"Reset OctoActions",
|
||||||
|
"This will reset OctoActions.cs to the template (None = 0).\n\n" +
|
||||||
|
"The backup JSON will be kept, so you can restore later.\n\n" +
|
||||||
|
"Are you sure?",
|
||||||
|
"Reset",
|
||||||
|
"Cancel"))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string actionsFile = GetActionsFilePath();
|
||||||
|
CreateTemplate(actionsFile);
|
||||||
|
AssetDatabase.Refresh();
|
||||||
|
|
||||||
|
Debug.Log("[OctoCore] OctoActions.cs reset to template.");
|
||||||
|
}
|
||||||
|
|
||||||
|
[MenuItem("OctoCore/Input Actions/Delete Backup")]
|
||||||
|
public static void DeleteBackup()
|
||||||
|
{
|
||||||
|
if (!File.Exists(BACKUP_FILE))
|
||||||
|
{
|
||||||
|
EditorUtility.DisplayDialog("No Backup", "No backup file found.", "OK");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!EditorUtility.DisplayDialog(
|
||||||
|
"Delete Backup",
|
||||||
|
"This will permanently delete the backup JSON.\n\n" +
|
||||||
|
"You won't be able to restore your actions after a package update.\n\n" +
|
||||||
|
"Are you sure?",
|
||||||
|
"Delete",
|
||||||
|
"Cancel"))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
File.Delete(BACKUP_FILE);
|
||||||
|
|
||||||
|
// Delete meta file too
|
||||||
|
string metaFile = BACKUP_FILE + ".meta";
|
||||||
|
if (File.Exists(metaFile))
|
||||||
|
{
|
||||||
|
File.Delete(metaFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
AssetDatabase.Refresh();
|
||||||
|
Debug.Log("[OctoCore] Backup file deleted.");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void RestoreFromBackup()
|
||||||
|
{
|
||||||
|
string actionsFile = GetActionsFilePath();
|
||||||
|
|
||||||
|
// Check if backup exists
|
||||||
|
if (!File.Exists(BACKUP_FILE))
|
||||||
|
{
|
||||||
|
Debug.Log("[OctoCore] No backup found. Generate your actions via OctoSettings.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if actions file needs restoration (is it the template?)
|
||||||
|
if (File.Exists(actionsFile))
|
||||||
|
{
|
||||||
|
string currentContent = File.ReadAllText(actionsFile);
|
||||||
|
|
||||||
|
// If it contains real actions (not just None), skip restoration
|
||||||
|
if (currentContent.Contains("_PLACEHOLDER_") || currentContent.Contains("None = 0"))
|
||||||
|
{
|
||||||
|
Debug.Log("[OctoCore] Restoring actions from backup...");
|
||||||
|
RestoreActionsFile(actionsFile);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// File already has real actions, don't overwrite
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// File doesn't exist, restore it
|
||||||
|
RestoreActionsFile(actionsFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void RestoreActionsFile(string actionsFile)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Read backup JSON
|
||||||
|
string json = File.ReadAllText(BACKUP_FILE);
|
||||||
|
var backup = JsonUtility.FromJson<ActionsBackup>(json);
|
||||||
|
|
||||||
|
if (backup == null || backup.Actions == null || backup.Actions.Count == 0)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[OctoCore] Backup file is empty or invalid.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate enum file from backup
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
|
sb.AppendLine("// ═══════════════════════════════════════════════════════════════════════════");
|
||||||
|
sb.AppendLine("// AUTO-GENERATED FILE - DO NOT EDIT MANUALLY");
|
||||||
|
sb.AppendLine("// ═══════════════════════════════════════════════════════════════════════════");
|
||||||
|
sb.AppendLine("// Restored from backup by OctoActionsPostImport");
|
||||||
|
sb.AppendLine($"// Original source: {backup.GeneratedFrom}");
|
||||||
|
sb.AppendLine($"// Originally generated on: {backup.GeneratedOn}");
|
||||||
|
sb.AppendLine($"// Restored on: {System.DateTime.Now:yyyy-MM-dd HH:mm:ss}");
|
||||||
|
sb.AppendLine("// ═══════════════════════════════════════════════════════════════════════════");
|
||||||
|
sb.AppendLine();
|
||||||
|
sb.AppendLine("namespace OctoCore.Inputs");
|
||||||
|
sb.AppendLine("{");
|
||||||
|
sb.AppendLine(" /// <summary>");
|
||||||
|
sb.AppendLine(" /// Actions from Unity Input Actions.");
|
||||||
|
sb.AppendLine($" /// Generated from: {backup.GeneratedFrom}");
|
||||||
|
sb.AppendLine(" /// Format: ActionMap_ActionName");
|
||||||
|
sb.AppendLine(" /// Values are stable hashes to prevent serialization issues when regenerating.");
|
||||||
|
sb.AppendLine(" /// </summary>");
|
||||||
|
sb.AppendLine(" public enum OctoActions");
|
||||||
|
sb.AppendLine(" {");
|
||||||
|
|
||||||
|
for (int i = 0; i < backup.Actions.Count; i++)
|
||||||
|
{
|
||||||
|
var action = backup.Actions[i];
|
||||||
|
|
||||||
|
if (i > 0)
|
||||||
|
sb.AppendLine(",");
|
||||||
|
|
||||||
|
sb.AppendLine($" /// <summary>{action.MapName} > {action.ActionName}</summary>");
|
||||||
|
sb.Append($" {action.Name} = {action.Hash}");
|
||||||
|
}
|
||||||
|
sb.AppendLine();
|
||||||
|
|
||||||
|
sb.AppendLine(" }");
|
||||||
|
sb.AppendLine("}");
|
||||||
|
|
||||||
|
// Ensure directory exists
|
||||||
|
string directory = Path.GetDirectoryName(actionsFile);
|
||||||
|
if (!Directory.Exists(directory))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(directory);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write restored file
|
||||||
|
File.WriteAllText(actionsFile, sb.ToString());
|
||||||
|
AssetDatabase.Refresh();
|
||||||
|
|
||||||
|
Debug.Log($"[OctoCore] Actions successfully restored from backup! ({backup.Actions.Count} actions)");
|
||||||
|
}
|
||||||
|
catch (System.Exception ex)
|
||||||
|
{
|
||||||
|
Debug.LogError($"[OctoCore] Failed to restore actions from backup: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void CreateTemplate(string actionsFile)
|
||||||
|
{
|
||||||
|
string template =
|
||||||
|
@"// ═══════════════════════════════════════════════════════════════════════════
|
||||||
|
// TEMPLATE FILE
|
||||||
|
// ═══════════════════════════════════════════════════════════════════════════
|
||||||
|
// This is a template file for OctoActions.
|
||||||
|
//
|
||||||
|
// TO GENERATE YOUR REAL ACTIONS:
|
||||||
|
// 1. Open OctoSettings in the Inspector
|
||||||
|
// 2. Go to Mapping section
|
||||||
|
// 3. Assign your Input Action Asset
|
||||||
|
// 4. Click 'Generate Inputs' button
|
||||||
|
//
|
||||||
|
// This template allows the package to compile before actions are generated.
|
||||||
|
// ═══════════════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
namespace OctoCore.Inputs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Template enum for input actions.
|
||||||
|
/// Generate your real actions via OctoSettings > Mapping > Generate Inputs.
|
||||||
|
/// </summary>
|
||||||
|
public enum OctoActions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Placeholder value.
|
||||||
|
/// This will be replaced when you generate your input actions.
|
||||||
|
/// </summary>
|
||||||
|
None = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
";
|
||||||
|
|
||||||
|
// Ensure directory exists
|
||||||
|
string directory = Path.GetDirectoryName(actionsFile);
|
||||||
|
if (!Directory.Exists(directory))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(directory);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write template file
|
||||||
|
File.WriteAllText(actionsFile, template);
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class ActionBackupData
|
||||||
|
{
|
||||||
|
public string Name;
|
||||||
|
public int Hash;
|
||||||
|
public string MapName;
|
||||||
|
public string ActionName;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class ActionsBackup
|
||||||
|
{
|
||||||
|
public string GeneratedFrom;
|
||||||
|
public string GeneratedOn;
|
||||||
|
public List<ActionBackupData> Actions;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1341efd2cf48e6a42b0e4d82542aa728
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"name": "OctoCore.Editor",
|
||||||
|
"rootNamespace": "OctoCore",
|
||||||
|
"references": [
|
||||||
|
"OctoCore.Runtime",
|
||||||
|
"Unity.InputSystem"
|
||||||
|
],
|
||||||
|
"includePlatforms": [
|
||||||
|
"Editor"
|
||||||
|
],
|
||||||
|
"excludePlatforms": [],
|
||||||
|
"allowUnsafeCode": false,
|
||||||
|
"overrideReferences": false,
|
||||||
|
"precompiledReferences": [],
|
||||||
|
"autoReferenced": true,
|
||||||
|
"defineConstraints": [],
|
||||||
|
"versionDefines": [],
|
||||||
|
"noEngineReferences": false
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5506ba4596c093544967197d0014b667
|
||||||
|
AssemblyDefinitionImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore.LevelBuilder
|
||||||
|
{
|
||||||
|
/*[CustomEditor(typeof(OctoLevelGrid))]
|
||||||
|
public class OctoLevelGridEditor : Editor
|
||||||
|
{
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
DrawDefaultInspector();
|
||||||
|
|
||||||
|
OctoLevelGrid grid = (OctoLevelGrid)target;
|
||||||
|
|
||||||
|
EditorGUILayout.Space(10);
|
||||||
|
|
||||||
|
if (GUILayout.Button("Rebuild All Tiles"))
|
||||||
|
{
|
||||||
|
grid.RebuildAllTiles();
|
||||||
|
Debug.Log("[OctoLevelGrid] All tiles rebuilt.");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GUILayout.Button("Update All Wall Shapes"))
|
||||||
|
{
|
||||||
|
grid.UpdateAllWallShapes();
|
||||||
|
Debug.Log("[OctoLevelGrid] All wall shapes updated.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a8928c5f72a929c489249d7e786c24fa
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore.Localization.Editor
|
||||||
|
{
|
||||||
|
[CustomEditor(typeof(OctoLocalizedTextData))]
|
||||||
|
public class OctoLocalizedTextDataEditor : UnityEditor.Editor
|
||||||
|
{
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
//DrawDefaultInspector();
|
||||||
|
|
||||||
|
OctoLocalizedTextData data = (OctoLocalizedTextData)target;
|
||||||
|
|
||||||
|
//if (GUILayout.Button("Init Languages")) data.Init();
|
||||||
|
//EditorGUILayout.Space();
|
||||||
|
|
||||||
|
foreach (string lang in Enum.GetNames(typeof(OctoLanguages)))
|
||||||
|
{
|
||||||
|
if (!data.Languages.ContainsKey(lang))
|
||||||
|
data.Languages[lang] = string.Empty;
|
||||||
|
|
||||||
|
EditorGUILayout.LabelField(lang.ToString(), EditorStyles.boldLabel);
|
||||||
|
data.Languages[lang] = EditorGUILayout.TextArea(data.Languages[lang], GUILayout.MinHeight(40));
|
||||||
|
EditorGUILayout.Space(5);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GUI.changed)
|
||||||
|
EditorUtility.SetDirty(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1d98f82f8b1fb3746884002ecd24fed2
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore.Localization.Editor
|
||||||
|
{
|
||||||
|
[CustomEditor(typeof(OctoLocalizedText))]
|
||||||
|
public class OctoLocalizedTextEditor : UnityEditor.Editor
|
||||||
|
{
|
||||||
|
SerializedProperty dataProp;
|
||||||
|
SerializedProperty textProp;
|
||||||
|
SerializedProperty textMeshProProp;
|
||||||
|
SerializedProperty textMeshProUGUIProp;
|
||||||
|
|
||||||
|
void OnEnable()
|
||||||
|
{
|
||||||
|
dataProp = serializedObject.FindProperty("data");
|
||||||
|
textProp = serializedObject.FindProperty("text");
|
||||||
|
textMeshProProp = serializedObject.FindProperty("textMeshPro");
|
||||||
|
textMeshProUGUIProp = serializedObject.FindProperty("textMeshProUGUI");
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
serializedObject.Update();
|
||||||
|
|
||||||
|
EditorGUILayout.PropertyField(dataProp);
|
||||||
|
|
||||||
|
GUI.enabled = false;
|
||||||
|
|
||||||
|
if (textProp.objectReferenceValue != null)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(textProp, new GUIContent("Text"));
|
||||||
|
}
|
||||||
|
else if (textMeshProProp.objectReferenceValue != null)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(textMeshProProp, new GUIContent("Text"));
|
||||||
|
}
|
||||||
|
else if (textMeshProUGUIProp.objectReferenceValue != null)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(textMeshProUGUIProp, new GUIContent("Text"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
EditorGUILayout.HelpBox("No text componant found.", MessageType.Info);
|
||||||
|
}
|
||||||
|
|
||||||
|
GUI.enabled = true;
|
||||||
|
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d0318152d87e6de409c214f43199b6de
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore.Components.Editor
|
||||||
|
{
|
||||||
|
[CustomPropertyDrawer(typeof(OctoReadOnlyAttribute))]
|
||||||
|
public class OCtoReadOnlyEditor: PropertyDrawer
|
||||||
|
{
|
||||||
|
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
return EditorGUI.GetPropertyHeight(property, label, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
GUI.enabled = false;
|
||||||
|
EditorGUI.PropertyField(position, property, label, true);
|
||||||
|
GUI.enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7f4b5fb27a48beb4698f946e9513bcf9
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
|
||||||
|
namespace OctoCore.Components.Editor
|
||||||
|
{
|
||||||
|
[CustomEditor(typeof(OctoSaveEvent))]
|
||||||
|
public class OctoSaveEventEditor : UnityEditor.Editor
|
||||||
|
{
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
serializedObject.Update();
|
||||||
|
|
||||||
|
SerializedProperty dataProp = serializedObject.FindProperty("data");
|
||||||
|
EditorGUILayout.PropertyField(dataProp);
|
||||||
|
|
||||||
|
OctoSaveEvent script = (OctoSaveEvent)target;
|
||||||
|
global::OctoCore.Save.Data.OctoData data = dataProp.objectReferenceValue as global::OctoCore.Save.Data.OctoData;
|
||||||
|
|
||||||
|
if (data != null)
|
||||||
|
{
|
||||||
|
if (data is global::OctoCore.Save.Data.OctoDataBool)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("invertValue"));
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitBool"));
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeBool"));
|
||||||
|
}
|
||||||
|
else if (data is global::OctoCore.Save.Data.OctoDataInt)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitInt"));
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeInt"));
|
||||||
|
}
|
||||||
|
else if (data is global::OctoCore.Save.Data.OctoDataFloat)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitFloat"));
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeFloat"));
|
||||||
|
}
|
||||||
|
else if (data is global::OctoCore.Save.Data.OctoDataString)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitString"));
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeString"));
|
||||||
|
}
|
||||||
|
else if (data is global::OctoCore.Save.Data.OctoDataVector)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitVector"));
|
||||||
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeVector"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bbf314ffdf8b0384589bfb20c78c5b67
|
||||||
@@ -0,0 +1,257 @@
|
|||||||
|
using OctoCore.Inputs;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore
|
||||||
|
{
|
||||||
|
[CustomEditor(typeof(OctoSettings))]
|
||||||
|
public class OctoSettingsEditor : UnityEditor.Editor
|
||||||
|
{
|
||||||
|
SerializedProperty saveProp;
|
||||||
|
SerializedProperty saveBooleansProp;
|
||||||
|
SerializedProperty saveFloatsProp;
|
||||||
|
SerializedProperty saveIntegersProp;
|
||||||
|
SerializedProperty saveStringsProp;
|
||||||
|
SerializedProperty saveVectorsProp;
|
||||||
|
|
||||||
|
SerializedProperty mappingProp;
|
||||||
|
SerializedProperty mappingInputActionAssetProp;
|
||||||
|
SerializedProperty mappingActionsProp;
|
||||||
|
|
||||||
|
SerializedProperty languagesProp;
|
||||||
|
SerializedProperty languagesDefaultProp;
|
||||||
|
SerializedProperty languagesSaveWrittenProp;
|
||||||
|
SerializedProperty languagesSaveAudioProp;
|
||||||
|
SerializedProperty languagesOverridesProp;
|
||||||
|
|
||||||
|
SerializedProperty scenesProp;
|
||||||
|
SerializedProperty scenesSceneDatasProp;
|
||||||
|
SerializedProperty scenesUseAddressablesProp;
|
||||||
|
SerializedProperty scenesFadeSettingsProp;
|
||||||
|
|
||||||
|
SerializedProperty UiProp;
|
||||||
|
SerializedProperty UiReferenceSizeProp;
|
||||||
|
SerializedProperty UiIconsBackgroundProp;
|
||||||
|
|
||||||
|
bool foldoutSave;
|
||||||
|
bool foldoutMapping;
|
||||||
|
bool foldoutLanguages;
|
||||||
|
bool foldoutScenes;
|
||||||
|
bool foldoutUi;
|
||||||
|
|
||||||
|
void OnEnable()
|
||||||
|
{
|
||||||
|
saveProp = serializedObject.FindProperty("Save");
|
||||||
|
saveBooleansProp = saveProp.FindPropertyRelative("Booleans");
|
||||||
|
saveIntegersProp = saveProp.FindPropertyRelative("Integers");
|
||||||
|
saveFloatsProp = saveProp.FindPropertyRelative("Floats");
|
||||||
|
saveStringsProp = saveProp.FindPropertyRelative("Strings");
|
||||||
|
saveVectorsProp = saveProp.FindPropertyRelative("Vectors");
|
||||||
|
|
||||||
|
mappingProp = serializedObject.FindProperty("Mapping");
|
||||||
|
mappingInputActionAssetProp = mappingProp.FindPropertyRelative("InputActionAsset");
|
||||||
|
mappingActionsProp = mappingProp.FindPropertyRelative("Actions");
|
||||||
|
|
||||||
|
languagesProp = serializedObject.FindProperty("Languages");
|
||||||
|
languagesDefaultProp = languagesProp.FindPropertyRelative("Default");
|
||||||
|
languagesSaveWrittenProp = languagesProp.FindPropertyRelative("SaveWritten");
|
||||||
|
languagesSaveAudioProp = languagesProp.FindPropertyRelative("SaveAudio");
|
||||||
|
languagesOverridesProp = languagesProp.FindPropertyRelative("Overrides");
|
||||||
|
|
||||||
|
scenesProp = serializedObject.FindProperty("Scenes");
|
||||||
|
scenesSceneDatasProp = scenesProp.FindPropertyRelative("SceneDatas");
|
||||||
|
scenesUseAddressablesProp = scenesProp.FindPropertyRelative("UseAddressables");
|
||||||
|
scenesFadeSettingsProp = scenesProp.FindPropertyRelative("FadeSettings");
|
||||||
|
|
||||||
|
UiProp = serializedObject.FindProperty("Ui");
|
||||||
|
UiReferenceSizeProp = UiProp.FindPropertyRelative("ReferenceSize");
|
||||||
|
UiIconsBackgroundProp = UiProp.FindPropertyRelative("IconsBackground");
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
OctoSettings data = (OctoSettings)target;
|
||||||
|
|
||||||
|
serializedObject.Update();
|
||||||
|
|
||||||
|
GUIStyle foldout = new GUIStyle(EditorStyles.foldout) { fontStyle = FontStyle.Bold };
|
||||||
|
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
// SAVE
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
EditorGUILayout.BeginVertical("box");
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
|
||||||
|
foldoutSave = EditorGUILayout.Foldout(foldoutSave, "SAVE", true, foldout);
|
||||||
|
|
||||||
|
if (foldoutSave)
|
||||||
|
{
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
|
||||||
|
if (GUILayout.Button("Get All Datas"))
|
||||||
|
{
|
||||||
|
data.GetAllDatas();
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
EditorGUILayout.PropertyField(saveBooleansProp);
|
||||||
|
EditorGUILayout.PropertyField(saveFloatsProp);
|
||||||
|
EditorGUILayout.PropertyField(saveIntegersProp);
|
||||||
|
EditorGUILayout.PropertyField(saveStringsProp);
|
||||||
|
EditorGUILayout.PropertyField(saveVectorsProp);
|
||||||
|
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
EditorGUILayout.Space(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
EditorGUILayout.EndVertical();
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
// MAPPING
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
EditorGUILayout.BeginVertical("box");
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
|
||||||
|
foldoutMapping = EditorGUILayout.Foldout(foldoutMapping, "MAPPING", true, foldout);
|
||||||
|
|
||||||
|
if (foldoutMapping)
|
||||||
|
{
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
#if ENABLE_INPUT_SYSTEM
|
||||||
|
EditorGUILayout.PropertyField(mappingInputActionAssetProp);
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
EditorGUILayout.PropertyField(mappingActionsProp);
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
EditorGUILayout.HelpBox(
|
||||||
|
"To generate OctoActions enum:\n" +
|
||||||
|
"1. Assign an Input Action Asset first\n" +
|
||||||
|
"2. Click 'Generate Inputs'\n\n" +
|
||||||
|
"Note: The enum will be generated in Assets/OctoCore/ (safe from package updates)",
|
||||||
|
MessageType.Info
|
||||||
|
);
|
||||||
|
|
||||||
|
EditorGUILayout.Space(5);
|
||||||
|
|
||||||
|
GUI.enabled = data.Mapping.InputActionAsset != null;
|
||||||
|
if (GUILayout.Button("Generate Inputs", GUILayout.Height(20)))
|
||||||
|
{
|
||||||
|
data.GenerateInputs();
|
||||||
|
}
|
||||||
|
GUI.enabled = true;
|
||||||
|
#else
|
||||||
|
EditorGUILayout.HelpBox(
|
||||||
|
"Input System Package is not enabled.\n" +
|
||||||
|
"Please enable it in Project Settings > Player > Active Input Handling.",
|
||||||
|
MessageType.Warning
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
EditorGUILayout.Space(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
EditorGUILayout.EndVertical();
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
// LANGUAGES
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
EditorGUILayout.BeginVertical("box");
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
|
||||||
|
foldoutLanguages = EditorGUILayout.Foldout(foldoutLanguages, "LANGUAGES", true, foldout);
|
||||||
|
|
||||||
|
if (foldoutLanguages)
|
||||||
|
{
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
EditorGUILayout.PropertyField(languagesDefaultProp);
|
||||||
|
EditorGUILayout.PropertyField(languagesSaveWrittenProp);
|
||||||
|
EditorGUILayout.PropertyField(languagesSaveAudioProp);
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
EditorGUILayout.PropertyField(languagesOverridesProp);
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
|
||||||
|
EditorGUILayout.Space(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
EditorGUILayout.EndVertical();
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
// SCENES
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
EditorGUILayout.BeginVertical("box");
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
|
||||||
|
foldoutScenes = EditorGUILayout.Foldout(foldoutScenes, "SCENES", true, foldout);
|
||||||
|
|
||||||
|
if (foldoutScenes)
|
||||||
|
{
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
|
||||||
|
if (GUILayout.Button("Get All Scene Datas"))
|
||||||
|
{
|
||||||
|
data.GetAllSceneDatas();
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
EditorGUILayout.PropertyField(scenesSceneDatasProp);
|
||||||
|
EditorGUILayout.PropertyField(scenesUseAddressablesProp);
|
||||||
|
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
EditorGUILayout.LabelField("Fade Settings", EditorStyles.boldLabel);
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
EditorGUILayout.PropertyField(scenesFadeSettingsProp);
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
EditorGUILayout.Space(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
EditorGUILayout.EndVertical();
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
// UI
|
||||||
|
// ═══════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
EditorGUILayout.BeginVertical("box");
|
||||||
|
EditorGUI.indentLevel++;
|
||||||
|
|
||||||
|
foldoutUi = EditorGUILayout.Foldout(foldoutUi, "INTERFACE", true, foldout);
|
||||||
|
|
||||||
|
if (foldoutUi)
|
||||||
|
{
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
EditorGUILayout.PropertyField(UiReferenceSizeProp);
|
||||||
|
EditorGUILayout.PropertyField(UiIconsBackgroundProp);
|
||||||
|
|
||||||
|
EditorGUILayout.Space(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUI.indentLevel--;
|
||||||
|
EditorGUILayout.EndVertical();
|
||||||
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
|
serializedObject.ApplyModifiedProperties();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9ce5e44ae6718e44fa7cf22c8cc4df5d
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore.LevelBuilder
|
||||||
|
{
|
||||||
|
/*[CustomEditor(typeof(OctoTile))]
|
||||||
|
[CanEditMultipleObjects]
|
||||||
|
public class OctoTileEditor : Editor
|
||||||
|
{
|
||||||
|
private SerializedProperty _configurationProp;
|
||||||
|
private SerializedProperty _referencesProp;
|
||||||
|
private SerializedProperty _placementProp;
|
||||||
|
private SerializedProperty _wallProp;
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
_configurationProp = serializedObject.FindProperty("Configuration");
|
||||||
|
_referencesProp = serializedObject.FindProperty("References");
|
||||||
|
_placementProp = serializedObject.FindProperty("Placement");
|
||||||
|
_wallProp = serializedObject.FindProperty("Wall");
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnInspectorGUI()
|
||||||
|
{
|
||||||
|
serializedObject.Update();
|
||||||
|
|
||||||
|
EditorGUILayout.PropertyField(_configurationProp, true);
|
||||||
|
EditorGUILayout.PropertyField(_referencesProp, true);
|
||||||
|
EditorGUILayout.PropertyField(_placementProp, true);
|
||||||
|
|
||||||
|
bool hasWall = false;
|
||||||
|
if (targets.Length == 1)
|
||||||
|
{
|
||||||
|
OctoTile tile = (OctoTile)target;
|
||||||
|
hasWall = tile.HasWall();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foreach (var t in targets)
|
||||||
|
{
|
||||||
|
OctoTile tile = (OctoTile)t;
|
||||||
|
if (tile.HasWall())
|
||||||
|
{
|
||||||
|
hasWall = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasWall)
|
||||||
|
{
|
||||||
|
EditorGUILayout.PropertyField(_wallProp, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (serializedObject.ApplyModifiedProperties())
|
||||||
|
{
|
||||||
|
foreach (var t in targets)
|
||||||
|
{
|
||||||
|
OctoTile tile = (OctoTile)t;
|
||||||
|
tile.RefreshTile();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0fdd28ef8abb6df47b9e13a6b6df43aa
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5a324914a10812c42ae63e3ab6bb6d7b
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a7a18bc4bcd1fa545b15847be1caca1f
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
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: d98ebfcec71f3a247b658908e9fee900, type: 3}
|
||||||
|
m_Name: language_audio
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
Id: language_audio
|
||||||
|
Value:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a186262be747dae448e59cbe43ebe286
|
||||||
|
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: d98ebfcec71f3a247b658908e9fee900, type: 3}
|
||||||
|
m_Name: language_written
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
Id: language_written
|
||||||
|
Value:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 70ce020f0ed1ad24a94c854da5d6538e
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,154 @@
|
|||||||
|
%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: c12f834718fa7c2479f8a954db0682ec, type: 3}
|
||||||
|
m_Name: settings_global
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
Save:
|
||||||
|
Booleans: []
|
||||||
|
Integers: []
|
||||||
|
Floats: []
|
||||||
|
Strings:
|
||||||
|
- {fileID: 11400000, guid: a186262be747dae448e59cbe43ebe286, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 70ce020f0ed1ad24a94c854da5d6538e, type: 2}
|
||||||
|
Vectors: []
|
||||||
|
Mapping:
|
||||||
|
InputActionAsset: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
ActionMaps:
|
||||||
|
- Name: Player
|
||||||
|
Map: 0
|
||||||
|
Actions:
|
||||||
|
- Name: Move
|
||||||
|
Action: 0
|
||||||
|
Reference: {fileID: -1680190386980627800, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Look
|
||||||
|
Action: 1
|
||||||
|
Reference: {fileID: -5630151704836100654, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Attack
|
||||||
|
Action: 2
|
||||||
|
Reference: {fileID: 1120369429361536294, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Interact
|
||||||
|
Action: 3
|
||||||
|
Reference: {fileID: 1781555164194001046, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Crouch
|
||||||
|
Action: 4
|
||||||
|
Reference: {fileID: 7040659881675835329, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Jump
|
||||||
|
Action: 5
|
||||||
|
Reference: {fileID: -2099379676528639254, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Previous
|
||||||
|
Action: 6
|
||||||
|
Reference: {fileID: 2411907206095950430, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Next
|
||||||
|
Action: 7
|
||||||
|
Reference: {fileID: 7476244043514120974, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Sprint
|
||||||
|
Action: 8
|
||||||
|
Reference: {fileID: -7471211009204490832, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: UI
|
||||||
|
Map: 1
|
||||||
|
Actions:
|
||||||
|
- Name: Navigate
|
||||||
|
Action: 9
|
||||||
|
Reference: {fileID: -8784545083839296357, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Submit
|
||||||
|
Action: 10
|
||||||
|
Reference: {fileID: 392368643174621059, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Cancel
|
||||||
|
Action: 11
|
||||||
|
Reference: {fileID: 7727032971491509709, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Point
|
||||||
|
Action: 12
|
||||||
|
Reference: {fileID: -1654692200621890270, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: Click
|
||||||
|
Action: 13
|
||||||
|
Reference: {fileID: 3001919216989983466, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: RightClick
|
||||||
|
Action: 14
|
||||||
|
Reference: {fileID: -4090225696740746782, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: MiddleClick
|
||||||
|
Action: 15
|
||||||
|
Reference: {fileID: -2185481485913320682, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: ScrollWheel
|
||||||
|
Action: 16
|
||||||
|
Reference: {fileID: 6240969308177333660, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: TrackedDevicePosition
|
||||||
|
Action: 17
|
||||||
|
Reference: {fileID: 6564999863303420839, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
- Name: TrackedDeviceOrientation
|
||||||
|
Action: 18
|
||||||
|
Reference: {fileID: 7970375526676320489, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||||
|
Icon:
|
||||||
|
UseName: 1
|
||||||
|
Sprite: {fileID: 0}
|
||||||
|
Languages:
|
||||||
|
Default: 1
|
||||||
|
SaveWritten: {fileID: 11400000, guid: 70ce020f0ed1ad24a94c854da5d6538e, type: 2}
|
||||||
|
SaveAudio: {fileID: 11400000, guid: a186262be747dae448e59cbe43ebe286, type: 2}
|
||||||
|
Overrides: []
|
||||||
|
Ui:
|
||||||
|
ReferenceSize: {x: 1440, y: 3120}
|
||||||
|
IconsBackground:
|
||||||
|
DefaultButton: {fileID: 0}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1fc9111689f694145b60db4014028b18
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7c7b241b78956b74ebf9b66fc8388c1c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6d6c36933f532c143affffb1d4c87fd5
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,115 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e4ee9e9425025a7409c3fbd040c04853
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 24200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects:
|
||||||
|
- first:
|
||||||
|
type: UnityEngine:Material
|
||||||
|
assembly: UnityEngine.CoreModule
|
||||||
|
name: standardSurface1
|
||||||
|
second: {fileID: 2100000, guid: 213f1a4f73614884ba6a065aa06283b5, type: 2}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations: []
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
generateMeshLods: 0
|
||||||
|
meshLodGenerationFlags: 0
|
||||||
|
maximumMeshLod: -1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-6241688233005360601
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||||
|
version: 10
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: mat_arms
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: 2000
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Opaque
|
||||||
|
disabledShaderPasses:
|
||||||
|
- MOTIONVECTORS
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AddPrecomputedVelocity: 0
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _AlphaToMask: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BlendModePreserveSpecular: 1
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _DstBlendAlpha: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 1
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 3
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.02
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _XRMotionVectorsPass: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 0.9245283, g: 0.85435545, b: 0.75444996, a: 1}
|
||||||
|
- _Color: {r: 0.9245283, g: 0.85435545, b: 0.75444996, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 213f1a4f73614884ba6a065aa06283b5
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0e7e85ad5befd6a4da94af5bf167f28a
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,257 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!206 &-6296890662589978932
|
||||||
|
BlendTree:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: BlendTree
|
||||||
|
m_Childs:
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: 8886403592489223659}
|
||||||
|
m_Threshold: 0
|
||||||
|
m_Position: {x: 0, y: 0}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: move
|
||||||
|
m_Mirror: 0
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: 1827226128182048838, guid: 23000d32d75602d479f8506239cdb0ed, type: 3}
|
||||||
|
m_Threshold: 1
|
||||||
|
m_Position: {x: 0, y: 0}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: move
|
||||||
|
m_Mirror: 0
|
||||||
|
m_BlendParameter: run
|
||||||
|
m_BlendParameterY: Blend
|
||||||
|
m_MinThreshold: 0
|
||||||
|
m_MaxThreshold: 1
|
||||||
|
m_UseAutomaticThresholds: 0
|
||||||
|
m_NormalizedBlendValues: 0
|
||||||
|
m_BlendType: 0
|
||||||
|
--- !u!206 &-4879062819497881735
|
||||||
|
BlendTree:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: BlendTree
|
||||||
|
m_Childs:
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: 1827226128182048838, guid: 151f05c2bf688504d9122a65a1cc4ed2, type: 3}
|
||||||
|
m_Threshold: 0
|
||||||
|
m_Position: {x: 0, y: 0}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: move
|
||||||
|
m_Mirror: 0
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: 1827226128182048838, guid: 072a284256ac39848aae7bb60b492d7b, type: 3}
|
||||||
|
m_Threshold: 1
|
||||||
|
m_Position: {x: 0, y: 0}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: move
|
||||||
|
m_Mirror: 0
|
||||||
|
m_BlendParameter: backward
|
||||||
|
m_BlendParameterY: Blend
|
||||||
|
m_MinThreshold: 0
|
||||||
|
m_MaxThreshold: 1
|
||||||
|
m_UseAutomaticThresholds: 1
|
||||||
|
m_NormalizedBlendValues: 0
|
||||||
|
m_BlendType: 0
|
||||||
|
--- !u!91 &9100000
|
||||||
|
AnimatorController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: dad
|
||||||
|
serializedVersion: 5
|
||||||
|
m_AnimatorParameters:
|
||||||
|
- m_Name: trigger_move
|
||||||
|
m_Type: 9
|
||||||
|
m_DefaultFloat: 0
|
||||||
|
m_DefaultInt: 0
|
||||||
|
m_DefaultBool: 0
|
||||||
|
m_Controller: {fileID: 9100000}
|
||||||
|
- m_Name: move
|
||||||
|
m_Type: 1
|
||||||
|
m_DefaultFloat: 0
|
||||||
|
m_DefaultInt: 0
|
||||||
|
m_DefaultBool: 0
|
||||||
|
m_Controller: {fileID: 9100000}
|
||||||
|
- m_Name: backward
|
||||||
|
m_Type: 1
|
||||||
|
m_DefaultFloat: 0
|
||||||
|
m_DefaultInt: 0
|
||||||
|
m_DefaultBool: 0
|
||||||
|
m_Controller: {fileID: 9100000}
|
||||||
|
- m_Name: side
|
||||||
|
m_Type: 1
|
||||||
|
m_DefaultFloat: 0
|
||||||
|
m_DefaultInt: 0
|
||||||
|
m_DefaultBool: 0
|
||||||
|
m_Controller: {fileID: 9100000}
|
||||||
|
- m_Name: run
|
||||||
|
m_Type: 1
|
||||||
|
m_DefaultFloat: 0
|
||||||
|
m_DefaultInt: 0
|
||||||
|
m_DefaultBool: 0
|
||||||
|
m_Controller: {fileID: 9100000}
|
||||||
|
m_AnimatorLayers:
|
||||||
|
- serializedVersion: 5
|
||||||
|
m_Name: Base Layer
|
||||||
|
m_StateMachine: {fileID: 6350601263350617281}
|
||||||
|
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!1102 &5484812774151747158
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: move
|
||||||
|
m_Speed: 1.2
|
||||||
|
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: 5926010261774489586}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!1101 &5508769876683809156
|
||||||
|
AnimatorStateTransition:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name:
|
||||||
|
m_Conditions: []
|
||||||
|
m_DstStateMachine: {fileID: 0}
|
||||||
|
m_DstState: {fileID: 5484812774151747158}
|
||||||
|
m_Solo: 0
|
||||||
|
m_Mute: 0
|
||||||
|
m_IsExit: 0
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransitionDuration: 0.25
|
||||||
|
m_TransitionOffset: 0
|
||||||
|
m_ExitTime: 0.75
|
||||||
|
m_HasExitTime: 1
|
||||||
|
m_HasFixedDuration: 1
|
||||||
|
m_InterruptionSource: 0
|
||||||
|
m_OrderedInterruption: 1
|
||||||
|
m_CanTransitionToSelf: 1
|
||||||
|
--- !u!206 &5926010261774489586
|
||||||
|
BlendTree:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Blend Tree
|
||||||
|
m_Childs:
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: 1827226128182048838, guid: 3119dee0e86de7941add52db7b9e4a52, type: 3}
|
||||||
|
m_Threshold: 0
|
||||||
|
m_Position: {x: 0, y: 0}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: Move
|
||||||
|
m_Mirror: 0
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: -6296890662589978932}
|
||||||
|
m_Threshold: 1
|
||||||
|
m_Position: {x: 0, y: 0}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: move
|
||||||
|
m_Mirror: 0
|
||||||
|
m_BlendParameter: move
|
||||||
|
m_BlendParameterY: forward
|
||||||
|
m_MinThreshold: 0
|
||||||
|
m_MaxThreshold: 1
|
||||||
|
m_UseAutomaticThresholds: 0
|
||||||
|
m_NormalizedBlendValues: 0
|
||||||
|
m_BlendType: 0
|
||||||
|
--- !u!1107 &6350601263350617281
|
||||||
|
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: 5484812774151747158}
|
||||||
|
m_Position: {x: 320, y: 110, z: 0}
|
||||||
|
m_ChildStateMachines: []
|
||||||
|
m_AnyStateTransitions:
|
||||||
|
- {fileID: 5508769876683809156}
|
||||||
|
m_EntryTransitions: []
|
||||||
|
m_StateMachineTransitions: {}
|
||||||
|
m_StateMachineBehaviours: []
|
||||||
|
m_AnyStatePosition: {x: 50, y: 40, 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: 5484812774151747158}
|
||||||
|
--- !u!206 &8886403592489223659
|
||||||
|
BlendTree:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: BlendTree
|
||||||
|
m_Childs:
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: 1827226128182048838, guid: ed67f1662f580074fafcd867dd2b1030, type: 3}
|
||||||
|
m_Threshold: -1
|
||||||
|
m_Position: {x: 0, y: 0}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: move
|
||||||
|
m_Mirror: 0
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: -4879062819497881735}
|
||||||
|
m_Threshold: 0
|
||||||
|
m_Position: {x: -0.96, y: 0.26}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: move
|
||||||
|
m_Mirror: 0
|
||||||
|
- serializedVersion: 2
|
||||||
|
m_Motion: {fileID: 1827226128182048838, guid: 7aa89e63df46be74fbd171c1fb1845ad, type: 3}
|
||||||
|
m_Threshold: 1
|
||||||
|
m_Position: {x: 0, y: 1}
|
||||||
|
m_TimeScale: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_DirectBlendParameter: move
|
||||||
|
m_Mirror: 0
|
||||||
|
m_BlendParameter: side
|
||||||
|
m_BlendParameterY: backward
|
||||||
|
m_MinThreshold: -1
|
||||||
|
m_MaxThreshold: 1
|
||||||
|
m_UseAutomaticThresholds: 0
|
||||||
|
m_NormalizedBlendValues: 0
|
||||||
|
m_BlendType: 0
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c91374d232ed57a468afca1fcbeaa451
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 9100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,107 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: df51a8861bd93f24ba2f00ec49e869fa
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations: []
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,136 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3119dee0e86de7941add52db7b9e4a52
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations:
|
||||||
|
- serializedVersion: 16
|
||||||
|
name: idle
|
||||||
|
takeName: Take 001
|
||||||
|
internalID: 1827226128182048838
|
||||||
|
firstFrame: 0
|
||||||
|
lastFrame: 300
|
||||||
|
wrapMode: 0
|
||||||
|
orientationOffsetY: 0
|
||||||
|
level: 0
|
||||||
|
cycleOffset: 0
|
||||||
|
loop: 0
|
||||||
|
hasAdditiveReferencePose: 0
|
||||||
|
loopTime: 1
|
||||||
|
loopBlend: 0
|
||||||
|
loopBlendOrientation: 0
|
||||||
|
loopBlendPositionY: 0
|
||||||
|
loopBlendPositionXZ: 0
|
||||||
|
keepOriginalOrientation: 0
|
||||||
|
keepOriginalPositionY: 1
|
||||||
|
keepOriginalPositionXZ: 0
|
||||||
|
heightFromFeet: 0
|
||||||
|
mirror: 0
|
||||||
|
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||||
|
curves: []
|
||||||
|
events: []
|
||||||
|
transformMask: []
|
||||||
|
maskType: 3
|
||||||
|
maskSource: {instanceID: 0}
|
||||||
|
additiveReferencePoseFrame: 0
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,136 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 23000d32d75602d479f8506239cdb0ed
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations:
|
||||||
|
- serializedVersion: 16
|
||||||
|
name: run
|
||||||
|
takeName: Take 001
|
||||||
|
internalID: 1827226128182048838
|
||||||
|
firstFrame: 0
|
||||||
|
lastFrame: 45
|
||||||
|
wrapMode: 0
|
||||||
|
orientationOffsetY: 0
|
||||||
|
level: 0
|
||||||
|
cycleOffset: 0
|
||||||
|
loop: 0
|
||||||
|
hasAdditiveReferencePose: 0
|
||||||
|
loopTime: 1
|
||||||
|
loopBlend: 0
|
||||||
|
loopBlendOrientation: 0
|
||||||
|
loopBlendPositionY: 0
|
||||||
|
loopBlendPositionXZ: 0
|
||||||
|
keepOriginalOrientation: 0
|
||||||
|
keepOriginalPositionY: 1
|
||||||
|
keepOriginalPositionXZ: 0
|
||||||
|
heightFromFeet: 0
|
||||||
|
mirror: 0
|
||||||
|
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||||
|
curves: []
|
||||||
|
events: []
|
||||||
|
transformMask: []
|
||||||
|
maskType: 3
|
||||||
|
maskSource: {instanceID: 0}
|
||||||
|
additiveReferencePoseFrame: 0
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,136 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 151f05c2bf688504d9122a65a1cc4ed2
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations:
|
||||||
|
- serializedVersion: 16
|
||||||
|
name: walk
|
||||||
|
takeName: Take 001
|
||||||
|
internalID: 1827226128182048838
|
||||||
|
firstFrame: 0
|
||||||
|
lastFrame: 60
|
||||||
|
wrapMode: 0
|
||||||
|
orientationOffsetY: 0
|
||||||
|
level: 0
|
||||||
|
cycleOffset: 0
|
||||||
|
loop: 0
|
||||||
|
hasAdditiveReferencePose: 0
|
||||||
|
loopTime: 1
|
||||||
|
loopBlend: 0
|
||||||
|
loopBlendOrientation: 0
|
||||||
|
loopBlendPositionY: 0
|
||||||
|
loopBlendPositionXZ: 0
|
||||||
|
keepOriginalOrientation: 0
|
||||||
|
keepOriginalPositionY: 1
|
||||||
|
keepOriginalPositionXZ: 0
|
||||||
|
heightFromFeet: 0
|
||||||
|
mirror: 0
|
||||||
|
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||||
|
curves: []
|
||||||
|
events: []
|
||||||
|
transformMask: []
|
||||||
|
maskType: 3
|
||||||
|
maskSource: {instanceID: 0}
|
||||||
|
additiveReferencePoseFrame: 0
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,136 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 072a284256ac39848aae7bb60b492d7b
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations:
|
||||||
|
- serializedVersion: 16
|
||||||
|
name: walkBack
|
||||||
|
takeName: Take 001
|
||||||
|
internalID: 1827226128182048838
|
||||||
|
firstFrame: 0
|
||||||
|
lastFrame: 60
|
||||||
|
wrapMode: 0
|
||||||
|
orientationOffsetY: 0
|
||||||
|
level: 0
|
||||||
|
cycleOffset: 0
|
||||||
|
loop: 0
|
||||||
|
hasAdditiveReferencePose: 0
|
||||||
|
loopTime: 1
|
||||||
|
loopBlend: 0
|
||||||
|
loopBlendOrientation: 0
|
||||||
|
loopBlendPositionY: 0
|
||||||
|
loopBlendPositionXZ: 0
|
||||||
|
keepOriginalOrientation: 0
|
||||||
|
keepOriginalPositionY: 1
|
||||||
|
keepOriginalPositionXZ: 0
|
||||||
|
heightFromFeet: 0
|
||||||
|
mirror: 0
|
||||||
|
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||||
|
curves: []
|
||||||
|
events: []
|
||||||
|
transformMask: []
|
||||||
|
maskType: 3
|
||||||
|
maskSource: {instanceID: 0}
|
||||||
|
additiveReferencePoseFrame: 0
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,136 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ed67f1662f580074fafcd867dd2b1030
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations:
|
||||||
|
- serializedVersion: 16
|
||||||
|
name: walkLeft
|
||||||
|
takeName: Take 001
|
||||||
|
internalID: 1827226128182048838
|
||||||
|
firstFrame: 0
|
||||||
|
lastFrame: 60
|
||||||
|
wrapMode: 0
|
||||||
|
orientationOffsetY: 0
|
||||||
|
level: 0
|
||||||
|
cycleOffset: 0
|
||||||
|
loop: 0
|
||||||
|
hasAdditiveReferencePose: 0
|
||||||
|
loopTime: 1
|
||||||
|
loopBlend: 0
|
||||||
|
loopBlendOrientation: 0
|
||||||
|
loopBlendPositionY: 0
|
||||||
|
loopBlendPositionXZ: 0
|
||||||
|
keepOriginalOrientation: 0
|
||||||
|
keepOriginalPositionY: 1
|
||||||
|
keepOriginalPositionXZ: 0
|
||||||
|
heightFromFeet: 0
|
||||||
|
mirror: 0
|
||||||
|
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||||
|
curves: []
|
||||||
|
events: []
|
||||||
|
transformMask: []
|
||||||
|
maskType: 3
|
||||||
|
maskSource: {instanceID: 0}
|
||||||
|
additiveReferencePoseFrame: 0
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,136 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7aa89e63df46be74fbd171c1fb1845ad
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations:
|
||||||
|
- serializedVersion: 16
|
||||||
|
name: walkRight
|
||||||
|
takeName: Take 001
|
||||||
|
internalID: 1827226128182048838
|
||||||
|
firstFrame: 0
|
||||||
|
lastFrame: 60
|
||||||
|
wrapMode: 0
|
||||||
|
orientationOffsetY: 0
|
||||||
|
level: 0
|
||||||
|
cycleOffset: 0
|
||||||
|
loop: 0
|
||||||
|
hasAdditiveReferencePose: 0
|
||||||
|
loopTime: 1
|
||||||
|
loopBlend: 0
|
||||||
|
loopBlendOrientation: 0
|
||||||
|
loopBlendPositionY: 0
|
||||||
|
loopBlendPositionXZ: 0
|
||||||
|
keepOriginalOrientation: 0
|
||||||
|
keepOriginalPositionY: 1
|
||||||
|
keepOriginalPositionXZ: 0
|
||||||
|
heightFromFeet: 0
|
||||||
|
mirror: 0
|
||||||
|
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||||
|
curves: []
|
||||||
|
events: []
|
||||||
|
transformMask: []
|
||||||
|
maskType: 3
|
||||||
|
maskSource: {instanceID: 0}
|
||||||
|
additiveReferencePoseFrame: 0
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "OctoCore.Runtime",
|
||||||
|
"rootNamespace": "OctoCore",
|
||||||
|
"references": [
|
||||||
|
"GUID:75469ad4d38634e559750d17036d5f7c",
|
||||||
|
"GUID:6055be8ebefd69e48b49212b09b47b2f"
|
||||||
|
],
|
||||||
|
"includePlatforms": [],
|
||||||
|
"excludePlatforms": [],
|
||||||
|
"allowUnsafeCode": false,
|
||||||
|
"overrideReferences": false,
|
||||||
|
"precompiledReferences": [],
|
||||||
|
"autoReferenced": true,
|
||||||
|
"defineConstraints": [],
|
||||||
|
"versionDefines": [],
|
||||||
|
"noEngineReferences": false
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fba19c621e5d56141bc742c55d17e06a
|
||||||
|
AssemblyDefinitionImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8ac0ffdd8fd350d439d43e3609561b13
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 73480b78f75094a4da6b76dedb392ae9
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &8589544845245727413
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6194350059673118374}
|
||||||
|
- component: {fileID: 4562949134636194362}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: OctoCore
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6194350059673118374
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8589544845245727413}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &4562949134636194362
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8589544845245727413}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a699f971e869ebf46915f66af5dc8102, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::OctoCore.OctoCore
|
||||||
|
Settings: {fileID: 11400000, guid: 1fc9111689f694145b60db4014028b18, type: 2}
|
||||||
|
_platform:
|
||||||
|
_current: 0
|
||||||
|
_controller: 0
|
||||||
|
_save:
|
||||||
|
Booleans: []
|
||||||
|
Integers: []
|
||||||
|
Floats: []
|
||||||
|
Strings: []
|
||||||
|
Vectors: []
|
||||||
|
_inputs:
|
||||||
|
CurrentMap: 0
|
||||||
|
ActionMaps: []
|
||||||
|
_localization:
|
||||||
|
WrittenLanguage: 0
|
||||||
|
AudioLanguage: 0
|
||||||
|
_ui:
|
||||||
|
GlobalScale: 1
|
||||||
|
ScreenSize: {x: 0, y: 0}
|
||||||
|
_development:
|
||||||
|
Log: 0
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f413f8119a5cdd64c8656e6435b59b59
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &4347882179124040567
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 136799558801349280}
|
||||||
|
- component: {fileID: 6424964998645044441}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: OctoEvents
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &136799558801349280
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4347882179124040567}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &6424964998645044441
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4347882179124040567}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 86cab3031ee84484985b55a4e37af012, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::OctoCoreEvents
|
||||||
|
_onPlatformInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onSaveInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onInputsInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onLocalizationInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onUiInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
_onOctoCoreInitialized:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5d08067eb94e2c34fb6b009ecd525a81
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &3352382525843710285
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2854166076162324619}
|
||||||
|
- component: {fileID: 417140402366356801}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: OctoLink
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &2854166076162324619
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3352382525843710285}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &417140402366356801
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3352382525843710285}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: aca1ddad5b073a9488d37617a5fd8d9a, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::OctoLink
|
||||||
|
_octoCore: {fileID: 8589544845245727413, guid: f3027fc87ba642145bb3792f69dcfb95, type: 3}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0c2f8ec75148b91418d31eba541cc81f
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,498 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2101508725665932610
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1836339402272228918}
|
||||||
|
- component: {fileID: 3666612565151794712}
|
||||||
|
- component: {fileID: 6053283114444666027}
|
||||||
|
- component: {fileID: 6989128982853398086}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Camera Player
|
||||||
|
m_TagString: MainCamera
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1836339402272228918
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2101508725665932610}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 1.562, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 8725966219179855439}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!20 &3666612565151794712
|
||||||
|
Camera:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2101508725665932610}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 2
|
||||||
|
m_ClearFlags: 1
|
||||||
|
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.1
|
||||||
|
far clip plane: 1000
|
||||||
|
field of view: 80
|
||||||
|
orthographic: 0
|
||||||
|
orthographic size: 5
|
||||||
|
m_Depth: 0
|
||||||
|
m_CullingMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
m_RenderingPath: -1
|
||||||
|
m_TargetTexture: {fileID: 0}
|
||||||
|
m_TargetDisplay: 0
|
||||||
|
m_TargetEye: 3
|
||||||
|
m_HDR: 1
|
||||||
|
m_AllowMSAA: 1
|
||||||
|
m_AllowDynamicResolution: 0
|
||||||
|
m_ForceIntoRT: 0
|
||||||
|
m_OcclusionCulling: 1
|
||||||
|
m_StereoConvergence: 10
|
||||||
|
m_StereoSeparation: 0.022
|
||||||
|
--- !u!81 &6053283114444666027
|
||||||
|
AudioListener:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2101508725665932610}
|
||||||
|
m_Enabled: 1
|
||||||
|
--- !u!114 &6989128982853398086
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2101508725665932610}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
|
||||||
|
m_RenderShadows: 1
|
||||||
|
m_RequiresDepthTextureOption: 2
|
||||||
|
m_RequiresOpaqueTextureOption: 2
|
||||||
|
m_CameraType: 0
|
||||||
|
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_TaaSettings:
|
||||||
|
m_Quality: 3
|
||||||
|
m_FrameInfluence: 0.1
|
||||||
|
m_JitterScale: 1
|
||||||
|
m_MipBias: 0
|
||||||
|
m_VarianceClampScale: 0.9
|
||||||
|
m_ContrastAdaptiveSharpening: 0
|
||||||
|
m_Version: 2
|
||||||
|
--- !u!1 &8162540767767967414
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8725966219179855439}
|
||||||
|
- component: {fileID: 1735456339091181674}
|
||||||
|
- component: {fileID: 5295567073180248356}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: OctoPlayerFP
|
||||||
|
m_TagString: Player
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &8725966219179855439
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8162540767767967414}
|
||||||
|
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: 1836339402272228918}
|
||||||
|
- {fileID: 2639365499984405449}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!143 &1735456339091181674
|
||||||
|
CharacterController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8162540767767967414}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Height: 1.8
|
||||||
|
m_Radius: 0.3
|
||||||
|
m_SlopeLimit: 45
|
||||||
|
m_StepOffset: 0.3
|
||||||
|
m_SkinWidth: 0.08
|
||||||
|
m_MinMoveDistance: 0.001
|
||||||
|
m_Center: {x: 0, y: 0.94, z: 0}
|
||||||
|
--- !u!114 &5295567073180248356
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8162540767767967414}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c85c0434d95406f4da8daa149ba90838, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: OctoCore.Runtime::OctoCore.Components.OctoPlayer
|
||||||
|
_references:
|
||||||
|
Controller: {fileID: 1735456339091181674}
|
||||||
|
_settings:
|
||||||
|
Mode: 0
|
||||||
|
Orientation: 1
|
||||||
|
WalkSpeed: 10
|
||||||
|
RunSpeed: 20
|
||||||
|
JumpDuration: 0.4
|
||||||
|
JumpHeight: 0.4
|
||||||
|
Gravity: 9.8
|
||||||
|
_mapping:
|
||||||
|
MoveAction: -560403583
|
||||||
|
LookAction: -916633937
|
||||||
|
RunAction: 1115268836
|
||||||
|
JumpAction: -1877919292
|
||||||
|
_firstPerson:
|
||||||
|
Camera: {fileID: 3666612565151794712}
|
||||||
|
SensitivityX: 0.1
|
||||||
|
SensitivityY: 0.1
|
||||||
|
MinPitch: -80
|
||||||
|
MaxPitch: 80
|
||||||
|
--- !u!1001 &2564566619627430770
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 8725966219179855439}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 880987313172909187, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: _settings.LayerMask.m_Bits
|
||||||
|
value: 128
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 899615586671794689, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Arms
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0.1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -0.2685
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0.2737
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: -0.3780753
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.44424582
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0.5555247
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.5925345
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 161.191
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -89.278015
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 905104535459292698, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 84.124
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2656140929319940858, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.9961947
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2656140929319940858, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0.08715578
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2656140929319940858, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -10
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2736084570026017097, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.9961947
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2736084570026017097, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.08715578
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2736084570026017097, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 10
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.35385045
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.112266205
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.058453187
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.92669815
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: -1.655
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 14.451
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3193146119612198720, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 137.992
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.11226625
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: -0.35385033
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.92669827
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0.05845286
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 1.655
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 165.549
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4194213612049569317, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: -42.008
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -0.1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -0.2685
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0.2737
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.44424608
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.37807533
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.59253436
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.5555246
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 198.809
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -90.721985
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6729180175069464909, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: -95.87601
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.9622502
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.084186025
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0.25783423
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0.02255758
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6868471396772723999, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 30
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.9622502
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0.084186025
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0.25783414
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0.022557573
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7939001859543297587, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -30
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
--- !u!4 &2639365499984405449 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 520098895314436283, guid: 73480b78f75094a4da6b76dedb392ae9, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2564566619627430770}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bfb9a06a57603714ca245d62fcd622f1
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c4ad5e19e21e4074a9cd5f09c5c7fe24
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 63017153b92a8844fb10983e8151eb0d
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore.Components
|
||||||
|
{
|
||||||
|
public class OctoCharacterAnimation : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private Animator animator;
|
||||||
|
[SerializeField] private float walkSpeed = 8;
|
||||||
|
[SerializeField] private float runSpeed = 15;
|
||||||
|
[SerializeField, Range(1, 10)] private int sampling = 5;
|
||||||
|
|
||||||
|
private bool backward;
|
||||||
|
private float backwardSmooth;
|
||||||
|
private float sideSmooth;
|
||||||
|
private float smoothSpeed;
|
||||||
|
private Vector4[] positions;
|
||||||
|
private Vector3 lastStep;
|
||||||
|
private Vector3 direction;
|
||||||
|
|
||||||
|
private float step = .1f;
|
||||||
|
|
||||||
|
void OnDrawGizmos()
|
||||||
|
{
|
||||||
|
Gizmos.color = Color.cyan;
|
||||||
|
Gizmos.DrawRay(transform.position + Vector3.up, transform.forward);
|
||||||
|
|
||||||
|
Gizmos.color = Color.red;
|
||||||
|
Gizmos.DrawRay(transform.position + Vector3.up, direction);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnEnable()
|
||||||
|
{
|
||||||
|
positions = new Vector4[sampling + 1];
|
||||||
|
for (int i = 0; i < sampling; i++)
|
||||||
|
{
|
||||||
|
positions[i] = transform.position;
|
||||||
|
positions[i].z = .002f;
|
||||||
|
}
|
||||||
|
|
||||||
|
direction = transform.forward;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
if (lastStep != transform.position && Vector3.Distance(lastStep, transform.position) > step)
|
||||||
|
{
|
||||||
|
Vector3 offset = (lastStep - transform.position).normalized * step;
|
||||||
|
lastStep = transform.position + offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
direction = Vector3.Lerp(direction, (transform.position - lastStep).normalized, Time.deltaTime * 10);
|
||||||
|
|
||||||
|
float speed = GetSpeed();
|
||||||
|
smoothSpeed = Mathf.Lerp(smoothSpeed, speed, Time.deltaTime * 10);
|
||||||
|
|
||||||
|
float move = Mathf.Clamp01(smoothSpeed / walkSpeed);
|
||||||
|
float run = Mathf.Clamp01((smoothSpeed - walkSpeed) / (runSpeed - walkSpeed));
|
||||||
|
|
||||||
|
float dot = Vector3.Dot(transform.forward, direction.normalized);
|
||||||
|
Vector3 crs = Vector3.Cross(transform.forward, direction.normalized);
|
||||||
|
|
||||||
|
backward = dot < 0;
|
||||||
|
backwardSmooth = Mathf.Lerp(backwardSmooth, backward ? 1 : 0, Time.deltaTime * 10);
|
||||||
|
|
||||||
|
sideSmooth = Mathf.Lerp(sideSmooth, (1 - Mathf.Abs(dot)) * Mathf.Sign(transform.InverseTransformDirection(crs).y) * direction.magnitude, Time.deltaTime * 20);
|
||||||
|
|
||||||
|
run *= 1 - backwardSmooth;
|
||||||
|
run *= 1 - Mathf.Abs(sideSmooth);
|
||||||
|
|
||||||
|
//Debug.Log(dot);
|
||||||
|
|
||||||
|
animator.SetFloat("move", Mathf.Sqrt(move));
|
||||||
|
animator.SetFloat("run", run);
|
||||||
|
animator.SetFloat("backward", backwardSmooth);
|
||||||
|
animator.SetFloat("side", sideSmooth);
|
||||||
|
}
|
||||||
|
|
||||||
|
float GetSpeed()
|
||||||
|
{
|
||||||
|
float offset = 0;
|
||||||
|
float delta = 0;
|
||||||
|
|
||||||
|
for (int i = 0; i < positions.Length - 1; i++)
|
||||||
|
{
|
||||||
|
offset += Vector3.Distance(positions[i], positions[i + 1]);
|
||||||
|
delta += positions[i].w;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = positions.Length - 1; i > 0; i--)
|
||||||
|
positions[i] = positions[i - 1];
|
||||||
|
|
||||||
|
positions[0] = transform.position;
|
||||||
|
positions[0].w = Time.deltaTime;
|
||||||
|
|
||||||
|
if (offset > 0 && delta > 0)
|
||||||
|
return offset / (delta / 3.6f);
|
||||||
|
else return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a4b0dbb024f42dc4c8c80d40a271d6d3
|
||||||
@@ -0,0 +1,205 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using static UnityEngine.GraphicsBuffer;
|
||||||
|
|
||||||
|
public class OctoIkArms : MonoBehaviour
|
||||||
|
{
|
||||||
|
private class RaycastInfos
|
||||||
|
{
|
||||||
|
public bool HasHit;
|
||||||
|
public float Distance;
|
||||||
|
public float MaxDistance;
|
||||||
|
public Vector3 Position;
|
||||||
|
public Vector3 Normal;
|
||||||
|
public Transform Transform;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class RaycastRig
|
||||||
|
{
|
||||||
|
public Transform Root;
|
||||||
|
public float Distance = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class ArmRig
|
||||||
|
{
|
||||||
|
public bool Enabled;
|
||||||
|
public OctoIkLimb Arm;
|
||||||
|
public Vector3 RotationOffset;
|
||||||
|
public RaycastRig[] Raycasts;
|
||||||
|
|
||||||
|
[HideInInspector] public Vector3 TargetOriginPos;
|
||||||
|
[HideInInspector] public Quaternion TargetOriginRot;
|
||||||
|
[HideInInspector] public Vector3 PoleOriginPos;
|
||||||
|
|
||||||
|
public void Init()
|
||||||
|
{
|
||||||
|
if (Arm)
|
||||||
|
{
|
||||||
|
if (Arm.Target)
|
||||||
|
{
|
||||||
|
TargetOriginPos = Arm.Target.localPosition;
|
||||||
|
TargetOriginRot = Arm.Target.localRotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Arm.Pole)
|
||||||
|
{
|
||||||
|
PoleOriginPos = Arm.Pole.localPosition;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class Settings
|
||||||
|
{
|
||||||
|
public LayerMask LayerMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
[SerializeField] private ArmRig _leftArm;
|
||||||
|
[SerializeField] private ArmRig _rightArm;
|
||||||
|
[SerializeField] private Settings _settings;
|
||||||
|
|
||||||
|
private ArmRig[] _arms;
|
||||||
|
private RaycastInfos[][] _raycasts = new RaycastInfos[2][];
|
||||||
|
private RaycastInfos[] _nearHitRaycasts = new RaycastInfos[2];
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
_arms = new ArmRig[2] { _leftArm, _rightArm };
|
||||||
|
foreach (ArmRig armRig in _arms)
|
||||||
|
armRig.Init();
|
||||||
|
|
||||||
|
_raycasts = new RaycastInfos[_arms.Length][];
|
||||||
|
for (int i = 0; i < _arms.Length; i++)
|
||||||
|
{
|
||||||
|
_raycasts[i] = new RaycastInfos[_arms[i].Raycasts.Length];
|
||||||
|
for (int u = 0; u < _raycasts[i].Length; u++)
|
||||||
|
_raycasts[i][u] = new RaycastInfos() { MaxDistance = 1 };
|
||||||
|
}
|
||||||
|
|
||||||
|
_nearHitRaycasts = new RaycastInfos[_arms.Length];
|
||||||
|
for (int i = 0; i < _nearHitRaycasts.Length; i++)
|
||||||
|
_nearHitRaycasts[i] = new RaycastInfos() { MaxDistance = 1 };
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnDrawGizmos()//Selected()
|
||||||
|
{
|
||||||
|
if (Application.isPlaying || !enabled) return;
|
||||||
|
|
||||||
|
foreach (ArmRig armRig in new ArmRig[2] { _leftArm, _rightArm })
|
||||||
|
{
|
||||||
|
for (int i = 0; i < armRig.Raycasts.Length; i++)
|
||||||
|
{
|
||||||
|
RaycastRig raycastRig = armRig.Raycasts[i];
|
||||||
|
Debug.DrawRay(raycastRig.Root.position, raycastRig.Root.TransformDirection(Vector3.forward) * raycastRig.Distance, Color.red);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
// Get raycats infos
|
||||||
|
|
||||||
|
for (int i = 0; i < _arms.Length; i++)
|
||||||
|
{
|
||||||
|
ArmRig armRig = _arms[i];
|
||||||
|
|
||||||
|
if (!armRig.Enabled)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
for (int u = 0; u < armRig.Raycasts.Length; u++)
|
||||||
|
{
|
||||||
|
RaycastRig raycastRig = armRig.Raycasts[u];
|
||||||
|
RaycastInfos raycastInfos = _raycasts[i][u];
|
||||||
|
|
||||||
|
RaycastHit hit;
|
||||||
|
|
||||||
|
if (Physics.Raycast(raycastRig.Root.position, raycastRig.Root.TransformDirection(Vector3.forward), out hit, raycastRig.Distance, _settings.LayerMask))
|
||||||
|
{
|
||||||
|
Debug.DrawRay(raycastRig.Root.position, raycastRig.Root.TransformDirection(Vector3.forward) * hit.distance, Color.green);
|
||||||
|
|
||||||
|
raycastInfos.HasHit = true;
|
||||||
|
raycastInfos.Distance = hit.distance;
|
||||||
|
raycastInfos.MaxDistance = raycastRig.Distance;
|
||||||
|
raycastInfos.Position = hit.point;
|
||||||
|
raycastInfos.Normal = hit.normal;
|
||||||
|
raycastInfos.Transform = hit.transform;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.DrawRay(raycastRig.Root.position, raycastRig.Root.TransformDirection(Vector3.forward) * raycastRig.Distance, Color.red);
|
||||||
|
|
||||||
|
raycastInfos.HasHit = false;
|
||||||
|
raycastInfos.Distance = 1;
|
||||||
|
raycastInfos.MaxDistance = 1;
|
||||||
|
raycastInfos.Position = Vector3.zero;
|
||||||
|
raycastInfos.Normal = Vector3.zero;
|
||||||
|
raycastInfos.Transform = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Evaluate near hit
|
||||||
|
|
||||||
|
for (int i = 0; i < _arms.Length; i++)
|
||||||
|
{
|
||||||
|
ArmRig armRig = _arms[i];
|
||||||
|
_nearHitRaycasts[i].HasHit = false;
|
||||||
|
|
||||||
|
for (int u = 0; u < armRig.Raycasts.Length; u++)
|
||||||
|
{
|
||||||
|
RaycastInfos raycastInfos = _raycasts[i][u];
|
||||||
|
|
||||||
|
if (raycastInfos.HasHit)
|
||||||
|
{
|
||||||
|
_nearHitRaycasts[i].HasHit = raycastInfos.HasHit;
|
||||||
|
_nearHitRaycasts[i].Distance = _raycasts[i][u].Distance;
|
||||||
|
_nearHitRaycasts[i].MaxDistance = _raycasts[i][u].MaxDistance;
|
||||||
|
_nearHitRaycasts[i].Position = _raycasts[i][u].Position;
|
||||||
|
_nearHitRaycasts[i].Normal = _raycasts[i][u].Normal;
|
||||||
|
_nearHitRaycasts[i].Transform = _raycasts[i][u].Transform;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move hands
|
||||||
|
|
||||||
|
for (int i = 0; i < _arms.Length; i++)
|
||||||
|
{
|
||||||
|
ArmRig armRig = _arms[i];
|
||||||
|
RaycastInfos raycastInfos = _nearHitRaycasts[i];
|
||||||
|
|
||||||
|
Vector3 targetPos = armRig.TargetOriginPos;
|
||||||
|
Quaternion targetRot = armRig.TargetOriginRot;
|
||||||
|
|
||||||
|
float sticknessPos = 0;
|
||||||
|
float sticknessRot = 0;
|
||||||
|
|
||||||
|
if (raycastInfos.HasHit)
|
||||||
|
{
|
||||||
|
float doorForward = transform.InverseTransformDirection(raycastInfos.Transform.forward).z;
|
||||||
|
bool isGoodArm = i == 0 ? (doorForward < 0) : (doorForward > 0);
|
||||||
|
|
||||||
|
if (isGoodArm)
|
||||||
|
{
|
||||||
|
targetPos = armRig.Arm.Target.parent.InverseTransformPoint(raycastInfos.Position);
|
||||||
|
targetRot = Quaternion.LookRotation(-armRig.Arm.Target.parent.InverseTransformDirection(raycastInfos.Normal), transform.up) * Quaternion.Euler(armRig.RotationOffset);
|
||||||
|
|
||||||
|
float t = 1 - Mathf.Clamp01(raycastInfos.Distance / raycastInfos.MaxDistance);
|
||||||
|
|
||||||
|
sticknessPos = Mathf.SmoothStep(0, .7f, t);
|
||||||
|
sticknessRot = Mathf.SmoothStep(.5f, .9f, t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float tPos = Mathf.SmoothStep(Time.deltaTime * 3, 1, sticknessPos);
|
||||||
|
float tRot = Mathf.SmoothStep(Time.deltaTime * 5, 1, sticknessRot);
|
||||||
|
|
||||||
|
armRig.Arm.Target.localPosition = Vector3.Lerp(armRig.Arm.Target.localPosition, targetPos, tPos);
|
||||||
|
armRig.Arm.Target.localRotation = Quaternion.Lerp(armRig.Arm.Target.localRotation, targetRot, tRot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 015ed493fd8775f479bf25c92aa04e57
|
||||||
@@ -0,0 +1,303 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Two-bone IK solver for a single limb (arm or leg).
|
||||||
|
/// Works with or without an Animator.
|
||||||
|
/// Assumes a 3-bone chain: start -> mid -> end.
|
||||||
|
/// Bones are assumed to point along a configurable local primary axis,
|
||||||
|
/// with a configurable local secondary axis used as "bend up".
|
||||||
|
/// </summary>
|
||||||
|
public class OctoIkLimb : MonoBehaviour
|
||||||
|
{
|
||||||
|
public enum Axis
|
||||||
|
{
|
||||||
|
XPlus,
|
||||||
|
XMinus,
|
||||||
|
YPlus,
|
||||||
|
YMinus,
|
||||||
|
ZPlus,
|
||||||
|
ZMinus
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class Joints
|
||||||
|
{
|
||||||
|
[Tooltip("start joint of the limb (e.g. shoulder or hip).")]
|
||||||
|
public Transform Start;
|
||||||
|
|
||||||
|
[Tooltip("Middle joint of the limb (e.g. elbow or knee).")]
|
||||||
|
public Transform Mid;
|
||||||
|
|
||||||
|
[Tooltip("End joint of the limb (e.g. wrist or foot).")]
|
||||||
|
public Transform End;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class Controllers
|
||||||
|
{
|
||||||
|
[Tooltip("Target the end joint should try to reach.")]
|
||||||
|
public Transform Target;
|
||||||
|
|
||||||
|
[Tooltip("Optional pole to control the bending direction of the limb (e.g. elbow or knee direction).")]
|
||||||
|
public Transform Pole;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class Settings
|
||||||
|
{
|
||||||
|
[Tooltip("Local primary axis pointing toward the next bone.")]
|
||||||
|
public Axis PrimaryAxis = Axis.YPlus;
|
||||||
|
|
||||||
|
[Tooltip("Local secondary axis defining the bend 'up' direction.")]
|
||||||
|
public Axis SecondaryAxis = Axis.XMinus;
|
||||||
|
|
||||||
|
[Header("Settings")]
|
||||||
|
|
||||||
|
[Tooltip("Global IK blend weight (0 = no IK, 1 = full IK).")]
|
||||||
|
[Range(0f, 1f)]
|
||||||
|
public float Weight = 1;
|
||||||
|
|
||||||
|
[Tooltip("Apply the target rotation to the end joint.")]
|
||||||
|
public bool OrientEnd = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class VisualDebug
|
||||||
|
{
|
||||||
|
[Tooltip("Enable or disable IK debug gizmos.")]
|
||||||
|
public bool Gizmos = true;
|
||||||
|
|
||||||
|
[Tooltip("Scale of the axis gizmos drawn at each joint.")]
|
||||||
|
public float Size = 0.1f;
|
||||||
|
}
|
||||||
|
|
||||||
|
[SerializeField] private Joints _joints;
|
||||||
|
[SerializeField] private Controllers _controllers;
|
||||||
|
[SerializeField] private Settings _settings;
|
||||||
|
[SerializeField] private VisualDebug _debug;
|
||||||
|
|
||||||
|
public Transform Target => _controllers.Target;
|
||||||
|
public Transform Pole => _controllers.Pole;
|
||||||
|
|
||||||
|
private float _upperLength;
|
||||||
|
private float _lowerLength;
|
||||||
|
private float _maxReach;
|
||||||
|
|
||||||
|
private Quaternion _axesCorrection = Quaternion.identity;
|
||||||
|
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
void OnValidate()
|
||||||
|
{
|
||||||
|
RecalculateLengths();
|
||||||
|
RecalculateAxesCorrection();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
RecalculateLengths();
|
||||||
|
RecalculateAxesCorrection();
|
||||||
|
}
|
||||||
|
|
||||||
|
void LateUpdate()
|
||||||
|
{
|
||||||
|
Solve();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recomputes bone lengths and max reach.
|
||||||
|
/// </summary>
|
||||||
|
private void RecalculateLengths()
|
||||||
|
{
|
||||||
|
if (_joints.Start && _joints.Mid && _joints.End)
|
||||||
|
{
|
||||||
|
_upperLength = Vector3.Distance(_joints.Start.position, _joints.Mid.position);
|
||||||
|
_lowerLength = Vector3.Distance(_joints.Mid.position, _joints.End.position);
|
||||||
|
_maxReach = Mathf.Max(0f, _upperLength + _lowerLength - 0.0001f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Precomputes a local correction rotation so that:
|
||||||
|
/// - local primary axis is treated as +Z (forward)
|
||||||
|
/// - local secondary axis is treated as +Y (up)
|
||||||
|
/// </summary>
|
||||||
|
private void RecalculateAxesCorrection()
|
||||||
|
{
|
||||||
|
Vector3 pLocal = AxisToVector(_settings.PrimaryAxis).normalized;
|
||||||
|
Vector3 sLocal = AxisToVector(_settings.SecondaryAxis).normalized;
|
||||||
|
|
||||||
|
// Step 1: rotate primary axis to +Z
|
||||||
|
Quaternion qPrimary = Quaternion.FromToRotation(pLocal, Vector3.forward);
|
||||||
|
|
||||||
|
// Step 2: after this, rotate around Z so that secondary goes to +Y
|
||||||
|
Vector3 s1 = qPrimary * sLocal;
|
||||||
|
Vector3 s1Proj = Vector3.ProjectOnPlane(s1, Vector3.forward);
|
||||||
|
|
||||||
|
if (s1Proj.sqrMagnitude < 0.000001f)
|
||||||
|
{
|
||||||
|
_axesCorrection = qPrimary;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
s1Proj.Normalize();
|
||||||
|
Quaternion qTwist = Quaternion.FromToRotation(s1Proj, Vector3.up);
|
||||||
|
|
||||||
|
// This maps (primary, secondary) -> (Z+, Y+)
|
||||||
|
_axesCorrection = qTwist * qPrimary;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Solves IK for the current limb configuration.
|
||||||
|
/// Can be called manually if autoSolve is disabled.
|
||||||
|
/// </summary>
|
||||||
|
public void Solve()
|
||||||
|
{
|
||||||
|
if (_settings.Weight <= 0f)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!_joints.Start || !_joints.Mid || !_joints.End || !_controllers.Target)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (_upperLength <= 0f || _lowerLength <= 0f)
|
||||||
|
RecalculateLengths();
|
||||||
|
|
||||||
|
Vector3 startPos = _joints.Start.position;
|
||||||
|
Vector3 midPos = _joints.Mid.position;
|
||||||
|
Vector3 endPos = _joints.End.position;
|
||||||
|
|
||||||
|
Vector3 startToTarget = _controllers.Target.position - startPos;
|
||||||
|
float dist = startToTarget.magnitude;
|
||||||
|
if (dist < 0.0001f)
|
||||||
|
return;
|
||||||
|
|
||||||
|
dist = Mathf.Min(dist, _maxReach);
|
||||||
|
Vector3 dirToTarget = startToTarget.normalized;
|
||||||
|
|
||||||
|
Vector3 bendNormal;
|
||||||
|
|
||||||
|
if (_controllers.Pole)
|
||||||
|
{
|
||||||
|
Vector3 startToPole = (_controllers.Pole.position - startPos);
|
||||||
|
Vector3 side = Vector3.ProjectOnPlane(startToPole, dirToTarget);
|
||||||
|
if (side.sqrMagnitude < 0.000001f)
|
||||||
|
{
|
||||||
|
// Fallback if pole is collinear with forward
|
||||||
|
side = Vector3.right;
|
||||||
|
}
|
||||||
|
side.Normalize();
|
||||||
|
|
||||||
|
// Bend normal is perpendicular to forward and to that side
|
||||||
|
bendNormal = Vector3.Cross(dirToTarget, side);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Fallback: use start.up to define a side, then build a normal
|
||||||
|
Vector3 side = Vector3.ProjectOnPlane(_joints.Start.up, dirToTarget);
|
||||||
|
if (side.sqrMagnitude < 0.000001f)
|
||||||
|
side = Vector3.right;
|
||||||
|
side.Normalize();
|
||||||
|
|
||||||
|
bendNormal = Vector3.Cross(dirToTarget, side);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bendNormal.sqrMagnitude < 0.000001f)
|
||||||
|
return;
|
||||||
|
|
||||||
|
bendNormal.Normalize();
|
||||||
|
|
||||||
|
// Bend direction lies in the plane defined by dirToTarget and bendNormal
|
||||||
|
Vector3 bendDir = Vector3.Cross(bendNormal, dirToTarget).normalized;
|
||||||
|
|
||||||
|
float a = _upperLength;
|
||||||
|
float b = _lowerLength;
|
||||||
|
float c = dist;
|
||||||
|
|
||||||
|
// Law of cosines to compute start angle
|
||||||
|
float cos0 = Mathf.Clamp((a * a + c * c - b * b) / (2f * a * c), -1f, 1f);
|
||||||
|
float angle0 = Mathf.Acos(cos0);
|
||||||
|
|
||||||
|
float along = Mathf.Cos(angle0) * a;
|
||||||
|
float height = Mathf.Sin(angle0) * a;
|
||||||
|
|
||||||
|
Vector3 desiredMid = startPos + dirToTarget * along + bendDir * height;
|
||||||
|
Vector3 desiredEnd = _controllers.Target.position;
|
||||||
|
|
||||||
|
// Canonical solver rotations assuming +Z forward, +Y up
|
||||||
|
Quaternion startVirtual = Quaternion.LookRotation(desiredMid - startPos, bendNormal);
|
||||||
|
Quaternion midVirtual = Quaternion.LookRotation(desiredEnd - desiredMid, bendNormal);
|
||||||
|
|
||||||
|
// Map canonical frame to bone-local frame using axesCorrection
|
||||||
|
// (we expect bones to point along primaryAxis and bend using secondaryAxis)
|
||||||
|
Quaternion startDesired = startVirtual * _axesCorrection;
|
||||||
|
Quaternion midDesired = midVirtual * _axesCorrection;
|
||||||
|
|
||||||
|
_joints.Start.rotation = Quaternion.Slerp(_joints.Start.rotation, startDesired, _settings.Weight);
|
||||||
|
_joints.Mid.rotation = Quaternion.Slerp(_joints.Mid.rotation, midDesired, _settings.Weight);
|
||||||
|
|
||||||
|
if (_settings.OrientEnd)
|
||||||
|
{
|
||||||
|
_joints.End.rotation = Quaternion.Slerp(_joints.End.rotation, _controllers.Target.rotation, _settings.Weight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Converts a LocalAxis6 enum to a unit Vector3.
|
||||||
|
/// </summary>
|
||||||
|
private Vector3 AxisToVector(Axis axis)
|
||||||
|
{
|
||||||
|
switch (axis)
|
||||||
|
{
|
||||||
|
default: return Vector3.forward;
|
||||||
|
case Axis.XPlus: return Vector3.right;
|
||||||
|
case Axis.XMinus: return Vector3.left;
|
||||||
|
case Axis.YPlus: return Vector3.up;
|
||||||
|
case Axis.YMinus: return Vector3.down;
|
||||||
|
case Axis.ZMinus: return Vector3.back;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnDrawGizmos()
|
||||||
|
{
|
||||||
|
if (!_debug.Gizmos)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!_joints.Start || !_joints.Mid || !_joints.End)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Bones to Controllers
|
||||||
|
Gizmos.color = Color.yellow;
|
||||||
|
if (_controllers.Target)
|
||||||
|
Gizmos.DrawLine(_joints.End.position, _controllers.Target.position);
|
||||||
|
if (_controllers.Pole)
|
||||||
|
Gizmos.DrawLine(_joints.Mid.position, _controllers.Pole.position);
|
||||||
|
|
||||||
|
// Bones
|
||||||
|
Gizmos.color = Color.white;
|
||||||
|
Gizmos.DrawLine(_joints.Start.position, _joints.Mid.position);
|
||||||
|
Gizmos.DrawLine(_joints.Mid.position, _joints.End.position);
|
||||||
|
Gizmos.matrix = _joints.Start.localToWorldMatrix;
|
||||||
|
Gizmos.DrawWireSphere(Vector3.zero, _debug.Size * .15f);
|
||||||
|
Gizmos.matrix = _joints.Mid.localToWorldMatrix;
|
||||||
|
Gizmos.DrawWireSphere(Vector3.zero, _debug.Size * .15f);
|
||||||
|
Gizmos.matrix = _joints.End.localToWorldMatrix;
|
||||||
|
Gizmos.DrawWireSphere(Vector3.zero, _debug.Size * .15f);
|
||||||
|
|
||||||
|
// Target
|
||||||
|
if (_controllers.Target)
|
||||||
|
{
|
||||||
|
Gizmos.color = Color.yellow;
|
||||||
|
Gizmos.matrix = _controllers.Target.localToWorldMatrix;
|
||||||
|
Gizmos.DrawWireCube(Vector3.zero, Vector3.one * _debug.Size);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pole
|
||||||
|
if (_controllers.Pole)
|
||||||
|
{
|
||||||
|
Gizmos.color = Color.yellow;
|
||||||
|
Gizmos.matrix = _controllers.Pole.localToWorldMatrix;
|
||||||
|
Gizmos.DrawWireCube(Vector3.zero, Vector3.one * _debug.Size * .5f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f5a9786856021274fbe10be8b0cef721
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class OctoIkRaycast : MonoBehaviour
|
||||||
|
{
|
||||||
|
public float _distance = 1;
|
||||||
|
public Vector3 rotationOffset;
|
||||||
|
public Transform _target;
|
||||||
|
public LayerMask _layerMask;
|
||||||
|
|
||||||
|
Vector3 originPos;
|
||||||
|
Vector3 targetPos;
|
||||||
|
Quaternion originRot;
|
||||||
|
Quaternion targetRot;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
originPos = targetPos = _target.localPosition;
|
||||||
|
originRot = targetRot = _target.localRotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
float deltaPos = Time.deltaTime * 3f;
|
||||||
|
float deltaRot = Time.deltaTime * 3f;
|
||||||
|
|
||||||
|
RaycastHit hit;
|
||||||
|
|
||||||
|
if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), out hit, _distance, _layerMask))
|
||||||
|
{
|
||||||
|
Debug.DrawRay(transform.position, transform.TransformDirection(Vector3.forward) * hit.distance, Color.yellow);
|
||||||
|
|
||||||
|
targetPos = transform.InverseTransformPoint(hit.point);
|
||||||
|
targetRot = Quaternion.LookRotation(-transform.InverseTransformDirection(hit.normal), transform.up) * Quaternion.Euler(rotationOffset);
|
||||||
|
|
||||||
|
deltaPos = Mathf.Lerp(1, deltaPos, Mathf.Clamp01(hit.distance / _distance));
|
||||||
|
deltaRot = Mathf.Lerp(.1f, deltaRot, Mathf.Clamp01(hit.distance / _distance));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.DrawRay(transform.position, transform.TransformDirection(Vector3.forward) * _distance, Color.white);
|
||||||
|
|
||||||
|
targetPos = originPos;
|
||||||
|
targetRot = originRot;
|
||||||
|
}
|
||||||
|
|
||||||
|
_target.localPosition = Vector3.Lerp(_target.localPosition, targetPos, deltaPos);
|
||||||
|
_target.localRotation = Quaternion.Lerp(_target.localRotation, targetRot, deltaRot);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 99a9ae539a68f554cbab92ca6eb4e7e5
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore
|
||||||
|
{
|
||||||
|
[DefaultExecutionOrder(-102)]
|
||||||
|
public class OctoLink : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] Object _octoCore;
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
if (!OctoCore.Instance && _octoCore)
|
||||||
|
Instantiate(_octoCore);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: aca1ddad5b073a9488d37617a5fd8d9a
|
||||||
@@ -0,0 +1,297 @@
|
|||||||
|
using OctoCore.Inputs;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace OctoCore.Components
|
||||||
|
{
|
||||||
|
public class OctoPlayer : MonoBehaviour
|
||||||
|
{
|
||||||
|
public static OctoPlayer Instance { get; private set; }
|
||||||
|
|
||||||
|
public enum PlayerModes { FirstPerson, ThirdPerson }
|
||||||
|
public enum Orientations { World, Camera }
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class References
|
||||||
|
{
|
||||||
|
public CharacterController Controller;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class Settings
|
||||||
|
{
|
||||||
|
public PlayerModes Mode = PlayerModes.FirstPerson;
|
||||||
|
public Orientations Orientation = Orientations.Camera;
|
||||||
|
|
||||||
|
[Tooltip("Walk speed (km/h).")]
|
||||||
|
public float WalkSpeed = 10;
|
||||||
|
|
||||||
|
[Tooltip("Run speed (km/h).")]
|
||||||
|
public float RunSpeed = 20;
|
||||||
|
|
||||||
|
[Tooltip("Jump duration (seconds).")]
|
||||||
|
public float JumpDuration = .4f;
|
||||||
|
|
||||||
|
[Tooltip("Maximum jump height reached at the apex (meters).")]
|
||||||
|
public float JumpHeight = .4f;
|
||||||
|
|
||||||
|
[Tooltip("Downward acceleration applied to the player (m/s²).")]
|
||||||
|
public float Gravity = 9.8f;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class Mapping
|
||||||
|
{
|
||||||
|
public OctoActions MoveAction;
|
||||||
|
public OctoActions LookAction;
|
||||||
|
public OctoActions RunAction;
|
||||||
|
public OctoActions JumpAction;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
private class FirstPerson
|
||||||
|
{
|
||||||
|
[Header("References")]
|
||||||
|
|
||||||
|
public Camera Camera;
|
||||||
|
|
||||||
|
[Header("Settings")]
|
||||||
|
|
||||||
|
[Tooltip("Horizontal sensitivity (Yaw).")]
|
||||||
|
public float SensitivityX = 0.1f;
|
||||||
|
|
||||||
|
[Tooltip("Vertical sensitivity (Pitch).")]
|
||||||
|
public float SensitivityY = 0.1f;
|
||||||
|
|
||||||
|
[Tooltip("Minimum pitch (looking down).")]
|
||||||
|
public float MinPitch = -80f;
|
||||||
|
|
||||||
|
[Tooltip("Maximum pitch (looking up).")]
|
||||||
|
public float MaxPitch = 80f;
|
||||||
|
}
|
||||||
|
|
||||||
|
[SerializeField] private References _references;
|
||||||
|
[SerializeField] private Settings _settings;
|
||||||
|
[SerializeField] private Mapping _mapping;
|
||||||
|
[SerializeField] private FirstPerson _firstPerson;
|
||||||
|
|
||||||
|
private bool _isPaused;
|
||||||
|
private bool _jumpInput;
|
||||||
|
private bool _jumpping;
|
||||||
|
private bool _runInput;
|
||||||
|
private float _runInertia;
|
||||||
|
private float _yaw;
|
||||||
|
private float _pitch;
|
||||||
|
private float _jumpLerp;
|
||||||
|
private float _jumpTime;
|
||||||
|
private float _jumpAltitude;
|
||||||
|
private Vector2 _moveInput;
|
||||||
|
private Vector2 _lookInput;
|
||||||
|
private Vector3 _moveInertia;
|
||||||
|
private Vector3 _moveDirection;
|
||||||
|
|
||||||
|
public bool IsPaused => _isPaused;
|
||||||
|
public float Radius => _references.Controller ? _references.Controller.radius : 0;
|
||||||
|
|
||||||
|
void OnEnable()
|
||||||
|
{
|
||||||
|
if (!Instance) Instance = this;
|
||||||
|
else Destroy(gameObject);
|
||||||
|
|
||||||
|
OctoCore.Instance.Inputs.SubscribeAction(_mapping.MoveAction, Move);
|
||||||
|
OctoCore.Instance.Inputs.SubscribeAction(_mapping.LookAction, Look);
|
||||||
|
OctoCore.Instance.Inputs.SubscribeAction(_mapping.RunAction, Run);
|
||||||
|
OctoCore.Instance.Inputs.SubscribeAction(_mapping.JumpAction, Jump);
|
||||||
|
|
||||||
|
_yaw = transform.eulerAngles.y;
|
||||||
|
|
||||||
|
Pause(_isPaused);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnDisable()
|
||||||
|
{
|
||||||
|
OctoCore.Instance.Inputs.UnsubscribeAction(_mapping.MoveAction, Move);
|
||||||
|
OctoCore.Instance.Inputs.UnsubscribeAction(_mapping.RunAction, Run);
|
||||||
|
OctoCore.Instance.Inputs.UnsubscribeAction(_mapping.JumpAction, Jump);
|
||||||
|
|
||||||
|
if (Instance == this) Instance = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
_moveInput = _isPaused ? Vector2.zero : Vector2.ClampMagnitude(_moveInput, 1);
|
||||||
|
Camera cam = (_firstPerson.Camera && _firstPerson.Camera.enabled && _firstPerson.Camera.gameObject.activeInHierarchy) ? _firstPerson.Camera : Camera.main;
|
||||||
|
|
||||||
|
bool accelerating = _moveInput.magnitude > .1f;
|
||||||
|
bool isGrounded = _references.Controller ? _references.Controller.isGrounded : true;
|
||||||
|
float t = Time.deltaTime / 3.6f;
|
||||||
|
|
||||||
|
// Move
|
||||||
|
|
||||||
|
Vector3 move = new Vector3(_moveInput.x, 0, _moveInput.y);
|
||||||
|
|
||||||
|
if (_settings.Orientation == Orientations.Camera && cam)
|
||||||
|
{
|
||||||
|
Vector3 camForward = cam.transform.forward;
|
||||||
|
camForward.y = 0;
|
||||||
|
camForward.Normalize();
|
||||||
|
|
||||||
|
Vector3 camRight = cam.transform.right;
|
||||||
|
camRight.y = 0;
|
||||||
|
camRight.Normalize();
|
||||||
|
|
||||||
|
move = camRight * move.x + camForward * move.z;
|
||||||
|
}
|
||||||
|
|
||||||
|
float deltaSmooth = t * (accelerating ? 30 : 15);
|
||||||
|
_moveDirection = Vector3.Lerp(_moveDirection, move, deltaSmooth * 1.5f);
|
||||||
|
|
||||||
|
deltaSmooth *= 1 - Vector3.Cross(_moveInertia, _moveDirection).magnitude;
|
||||||
|
_moveInertia = Vector3.Lerp(_moveInertia, move, deltaSmooth);
|
||||||
|
|
||||||
|
if (!accelerating && _moveInertia.magnitude < .01f) _moveInertia = Vector3.zero;
|
||||||
|
|
||||||
|
_runInertia = Mathf.Lerp(_runInertia, _runInput ? 1 : 0, t * (accelerating ? 5 : 3));
|
||||||
|
|
||||||
|
Vector3 moveDelta = _moveInertia * t * Mathf.Lerp(_settings.WalkSpeed, _settings.RunSpeed, _runInertia);
|
||||||
|
|
||||||
|
if (isGrounded && _jumpInput && !_jumpping)
|
||||||
|
{
|
||||||
|
_jumpInput = false;
|
||||||
|
_jumpping = true;
|
||||||
|
_jumpLerp = 0;
|
||||||
|
_jumpTime = Time.timeSinceLevelLoad;
|
||||||
|
_jumpAltitude = transform.position.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
float jumpOffset = 0;
|
||||||
|
|
||||||
|
if (_jumpping)
|
||||||
|
{
|
||||||
|
_jumpLerp = (Time.timeSinceLevelLoad - _jumpTime) / _settings.JumpDuration;
|
||||||
|
|
||||||
|
if (_jumpLerp >= 1 || (_jumpLerp > .3f && isGrounded))
|
||||||
|
{
|
||||||
|
_jumpping = false;
|
||||||
|
_jumpLerp = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
float x = _jumpLerp;
|
||||||
|
x = x * 2 - 1f;
|
||||||
|
|
||||||
|
float y;
|
||||||
|
if (x < 0) y = Mathf.Sqrt(1f - x * x);
|
||||||
|
else y = Mathf.Cos(x * .5f * Mathf.PI);
|
||||||
|
y = _jumpAltitude + y * _settings.JumpHeight;
|
||||||
|
|
||||||
|
jumpOffset = y - transform.position.y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_jumpping)
|
||||||
|
moveDelta.y = jumpOffset;
|
||||||
|
else
|
||||||
|
moveDelta.y -= _settings.Gravity * Time.deltaTime;
|
||||||
|
|
||||||
|
if (_references.Controller)
|
||||||
|
_references.Controller.Move(moveDelta);
|
||||||
|
else
|
||||||
|
transform.position += moveDelta;
|
||||||
|
|
||||||
|
// Rotate
|
||||||
|
|
||||||
|
switch (_settings.Mode)
|
||||||
|
{
|
||||||
|
case PlayerModes.FirstPerson:
|
||||||
|
if (cam && !_isPaused)
|
||||||
|
{
|
||||||
|
Vector2 delta = _lookInput;
|
||||||
|
|
||||||
|
float mouseX = delta.x * _firstPerson.SensitivityX;
|
||||||
|
float mouseY = delta.y * _firstPerson.SensitivityY * -1;
|
||||||
|
|
||||||
|
_yaw += mouseX;
|
||||||
|
_pitch = Mathf.Clamp(_pitch + mouseY, _firstPerson.MinPitch, _firstPerson.MaxPitch);
|
||||||
|
|
||||||
|
transform.rotation = Quaternion.Euler(0, _yaw, 0);
|
||||||
|
cam.transform.localRotation = Quaternion.Euler(_pitch, 0, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PlayerModes.ThirdPerson:
|
||||||
|
{
|
||||||
|
Quaternion targetRot = transform.rotation;
|
||||||
|
if (_moveInertia.magnitude > .002f)
|
||||||
|
{
|
||||||
|
Vector3 offset = _moveInertia - _moveDirection;
|
||||||
|
offset *= _moveInertia.magnitude * _runInertia;
|
||||||
|
offset = Vector3.ClampMagnitude(offset * 1f, 1f);
|
||||||
|
Vector3 up = (Vector3.up - offset).normalized;
|
||||||
|
Quaternion lookRot = Quaternion.LookRotation(_moveInertia, up);
|
||||||
|
targetRot = Quaternion.Lerp(targetRot, lookRot, t * 30);
|
||||||
|
}
|
||||||
|
transform.rotation = targetRot;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset
|
||||||
|
|
||||||
|
_moveInput = Vector2.zero;
|
||||||
|
_lookInput = Vector2.zero;
|
||||||
|
_runInput = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Teleport(Vector3 position, Quaternion rotation)
|
||||||
|
{
|
||||||
|
_isPaused = _jumpInput = _jumpping = _runInput = false;
|
||||||
|
_runInertia = _jumpLerp = _jumpTime = _jumpAltitude = 0;
|
||||||
|
_moveInput = _lookInput = Vector2.zero;
|
||||||
|
_moveInertia = _moveDirection = Vector3.zero;
|
||||||
|
_yaw = rotation.eulerAngles.y;
|
||||||
|
_pitch = 0;
|
||||||
|
|
||||||
|
if (_references.Controller)
|
||||||
|
_references.Controller.enabled = false;
|
||||||
|
|
||||||
|
transform.position = position;
|
||||||
|
transform.rotation = rotation;
|
||||||
|
|
||||||
|
if (_references.Controller)
|
||||||
|
_references.Controller.enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Pause(bool pause)
|
||||||
|
{
|
||||||
|
_isPaused = pause;
|
||||||
|
|
||||||
|
if (OctoCore.Instance)
|
||||||
|
OctoCore.Instance.UI.SetCursor();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Move(Vector2 value) { _moveInput = value; }
|
||||||
|
private void Look(Vector2 value) { _lookInput = value; }
|
||||||
|
private void Run() { _runInput = true; }
|
||||||
|
private void Jump() { _jumpInput = true; }
|
||||||
|
|
||||||
|
private void SetMode()
|
||||||
|
{
|
||||||
|
switch (_settings.Mode)
|
||||||
|
{
|
||||||
|
case PlayerModes.FirstPerson:
|
||||||
|
// Activate First Person Camera
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PlayerModes.ThirdPerson:
|
||||||
|
// Activate Third Person Camera
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*public static float Arc(float x)
|
||||||
|
{
|
||||||
|
x = Mathf.Clamp01(x) * 2 - 1f;
|
||||||
|
return Mathf.Sqrt(1f - x * x);
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c85c0434d95406f4da8daa149ba90838
|
||||||
@@ -0,0 +1,194 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
using OctoCore.Save.Data;
|
||||||
|
|
||||||
|
namespace OctoCore.Components
|
||||||
|
{
|
||||||
|
public class OctoSaveEvent : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private OctoData data;
|
||||||
|
|
||||||
|
[SerializeField] private bool invertValue;
|
||||||
|
|
||||||
|
[SerializeField] private UnityEvent<bool> onInitBool;
|
||||||
|
[SerializeField] private UnityEvent<int> onInitInt;
|
||||||
|
[SerializeField] private UnityEvent<float> onInitFloat;
|
||||||
|
[SerializeField] private UnityEvent<string> onInitString;
|
||||||
|
[SerializeField] private UnityEvent<Vector4> onInitVector;
|
||||||
|
|
||||||
|
[SerializeField] private UnityEvent<bool> onChangeBool;
|
||||||
|
[SerializeField] private UnityEvent<int> onChangeInt;
|
||||||
|
[SerializeField] private UnityEvent<float> onChangeFloat;
|
||||||
|
[SerializeField] private UnityEvent<string> onChangeString;
|
||||||
|
[SerializeField] private UnityEvent<Vector4> onChangeVector;
|
||||||
|
|
||||||
|
private Action<bool> onValueChangedBool;
|
||||||
|
private Action<int> onValueChangedInt;
|
||||||
|
private Action<float> onValueChangedFloat;
|
||||||
|
private Action<string> onValueChangedString;
|
||||||
|
private Action<Vector4> onValueChangedVector;
|
||||||
|
|
||||||
|
void OnEnable()
|
||||||
|
{
|
||||||
|
if (!OctoCore.Instance) return;
|
||||||
|
|
||||||
|
if (data)
|
||||||
|
{
|
||||||
|
switch (data)
|
||||||
|
{
|
||||||
|
case global::OctoCore.Save.Data.OctoDataBool:
|
||||||
|
OnValueInit(OctoCore.Instance.Save.GetBool(data.Id));
|
||||||
|
OctoCore.Instance.Save.Subscribe(data, onValueChangedBool = OnValueChanged);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case global::OctoCore.Save.Data.OctoDataInt:
|
||||||
|
OnValueInit(OctoCore.Instance.Save.GetInt(data.Id));
|
||||||
|
OctoCore.Instance.Save.Subscribe(data, onValueChangedInt = OnValueChanged);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case global::OctoCore.Save.Data.OctoDataFloat:
|
||||||
|
OnValueInit(OctoCore.Instance.Save.GetFloat(data.Id));
|
||||||
|
OctoCore.Instance.Save.Subscribe(data, onValueChangedFloat = OnValueChanged);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case global::OctoCore.Save.Data.OctoDataString:
|
||||||
|
OnValueInit(OctoCore.Instance.Save.GetString(data.Id));
|
||||||
|
OctoCore.Instance.Save.Subscribe(data, onValueChangedString = OnValueChanged);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case global::OctoCore.Save.Data.OctoDataVector:
|
||||||
|
OnValueInit(OctoCore.Instance.Save.GetVector(data.Id));
|
||||||
|
OctoCore.Instance.Save.Subscribe(data, onValueChangedVector = OnValueChanged);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if (OctoCore.Instance.Development.Log)
|
||||||
|
Debug.Log($"Unsupported data: {data.Id}");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (OctoCore.Instance.Development.Log && data)
|
||||||
|
Debug.Log($"{name} subscribed on: {data.Id}");
|
||||||
|
}
|
||||||
|
else if (OctoCore.Instance.Development.Log && data)
|
||||||
|
{
|
||||||
|
Debug.Log($"Data is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnDisable()
|
||||||
|
{
|
||||||
|
if (!OctoCore.Instance) return;
|
||||||
|
|
||||||
|
if (data)
|
||||||
|
{
|
||||||
|
if (onValueChangedBool != null)
|
||||||
|
{
|
||||||
|
OctoCore.Instance.Save.Unsubscribe(data, onValueChangedBool);
|
||||||
|
onValueChangedBool = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (onValueChangedInt != null)
|
||||||
|
{
|
||||||
|
OctoCore.Instance.Save.Unsubscribe(data, onValueChangedInt);
|
||||||
|
onValueChangedInt = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (onValueChangedFloat != null)
|
||||||
|
{
|
||||||
|
OctoCore.Instance.Save.Unsubscribe(data, onValueChangedFloat);
|
||||||
|
onValueChangedFloat = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (onValueChangedString != null)
|
||||||
|
{
|
||||||
|
OctoCore.Instance.Save.Unsubscribe(data, onValueChangedString);
|
||||||
|
onValueChangedString = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (onValueChangedVector != null)
|
||||||
|
{
|
||||||
|
OctoCore.Instance.Save.Unsubscribe(data, onValueChangedVector);
|
||||||
|
onValueChangedVector = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (OctoCore.Instance.Development.Log && data)
|
||||||
|
Debug.Log($"{name} unsubscribed on: {data.Id}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueInit()
|
||||||
|
{
|
||||||
|
if (OctoCore.Instance.Development.Log && data)
|
||||||
|
Debug.Log($"Value initialized on: {data.Id}");
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueInit(bool value)
|
||||||
|
{
|
||||||
|
onInitBool?.Invoke(invertValue ? !value : value);
|
||||||
|
OnValueInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueInit(int value)
|
||||||
|
{
|
||||||
|
onInitInt?.Invoke(value);
|
||||||
|
OnValueChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueInit(float value)
|
||||||
|
{
|
||||||
|
onInitFloat?.Invoke(value);
|
||||||
|
OnValueChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueInit(string value)
|
||||||
|
{
|
||||||
|
onInitString?.Invoke(value);
|
||||||
|
OnValueChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueInit(Vector4 value)
|
||||||
|
{
|
||||||
|
onInitVector?.Invoke(value);
|
||||||
|
OnValueInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueChanged()
|
||||||
|
{
|
||||||
|
if (OctoCore.Instance.Development.Log && data)
|
||||||
|
Debug.Log($"Value changed on: {data.Id}");
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueChanged(bool value)
|
||||||
|
{
|
||||||
|
onChangeBool?.Invoke(invertValue ? !value : value);
|
||||||
|
OnValueChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueChanged(int value)
|
||||||
|
{
|
||||||
|
onChangeInt?.Invoke(value);
|
||||||
|
OnValueChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueChanged(float value)
|
||||||
|
{
|
||||||
|
onChangeFloat?.Invoke(value);
|
||||||
|
OnValueChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueChanged(string value)
|
||||||
|
{
|
||||||
|
onChangeString?.Invoke(value);
|
||||||
|
OnValueChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnValueChanged(Vector4 value)
|
||||||
|
{
|
||||||
|
onChangeVector?.Invoke(value);
|
||||||
|
OnValueChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2978f4ffc9fdd0f4387d6b5e41746646
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using OctoCore.Save.Data;
|
||||||
|
|
||||||
|
namespace OctoCore.Components
|
||||||
|
{
|
||||||
|
public class OctoSaveProxy : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private OctoData data;
|
||||||
|
|
||||||
|
public void SetData(OctoData data)
|
||||||
|
{
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetBool(bool value)
|
||||||
|
{
|
||||||
|
if (OctoCore.Instance)
|
||||||
|
OctoCore.Instance.Save.Set(data as global::OctoCore.Save.Data.OctoDataBool, value);
|
||||||
|
}
|
||||||
|
public void SetInt(int value)
|
||||||
|
{
|
||||||
|
if (OctoCore.Instance)
|
||||||
|
OctoCore.Instance.Save.Set(data as global::OctoCore.Save.Data.OctoDataInt, value);
|
||||||
|
}
|
||||||
|
public void SetFloat(float value)
|
||||||
|
{
|
||||||
|
if (OctoCore.Instance)
|
||||||
|
OctoCore.Instance.Save.Set(data as global::OctoCore.Save.Data.OctoDataFloat, value);
|
||||||
|
}
|
||||||
|
public void SetString(string value)
|
||||||
|
{
|
||||||
|
if (OctoCore.Instance)
|
||||||
|
OctoCore.Instance.Save.Set(data as global::OctoCore.Save.Data.OctoDataString, value);
|
||||||
|
}
|
||||||
|
public void SetVector(Vector4 value)
|
||||||
|
{
|
||||||
|
if (OctoCore.Instance)
|
||||||
|
OctoCore.Instance.Save.Set(data as global::OctoCore.Save.Data.OctoDataVector, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c1b0281cf6e469a43ad8ef7171913dad
|
||||||
@@ -0,0 +1,201 @@
|
|||||||
|
using OctoCore.Inputs;
|
||||||
|
using OctoCore.Utilities;
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
using UnityEngine.InputSystem;
|
||||||
|
|
||||||
|
namespace OctoCore.Components
|
||||||
|
{
|
||||||
|
public class OctoWorldEvent : MonoBehaviour
|
||||||
|
{
|
||||||
|
public enum Conditions { None, Player, Tags, Targets }
|
||||||
|
|
||||||
|
//[SerializeField] private InputActionAsset _actionAsset;
|
||||||
|
//[SerializeField] private InputActionReference _actionReference;
|
||||||
|
//[Space(10)]
|
||||||
|
|
||||||
|
[SerializeField] private Utilities.OctoEvents _trigger;
|
||||||
|
[SerializeField] private OctoActions _action;
|
||||||
|
[SerializeField] private Conditions _condition;
|
||||||
|
[SerializeField] private string[] _tags;
|
||||||
|
[SerializeField] private GameObject[] _targets;
|
||||||
|
[SerializeField] private UnityEvent _onTrigger;
|
||||||
|
|
||||||
|
private bool _playerInside;
|
||||||
|
private bool[] _tagsInside;
|
||||||
|
private bool[] _targetsInside;
|
||||||
|
|
||||||
|
private const string PlayerTag = "Player";
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
_tagsInside = new bool[_tags.Length];
|
||||||
|
_targetsInside = new bool[_targets.Length];
|
||||||
|
|
||||||
|
switch (_trigger)
|
||||||
|
{
|
||||||
|
case Utilities.OctoEvents.Awake:
|
||||||
|
SetTrigger();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Utilities.OctoEvents.Action:
|
||||||
|
OctoCore.Instance.Inputs.SubscribeAction(_action, SetTrigger);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnEnable()
|
||||||
|
{
|
||||||
|
if (_trigger == Utilities.OctoEvents.OnEnable)
|
||||||
|
SetTrigger();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
if (_trigger == Utilities.OctoEvents.Start)
|
||||||
|
SetTrigger();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
if (_trigger == Utilities.OctoEvents.Update)
|
||||||
|
SetTrigger();
|
||||||
|
}
|
||||||
|
|
||||||
|
void LateUpdate()
|
||||||
|
{
|
||||||
|
if (_trigger == Utilities.OctoEvents.LateUpdate)
|
||||||
|
SetTrigger();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FixedUpdate()
|
||||||
|
{
|
||||||
|
if (_trigger == Utilities.OctoEvents.FixedUpdate)
|
||||||
|
SetTrigger();
|
||||||
|
}
|
||||||
|
void OnDisable()
|
||||||
|
{
|
||||||
|
if (_trigger == Utilities.OctoEvents.OnDisable)
|
||||||
|
SetTrigger();
|
||||||
|
|
||||||
|
_playerInside = false;
|
||||||
|
_tagsInside = new bool[_tags.Length];
|
||||||
|
_targetsInside = new bool[_targets.Length];
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnDestroy()
|
||||||
|
{
|
||||||
|
switch (_trigger)
|
||||||
|
{
|
||||||
|
case Utilities.OctoEvents.OnDestroy:
|
||||||
|
SetTrigger();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Utilities.OctoEvents.Action:
|
||||||
|
OctoCore.Instance?.Inputs.UnsubscribeAction(_action, SetTrigger);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnTriggerEnter(Collider col)
|
||||||
|
{
|
||||||
|
if (_trigger == Utilities.OctoEvents.OnTriggerEnter)
|
||||||
|
{
|
||||||
|
EvaluateTrigger(col);
|
||||||
|
SetTrigger();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnTriggerStay(Collider col)
|
||||||
|
{
|
||||||
|
EvaluateTrigger(col);
|
||||||
|
if (_trigger == Utilities.OctoEvents.OnTriggerStay)
|
||||||
|
SetTrigger();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnTriggerExit(Collider col)
|
||||||
|
{
|
||||||
|
if (_trigger == Utilities.OctoEvents.OnTriggerExit)
|
||||||
|
SetTrigger();
|
||||||
|
EvaluateTrigger(col, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetTrigger()
|
||||||
|
{
|
||||||
|
switch (_condition)
|
||||||
|
{
|
||||||
|
case Conditions.None:
|
||||||
|
_onTrigger?.Invoke();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Conditions.Player:
|
||||||
|
if (_playerInside)
|
||||||
|
_onTrigger?.Invoke();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Conditions.Tags:
|
||||||
|
for (int i = 0; i < _tagsInside.Length; i++)
|
||||||
|
{
|
||||||
|
if (_tagsInside[i])
|
||||||
|
{
|
||||||
|
_onTrigger?.Invoke();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Conditions.Targets:
|
||||||
|
for (int i = 0; i < _targetsInside.Length; i++)
|
||||||
|
{
|
||||||
|
if (_targetsInside[i])
|
||||||
|
{
|
||||||
|
_onTrigger?.Invoke();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void EvaluateTrigger(Collider col, bool inside = true)
|
||||||
|
{
|
||||||
|
switch (_condition)
|
||||||
|
{
|
||||||
|
case Conditions.Player:
|
||||||
|
if (col.tag == PlayerTag)
|
||||||
|
_playerInside = inside;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Conditions.Tags:
|
||||||
|
if (_tags.Contains(col.tag))
|
||||||
|
{
|
||||||
|
for (int i = 0; i < _tags.Length; i++)
|
||||||
|
{
|
||||||
|
bool tagMatch = col.tag == _tags[i];
|
||||||
|
if (tagMatch)
|
||||||
|
{
|
||||||
|
_tagsInside[i] = inside ? tagMatch : !tagMatch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Conditions.Targets:
|
||||||
|
if (_targets.Contains(col.gameObject))
|
||||||
|
{
|
||||||
|
for (int i = 0; i < _targets.Length; i++)
|
||||||
|
{
|
||||||
|
bool targetMatch = col.gameObject == _targets[i];
|
||||||
|
if (targetMatch)
|
||||||
|
{
|
||||||
|
_targetsInside[i] = inside ? targetMatch : !targetMatch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5170627695bd877419928fa9ca37865d
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user