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