version 1.3
This commit is contained in:
8
Assets/FirstGearGames/Supporters/Assets.meta
Normal file
8
Assets/FirstGearGames/Supporters/Assets.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fb94be6339038d44aa8d11c809a589d9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
279
Assets/FirstGearGames/Supporters/Assets/ChangeLog.txt
Normal file
279
Assets/FirstGearGames/Supporters/Assets/ChangeLog.txt
Normal file
@@ -0,0 +1,279 @@
|
||||
2022/01/29
|
||||
- General
|
||||
+ Fixed breaks caused by Mirror update 57x.
|
||||
|
||||
- Fast Proximity Checker
|
||||
+ Mirror changes in 57x prevent this asset from working. Please change to a lower Mirror version. You may also switch over to Fish-Networking; more features, better performance, promised stability, still free.
|
||||
We have an upgrade to Fish-Networking guide and your subscriber status will carry over into Fish-networking.
|
||||
https://fish-networking.gitbook.io/docs/
|
||||
|
||||
2021/10/23
|
||||
- General
|
||||
+ Fixed breaks caused by Mirror update 53x.
|
||||
|
||||
2021/09/11
|
||||
- Flex Network Transform
|
||||
+ Removed Reliable and Resend Unreliable options. Component now always uses unreliable. This will not affect anyone's project.
|
||||
+ Can now enable/disable synchronization for properties at runtime. Must be called from the authoritative side. Used by calling fntReference.SetSynchronizePosition ect).
|
||||
|
||||
- Flex Network Animator
|
||||
+ Added sendImmediately parameter to SetTrigger. This is generally not needed but can be useful if you wish to send the trigger as animator parameters are currently rather than what they may be next interval.
|
||||
|
||||
2021/07/14
|
||||
- Flex Network Animator
|
||||
+ Fixed client authoritative throwing end of stream when a client would send data at irregular intervals to server.
|
||||
|
||||
2021/07/08
|
||||
- Flex Network Animator
|
||||
- Flex Network Transform
|
||||
+ Moved a section of code away from using NetworkWriter/Readers. Mirror was unexpectedly trying to use empty Writers previously used in these components causing problems within Mirror.
|
||||
|
||||
2021/07/01
|
||||
- Flex Network Animator
|
||||
+ Fixed break caused by Mirror update. Method not found WriteBool.
|
||||
|
||||
-Flex Network Transform
|
||||
+ Last release no longer experimental.
|
||||
+ Fixed extrapolation sometimes not resetting in server authoritative environment.
|
||||
|
||||
2021/06/13
|
||||
- Flex Network Animator
|
||||
+ Fixed Crossfade API regularly being one animation behind.
|
||||
+ PlayInFixedTime API actually takes a time argument now; guess no one was using this!
|
||||
|
||||
2021/06/09
|
||||
- All
|
||||
+ Mirage support officially removed.
|
||||
+ Suppressed obsolete warnings for NetworkVisibility.
|
||||
+ Fixed Length errors caused by most recent Mirror changes.
|
||||
+ Fixed warning spam caused by most recent Mirror changes in addition to NetworkVisibility warnings.
|
||||
|
||||
- Flex Network Transform
|
||||
+ Performance drastically increased, and scales considerably better than any other transform component. Flex Network Transform is over 15 times faster than Network Transform with 200 clients.
|
||||
+ Extrapolation now works on platforms.
|
||||
+ Added ForceSendTransform API, allowing you to force transform updates which are guaranteed to replicate accurately on observers. This is useful if you want to send slower updates but ensure certain actions are replicated, such as the peak of a jump or double jumps.
|
||||
+ Added demo for ForceSendTransform API.
|
||||
|
||||
- Flex Network Animator
|
||||
+ If received client updates become excessive then they are no longer sent in order to observers, now only current values are under this condition.
|
||||
+ A few extra sanity checks for unusual circumstances. Nothing to see here.
|
||||
+ Minor performance boost when using client authoritative.
|
||||
|
||||
2021/05/17
|
||||
- Fast Proximity Checker
|
||||
+ Added some catches for invalid user input.
|
||||
|
||||
2021/04/25
|
||||
- Flex Network Animator
|
||||
+ Added Crossfade API support.
|
||||
+ Mirage information removed from README since it's no longer supported at this time.
|
||||
|
||||
- Flex Network Transform
|
||||
+ Mirage information removed from README since it's no longer supported at this time.
|
||||
|
||||
2021/04/23
|
||||
- All
|
||||
+ Separated required packages.
|
||||
|
||||
- Reactive Physics Object
|
||||
+ Updated API to use latest Fundamental package.
|
||||
|
||||
2021/04/20
|
||||
- Fast Proximity Checker
|
||||
+ Fixed bug with more recent mirror releases that would cause objects to flicker in and out.
|
||||
|
||||
- Reactive Physics Object
|
||||
+ Fixed bug which could possibly cause jitter while being used for 2D.
|
||||
|
||||
2021/04/14
|
||||
- Fast Proximity Checker
|
||||
+ Made faster. Mirror's spatial hashing didn't stand a chance.
|
||||
|
||||
2021/04/06
|
||||
- Flex Network Transform
|
||||
+ Fixed transforms sometimes being out of synchronization until they move again after spawning in while falling at an accelerated rate, while also experiencing very low frames per second.
|
||||
|
||||
2021/03/25
|
||||
- Flex Network Transform
|
||||
+ Added Smoothing Loop option. Smoothing can now optionally be performed in LateUpdate.
|
||||
+ Massive performance update. FlexNetworkTransform now has virtually no impact from it's operations. These changes resulted in roughly a 15% performance boost while under load and a 200-300% boost under normal conditions. More refactoring is expected but nothing that would risk stability or need testing.
|
||||
|
||||
2021/02/26
|
||||
- Flex Network Animator
|
||||
+ Zero garbage collection release! FlexNetworkAnimator is roughly 2X faster than NetworkAnimator now.
|
||||
+ Bandwidth usage improvements; now uses about 4.5% the bandwidth of NetworkAnimator.
|
||||
+ Better client authoritative animations, and protections. Like NetworkAnimator, previously animations from clients could be missed if the client sent too many animations too quickly. FlexNetworkAnimator now has protection against excessive animations from clients and ensures proper replication, so long as client isn't abusing the network.
|
||||
|
||||
2021/02/05
|
||||
- Flex Network Transform
|
||||
+ Zero garbage collection release! Performance improved by a minimum of 17%.
|
||||
+ Bandwidth usage scales better. 500 objects now use roughly 4% less bandwidth.
|
||||
+ MirrorNG officially supported again.
|
||||
|
||||
- Flex Network Animator
|
||||
+ Fixed NRE related to compressing large values.
|
||||
+ Fixed not all cached data being reset when changing animator or controller.
|
||||
+ MirrorNG officially supported again.
|
||||
+ Garbage collection is still present in this release; FNA is receiving the same optimizations as FNT next release.
|
||||
|
||||
2021/01/29
|
||||
- Flex Network Transform
|
||||
+ SetPlatform renamed to SetAttached; SetPlatform marked obsolete.
|
||||
+ SetAttached can now be used to attach to child objects, such as picking up world objects in your players hand! View READ ME for more information.
|
||||
|
||||
2021/01/17
|
||||
- Flex Network Transform
|
||||
+ Fixed server not sending updates when running as a server build while using timed interval while having a low tick rate.
|
||||
|
||||
2021/01/09
|
||||
- Improvements
|
||||
+ Component scripts now have the FirstGearGames icon on them.
|
||||
|
||||
- Flex Network Transform
|
||||
+ Improved tooltip text.
|
||||
|
||||
- Flex Network Animator
|
||||
+ You may now set the animator and controller at runtime. You must manually synchronize these changes.
|
||||
+ Added README for new API.
|
||||
|
||||
2021/01/02
|
||||
- Flex Network Transform
|
||||
+ Set maximum MTU to 1200 for manager.
|
||||
+ No longer experimental!
|
||||
+ Renamed 'stable' package to 'old'.
|
||||
|
||||
- Flex Network Animator
|
||||
+ Fixed a typo on a file name.
|
||||
+ Set maximum MTU to 1200 for manager.
|
||||
|
||||
2020/12/31
|
||||
- Flex Network Transform
|
||||
+ Backported 'precise synchronization' fixes to stable.
|
||||
|
||||
- Flex Network Animator
|
||||
+ Built from the ground up! Previously FlexNetworkAnimator was using code from NetworkAnimator; that is no more! FlexNetworkAnimator now only uses 11-13% the bandwidth of NetworkAnimator and has a scaling 200% FPS gain over NetworkAnimator.
|
||||
|
||||
2020/12/24
|
||||
- Flex Network Transform
|
||||
+ Fixed transforms not synchronizing when having more than one FlexNetworkTransform on an object, whether it be a child FlexNetworkTransform, or FlexNetworkTransform on a child object.
|
||||
+ Reduced chances of extrapolation overshooting when using client authoritative movement on poor connections.
|
||||
+ Added back in sequence checking for unreliable packets when sending from client to server. This was intentionally removed with intentions to be added back in after testing recent changes.
|
||||
+ Fixed possibility of some packets being ignored when they shouldn't be when synchronizing hundreds of objects.
|
||||
+ Clients now use recent optimizations when sending to server; in the previous update only server was using the optimizations.
|
||||
+ Fixed extrapolation regularly overshooting and not properly expiring.
|
||||
|
||||
2020/12/18
|
||||
- Flex Network Transform
|
||||
+ Made Compress Small Values enabled by default.
|
||||
+ Massive performance improvements. FlexNetworkTransform does substantially better with bandwidth and frame rate compared to competitors.
|
||||
|
||||
- Flex Network Animator
|
||||
+ Fixed breaks caused by Mirror upgrade.
|
||||
|
||||
2020/12/17
|
||||
- Flex Network Transform
|
||||
+ Removed precise synchronization option, it's now always on.
|
||||
+ Reduced bandwidth usage by 10%; more drastic reductions under investigation.
|
||||
+ Improved performance by 15%.
|
||||
+ Added Compress Small Values option. When enabled will compress small values to the 100th decimal place; this saves additional bandwidth at the cost of precision.
|
||||
|
||||
- Reactive Physics Object
|
||||
+ Removed precise synchronization option, it's now always on.
|
||||
|
||||
2020/12/05
|
||||
- Flex Network Transform
|
||||
+ Fixed data sending excessively due to failed transform changes.
|
||||
+ Unreliable sends can now optionally resend data. True to resend transform data with every unreliable packet. At the cost of bandwidth this will ensure smoother movement on very unstable connections but generally is not needed.
|
||||
+ Added Favor Performance option while using timed intervals. While true FlexNetworkTransform will favor performance over update frequency. This is ideal when transform updates can be delayed very slightly.
|
||||
+ More bandwidth saved by limiting who can receive remote actions.
|
||||
|
||||
2020/12/01
|
||||
- Flex Network Transform
|
||||
+ Platform support improved; transforms previously struggled to stay synchronized with rotating platforms, or very long platforms. Transforms now stay in perfect synchronization under all conditions.
|
||||
+ More rotation compression; reduced rotation sends by 2 bytes.
|
||||
|
||||
2020/11/18
|
||||
- Flex Network Transform
|
||||
+ Added the ability to synchronize to networked platforms using FlexNetworkTransform.SetPlatform(platformNetworkIdentity). View FlexNetworkTransform README for more information.
|
||||
|
||||
- Flex Network Animator
|
||||
+ Fixed animations not going back to owner when using Synchronize To Owner.
|
||||
+ Fixed client authoritative animations not working on client host. (regression from synchronize to owner fix 2020/11/18)
|
||||
|
||||
2020/11/01
|
||||
- Flex Network Transform
|
||||
+ Transforms are no longer forced into their last properties when synchronization for the property is disabled.
|
||||
|
||||
2020/10/29
|
||||
- Flex Network Transform
|
||||
+ Fixed server sometimes not sending latest transform data while running as client host, while trading authority on scene objects.
|
||||
|
||||
2020/10/07
|
||||
- Flex Network Transform
|
||||
+ Added Teleport Threshold. Transform will teleport if threshold value is not 0, and if distance between current position and target position is greater than value.
|
||||
+ New compression on rotation for better accuracy.
|
||||
+ FlexNetworkTransform and FlexNetworkTransformChild will now immediately synchronize current transform properties for new clients. This change addresses a bug where FlexNetworkTransformChild would not have correct transform properties if the object has moved prior to the player joining, but not after. This also adds support for using FlexNetworkTransform directly on children objects when the networking solution allows child networked objects.
|
||||
+ MirrorNG support added. Also the start of allowing support for even more networking platforms.
|
||||
+ You can now hook into FlexNetworkTransform/Child to validate data received from clients when using Client Authority. See README in FlexNetworkTransform folder.
|
||||
+ SequenceId is now a uint, resulting in less bandwidth used for UDP/Unreliable.
|
||||
+ Objects can no longer be moved by clients while server has not yet sent data. This is most commonly seen when a player spawns in and transforms haven't yet changed.
|
||||
|
||||
2020/10/01
|
||||
- Flex Network Animator
|
||||
+ Initial release.
|
||||
|
||||
2020/09/27
|
||||
- Flex Network Transform
|
||||
+ Fixed FlexNetworkTransformChild not sending transform properties to late joiners until the child object has moved.
|
||||
+ Automatic Interpolation and Interpolation strength have been removed. Use Interpolation Fallbehind instead. This is how far the transform will stay behind it's actual position to compensate for packet loss and throttle.
|
||||
+ Extrapolation is back, and better than ever. Extrapolation Span is how long the transform can extrapolate for when a new packet is expected but does not arrive. This can be combined with a low Interpolation Fallbehind value for near real-time accuracy.
|
||||
+ Fixed properties sometimes not updating to spectators when server was running as client host, while another client was also client authoritative.
|
||||
+ Fixed properties sometimes sending even when they have not changed; no visual disturbance could be seen but this was incuring bandwidth cost.
|
||||
+ Updated inspector to be more helpful.
|
||||
|
||||
2020/09/02
|
||||
- Flex Network Transform:
|
||||
+ Fixed transforms not moving to a rotation if the change was very small; most commonly seen in 2D games. This was due to Unity incorrectly reporting that rotation values were matching.
|
||||
+ Fixed extrapolation being applied to a transforms position even when a position update did not occur. This could be seen when rotating or scaling while not moving.
|
||||
|
||||
2020/08/27
|
||||
- Flex Network Transform:
|
||||
+ Fixed data sending excessively when synchronizing rotation while using world space.
|
||||
|
||||
2020/08/23
|
||||
- Flex Network Transform:
|
||||
+ Fixed position snapping being applied to scale.
|
||||
+ Improvements to performance.
|
||||
|
||||
2020/08/19
|
||||
- Flex Network Transform:
|
||||
+ Minor improvements to extrapolation.
|
||||
|
||||
2020/08/09
|
||||
- Fast Proximity Checker:
|
||||
+ There is now a `Continuous` option, which is the default behavior. When enabled FastProximityChecker will regularly perform visibility checks. When false visibility checks will only occur on start, and when called manually. This change is useful if you know the object and other objects will always be in range on spawn, such as for a card or board game.
|
||||
|
||||
- Flex Network Transform:
|
||||
+ Can now choose between Interval and FixedUpdate for when data is synchronized.
|
||||
+ Supports reliable and unreliable synchronization methods. For best results use Unreliable with a UDP transport.
|
||||
+ Removed ability to disable Enforce Results.
|
||||
+ Added extrapolation to help predict movement when network traffic becomes unsteady.
|
||||
+ Added UseLocalSpace. True by default to synchronize using localSpace values. False to use world space. Can be useful if you have a habbit of making child networked objects.
|
||||
+ PreciseSynchronization is now false by default.
|
||||
|
||||
- Reactive Physics Object:
|
||||
+ Can now choose between Interval and FixedUpdate for when data is synchronized.
|
||||
+ Supports reliable and unreliable synchronization methods. For best results use Unreliable with a UDP transport.
|
||||
+ Added PreciseSynchronization. True to synchronize data anytime it has changed. False to allow greater differences before synchronizing. Given that rigidbodies often shift continuously it's recommended to leave this false to not flood the network.
|
||||
+ Added UseLocalSpace. True by default to synchronize using localSpace values. False to use world space. Can be useful if you have a habbit of making child networked objects.
|
||||
+ Objects now snap into place when unable to meet synchronization goal after a duration. This effect often goes unnoticed as the difference is minuscule due to floating point imprecisions.
|
||||
+ Added "AllowTeleport()" method. Calling the method clears the data to synchronize to, until another is received. This can be useful to call before teleporting an object locally, so it doesn't snap back to it's synchronized data. You would also want to move the same on the server.
|
||||
+ Added "ReduceAggressiveness()" method. This method temporarily reduces how aggressive the gameObject will move towards the last received synchronization data. Ideally you will call this method every time your controller moves your object.
|
||||
|
||||
2020/07/26
|
||||
- Organized files. It's much more clear now what is demo code, and actual content.
|
||||
- Fixed bug in FastProximityChecker that would sometimes cause objects to not unhide when in range.
|
||||
|
||||
2020/07/12
|
||||
- Reactive Physics Object now automatically determines if a controller or not. You must only set if object is 2D or 3D.
|
||||
- Flex Network Transform and ReactivePhysicsObject can now synchronize using world space values rather than the default local space. Although not recommended, this can be useful if you need to child a networked object.
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e91602fd4f14714796bc5677d18e7ee
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec43183f1463cfa409514b876093e7ee
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3fd0b4d5ecd6ec146875ac30118232da
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 740388848fbb37645acc07da45c09317
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,77 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Cube
|
||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _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}
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 0.990566, g: 0.4625756, b: 0.4625756, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0f782465d6fb9ab42b114f8b8f2eca00
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,77 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Ground
|
||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _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}
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 0, g: 0.5660378, b: 0.14346087, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e834ef8b48b5fa1468dca88672040b52
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,77 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Player
|
||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _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}
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d1e1fda763d09b74689b8c61324658c5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2ff7097e8b8c486439e3769916070649
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9427f1df281f294b9261d1ba5b2e3f4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,118 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1065620569622945213
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1065620569622945200}
|
||||
- component: {fileID: 1065620569622945201}
|
||||
- component: {fileID: 1065620569622945202}
|
||||
- component: {fileID: 8736983630549506798}
|
||||
- component: {fileID: 114960909682353454}
|
||||
m_Layer: 0
|
||||
m_Name: FastProximityCube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1065620569622945200
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1065620569622945201
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &1065620569622945202
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 0f782465d6fb9ab42b114f8b8f2eca00, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &8736983630549506798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &114960909682353454
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8f1f9d1ccae3c414fa8d1d0758e1c9e2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_continuous: 1
|
||||
_localPlayerOnly: 1
|
||||
_visibilityRange: 20
|
||||
_forceHidden: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70f52d2d172a85c4281b7d4affb8fd4d
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,69 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1065620569622945213
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1065620569622945200}
|
||||
- component: {fileID: 8736983630549506798}
|
||||
- component: {fileID: 114960909682353454}
|
||||
m_Layer: 0
|
||||
m_Name: FastProximityCube_NoRender
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1065620569622945200
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8736983630549506798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &114960909682353454
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8f1f9d1ccae3c414fa8d1d0758e1c9e2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_continuous: 1
|
||||
_localPlayerOnly: 1
|
||||
_visibilityRange: 20
|
||||
_forceHidden: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f3971d2ac9356449b583cc70492f674
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,153 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1065620569622945213
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1065620569622945200}
|
||||
- component: {fileID: 1065620569622945201}
|
||||
- component: {fileID: 1065620569622945202}
|
||||
- component: {fileID: 8736983630549506798}
|
||||
- component: {fileID: 114413388656205686}
|
||||
- component: {fileID: 114936428756952280}
|
||||
- component: {fileID: 8072949208442424662}
|
||||
m_Layer: 0
|
||||
m_Name: Player
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1065620569622945200
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 3, y: 3, z: 3}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1065620569622945201
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &1065620569622945202
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d1e1fda763d09b74689b8c61324658c5, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &8736983630549506798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &114413388656205686
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2f74aedd71d9a4f55b3ce499326d45fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
clientAuthority: 1
|
||||
localPositionSensitivity: 0.01
|
||||
localRotationSensitivity: 0.01
|
||||
localScaleSensitivity: 0.01
|
||||
--- !u!114 &114936428756952280
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 09ea08209d91d76468cc974041aa16c1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_moveRate: 35
|
||||
--- !u!114 &8072949208442424662
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8f1f9d1ccae3c414fa8d1d0758e1c9e2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_continuous: 1
|
||||
_localPlayerOnly: 1
|
||||
_visibilityRange: 20
|
||||
_forceHidden: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b46c9e343cfd6841a3651e89704a3fa
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b59cf199d2ac80945825ba25432f524c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,99 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1065620569622945213
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1065620569622945200}
|
||||
- component: {fileID: 1065620569622945201}
|
||||
- component: {fileID: 1065620569622945202}
|
||||
- component: {fileID: 8736983630549506798}
|
||||
m_Layer: 0
|
||||
m_Name: InterestManagementCube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1065620569622945200
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1065620569622945201
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &1065620569622945202
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 0f782465d6fb9ab42b114f8b8f2eca00, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &8736983630549506798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 17ae2e3f8e40d5b489a3d499c46472c4
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,50 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1065620569622945213
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1065620569622945200}
|
||||
- component: {fileID: 8736983630549506798}
|
||||
m_Layer: 0
|
||||
m_Name: InterestManagementCube_NoRender
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1065620569622945200
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8736983630549506798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4af99eb1790b48641b3bffb0b5f36f9b
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,134 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3243040657331239809
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3243040657331239820}
|
||||
- component: {fileID: 3243040657331239821}
|
||||
- component: {fileID: 3243040657331239822}
|
||||
- component: {fileID: 6523534819607411922}
|
||||
- component: {fileID: 2476480987580594506}
|
||||
- component: {fileID: 2472500496721920740}
|
||||
m_Layer: 0
|
||||
m_Name: InterestManagementPlayer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3243040657331239820
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 3, y: 3, z: 3}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &3243040657331239821
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &3243040657331239822
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d1e1fda763d09b74689b8c61324658c5, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &6523534819607411922
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &2476480987580594506
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2f74aedd71d9a4f55b3ce499326d45fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
clientAuthority: 1
|
||||
localPositionSensitivity: 0.01
|
||||
localRotationSensitivity: 0.01
|
||||
localScaleSensitivity: 0.01
|
||||
--- !u!114 &2472500496721920740
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 09ea08209d91d76468cc974041aa16c1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_moveRate: 35
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8b2672636a669148ab969a446be3a8f
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 87b23c7d699569d4db55cd258f93199a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,99 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1065620569622945213
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1065620569622945200}
|
||||
- component: {fileID: 1065620569622945201}
|
||||
- component: {fileID: 1065620569622945202}
|
||||
- component: {fileID: 8736983630549506798}
|
||||
m_Layer: 0
|
||||
m_Name: MProximityCube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1065620569622945200
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1065620569622945201
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &1065620569622945202
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 0f782465d6fb9ab42b114f8b8f2eca00, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &8736983630549506798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 07b7106a9279c7e49bb952fc51141d67
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,50 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1065620569622945213
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1065620569622945200}
|
||||
- component: {fileID: 8736983630549506798}
|
||||
m_Layer: 0
|
||||
m_Name: MProximityCubeNoRender
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1065620569622945200
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8736983630549506798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ded9d0ca6494bbd41801d5d80494d832
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,134 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3243040657331239809
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3243040657331239820}
|
||||
- component: {fileID: 3243040657331239821}
|
||||
- component: {fileID: 3243040657331239822}
|
||||
- component: {fileID: 6523534819607411922}
|
||||
- component: {fileID: 2476480987580594506}
|
||||
- component: {fileID: 2472500496721920740}
|
||||
m_Layer: 0
|
||||
m_Name: MProximityPlayer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3243040657331239820
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 3, y: 3, z: 3}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &3243040657331239821
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &3243040657331239822
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: d1e1fda763d09b74689b8c61324658c5, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &6523534819607411922
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
visible: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &2476480987580594506
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2f74aedd71d9a4f55b3ce499326d45fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
clientAuthority: 1
|
||||
localPositionSensitivity: 0.01
|
||||
localRotationSensitivity: 0.01
|
||||
localScaleSensitivity: 0.01
|
||||
--- !u!114 &2472500496721920740
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3243040657331239809}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 09ea08209d91d76468cc974041aa16c1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_moveRate: 35
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db69567a491fef74e8d3c2f52eb60cb6
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,116 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1065620569622945213
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1065620569622945200}
|
||||
- component: {fileID: 1065620569622945201}
|
||||
- component: {fileID: 1065620569622945202}
|
||||
- component: {fileID: 8736983630549506798}
|
||||
- component: {fileID: 114182890525259188}
|
||||
m_Layer: 0
|
||||
m_Name: RegularProximityCube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1065620569622945200
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &1065620569622945201
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &1065620569622945202
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 0f782465d6fb9ab42b114f8b8f2eca00, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &8736983630549506798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &114182890525259188
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065620569622945213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1731d8de2d0c84333b08ebe1e79f4118, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
visRange: 20
|
||||
visUpdateInterval: 1
|
||||
forceHidden: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a258a1313607b4c4b9557cd6ad21fecb
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eaeff04b6207226418821839da42a123
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b66830a6c0668734abcea01166f49ebb
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acd68d164845ca94d91f29dba4a3b214
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,43 @@
|
||||
using Mirror;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.NetworkProximities.Demos
|
||||
{
|
||||
|
||||
|
||||
public class AutoMovePlayer : NetworkBehaviour
|
||||
{
|
||||
public float _moveRate = 22f;
|
||||
|
||||
private float[] _ranges;
|
||||
|
||||
private bool _movingLeft = true;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
this.enabled = false;
|
||||
}
|
||||
|
||||
public override void OnStartClient()
|
||||
{
|
||||
base.OnStartClient();
|
||||
_ranges = new float[] { transform.position.z - 50f, transform.position.z + 50f };
|
||||
this.enabled = true;
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
if (!base.hasAuthority)
|
||||
return;
|
||||
float x = (_movingLeft) ? _ranges[0] : _ranges[1];
|
||||
Vector3 goal = new Vector3(x, transform.position.y, transform.position.z);
|
||||
transform.position = Vector3.MoveTowards(transform.position, goal, _moveRate * Time.deltaTime);
|
||||
if (transform.position == goal)
|
||||
_movingLeft = !_movingLeft;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 09ea08209d91d76468cc974041aa16c1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,52 @@
|
||||
using Mirror;
|
||||
using UnityEngine;
|
||||
|
||||
#pragma warning disable CS0618, CS0672, CS0649
|
||||
namespace FirstGearGames.Mirrors.Assets.NetworkProximities.Demos
|
||||
{
|
||||
|
||||
|
||||
public class CubeSpawner : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private bool _networkSpawn = false;
|
||||
[SerializeField]
|
||||
private int _spawnCount = 100;
|
||||
[SerializeField]
|
||||
private GameObject _rollableCubePrefab;
|
||||
[SerializeField]
|
||||
private Vector3 _originArea;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (!NetworkServer.active && _networkSpawn)
|
||||
return;
|
||||
|
||||
SpawnRollableCubes();
|
||||
}
|
||||
|
||||
|
||||
private void SpawnRollableCubes()
|
||||
{
|
||||
for (int i = 0; i < _spawnCount; i++)
|
||||
{
|
||||
Vector3 offset = new Vector3(
|
||||
Random.Range(-_originArea.x, _originArea.x),
|
||||
Random.Range(-_originArea.y, _originArea.y),
|
||||
Random.Range(-_originArea.z, _originArea.z)
|
||||
);
|
||||
|
||||
GameObject result = Instantiate(_rollableCubePrefab, transform.position + offset, Quaternion.identity);
|
||||
if (_networkSpawn)
|
||||
NetworkServer.Spawn(result);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDrawGizmosSelected()
|
||||
{
|
||||
Gizmos.DrawWireCube(transform.position, _originArea);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c51ea269827fc454bb8a545939b32964
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,29 @@
|
||||
using Mirror;
|
||||
using UnityEngine;
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.NetworkProximities.Demos
|
||||
{
|
||||
|
||||
|
||||
|
||||
public class PlayerCubeSpawner : NetworkBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private GameObject _playerMovingCube = null;
|
||||
|
||||
public override void OnStartLocalPlayer()
|
||||
{
|
||||
base.OnStartLocalPlayer();
|
||||
CmdSpawnMovingCube();
|
||||
}
|
||||
|
||||
[Command]
|
||||
private void CmdSpawnMovingCube()
|
||||
{
|
||||
GameObject obj = Instantiate(_playerMovingCube, new Vector3(0f, 1f, 0f), Quaternion.identity);
|
||||
NetworkServer.Spawn(obj, base.connectionToClient);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0dcb4896b5b1b414f822a91ffca61f95
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cc08d4e9e71d5b14c9edbc93d1ecf0c5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,191 @@
|
||||
using FirstGearGames.Utilities.Maths;
|
||||
using Mirror;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
#pragma warning disable CS0618, CS0672, CS0649
|
||||
namespace FirstGearGames.Mirrors.Assets.NetworkProximities
|
||||
{
|
||||
#if MIRROR_57_0_OR_NEWER
|
||||
public class FastProximityChecker : MonoBehaviour
|
||||
{
|
||||
private void Awake()
|
||||
{
|
||||
Debug.LogWarning("Mirror changes in 57x prevent this asset from working. Please change to a lower Mirror version. You may also switch over to Fish-Networking; more features, better performance, promised stability, still free. We have an upgrade to Fish-Networking guide and your subscriber status will carry over into Fish-networking. https://fish-networking.gitbook.io/docs/");
|
||||
}
|
||||
}
|
||||
#else
|
||||
/// <summary>
|
||||
/// Component that controls visibility of networked objects for players.
|
||||
/// <para>Any object with this component on it will not be visible to players more than a (configurable) distance away.</para>
|
||||
/// </summary>
|
||||
[RequireComponent(typeof(NetworkIdentity))]
|
||||
public class FastProximityChecker : NetworkVisibility
|
||||
{
|
||||
/// <summary>
|
||||
/// True to continuously update network visibility. False to only update on creation or when PerformCheck is called.
|
||||
/// </summary>
|
||||
[Tooltip("True to continuously update network visibility. False to only update on creation or when PerformCheck is called.")]
|
||||
[SerializeField]
|
||||
private bool _continuous = true;
|
||||
/// <summary>
|
||||
/// True to only check distance from the localPlayer object. False to compare distance from any player object. False is useful if the player can have authority over multiple objects which need to be affected by proximity checkers.
|
||||
/// </summary>
|
||||
[Tooltip("True to only check distance from the localPlayer object. False to compare distance from any player object. False is useful if the player can have authority over multiple objects which need to be affected by proximity checkers.")]
|
||||
[SerializeField]
|
||||
private bool _localPlayerOnly = true;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
[Tooltip("The maximum range that objects will be visible at.")]
|
||||
[SerializeField]
|
||||
private int _visibilityRange = 10;
|
||||
/// <summary>
|
||||
/// The maximum range that objects will be visible at.
|
||||
/// </summary>
|
||||
public int VisibilityRange
|
||||
{
|
||||
get { return _visibilityRange; }
|
||||
set
|
||||
{
|
||||
_visibilityRange = value;
|
||||
SquareRange();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Flag to force this object to be hidden for players.
|
||||
/// <para>If this object is a player object, it will not be hidden for that player.</para>
|
||||
/// </summary>
|
||||
[Tooltip("Enable to force this object to be hidden from players.")]
|
||||
[SerializeField]
|
||||
private bool _forceHidden;
|
||||
|
||||
/// <summary>
|
||||
/// Squared value of visibility range.
|
||||
/// </summary>
|
||||
private float _squaredVisibilityRange;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
SquareRange();
|
||||
}
|
||||
|
||||
private void OnValidate()
|
||||
{
|
||||
SquareRange();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Squares current visibility range for testing.
|
||||
/// </summary>
|
||||
private void SquareRange()
|
||||
{
|
||||
_squaredVisibilityRange = (_visibilityRange * _visibilityRange);
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (_continuous)
|
||||
ProximityCheckerManager.AddChecker(this);
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
if (_continuous)
|
||||
ProximityCheckerManager.RemoveChecker(this);
|
||||
}
|
||||
|
||||
public void PerformCheck()
|
||||
{
|
||||
base.netIdentity.RebuildObservers(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when a new player enters
|
||||
/// </summary>
|
||||
/// <param name="newObserver">NetworkConnection of player object</param>
|
||||
/// <returns>True if object is within visible range</returns>
|
||||
public override bool OnCheckObserver(NetworkConnection newObserver)
|
||||
{
|
||||
if (_forceHidden)
|
||||
return false;
|
||||
|
||||
//Only check against local player object.
|
||||
if (_localPlayerOnly)
|
||||
{
|
||||
return Vectors.FastSqrMagnitude(newObserver.identity.transform.position - transform.position) < _squaredVisibilityRange;
|
||||
}
|
||||
//Include all player objects.
|
||||
else
|
||||
{
|
||||
foreach (NetworkIdentity netId in newObserver.clientOwnedObjects)
|
||||
{
|
||||
if (Vectors.FastSqrMagnitude(netId.transform.position - transform.position) < _squaredVisibilityRange)
|
||||
return true;
|
||||
}
|
||||
//Fall through, none in range.
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when a new player enters, and when scene changes occur
|
||||
/// </summary>
|
||||
/// <param name="observers">List of players to be updated. Modify this set with all the players that can see this object</param>
|
||||
/// <param name="initial">True if this is the first time the method is called for this object</param>
|
||||
/// <returns>True if this component calculated the list of observers</returns>
|
||||
public override void OnRebuildObservers(HashSet<NetworkConnection> observers, bool initial)
|
||||
{
|
||||
//If force hidden then return without adding any observers.
|
||||
if (_forceHidden)
|
||||
return;
|
||||
|
||||
//Cached position of this transform for faster calculations.
|
||||
Vector3 position = transform.position;
|
||||
|
||||
foreach (NetworkConnection conn in NetworkServer.connections.Values)
|
||||
{
|
||||
//Connection null, not authenticated, or no identities.
|
||||
if (conn == null || !conn.isAuthenticated || conn.identity == null)
|
||||
continue;
|
||||
|
||||
//Check only against local player object.
|
||||
if (_localPlayerOnly)
|
||||
{
|
||||
if (Vectors.FastSqrMagnitude(position - conn.identity.transform.position) < _squaredVisibilityRange)
|
||||
observers.Add(conn);
|
||||
}
|
||||
else
|
||||
{
|
||||
bool add = false;
|
||||
foreach (NetworkIdentity netId in conn.clientOwnedObjects)
|
||||
{
|
||||
if (Vectors.FastSqrMagnitude(netId.transform.position - transform.position) < _squaredVisibilityRange)
|
||||
{
|
||||
add = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//If any objects are in range than add to observers.
|
||||
if (add)
|
||||
observers.Add(conn);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when hiding and showing objects on the host.
|
||||
/// On regular clients, objects simply spawn/despawn.
|
||||
/// On host, objects need to remain in scene because the host is also the server.
|
||||
/// In that case, we simply hide/show meshes for the host player.
|
||||
/// </summary>
|
||||
/// <param name="visible"></param>
|
||||
public override void OnSetHostVisibility(bool visible)
|
||||
{
|
||||
foreach (Renderer rend in GetComponentsInChildren<Renderer>())
|
||||
rend.enabled = visible;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8f1f9d1ccae3c414fa8d1d0758e1c9e2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 2800000, guid: 993fb6faa4b6ea9498bc4cbec51f137a, type: 3}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,125 @@
|
||||
using Mirror;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.NetworkProximities
|
||||
{
|
||||
|
||||
#if MIRROR_57_0_OR_NEWER
|
||||
#else
|
||||
public class ProximityCheckerManager : MonoBehaviour
|
||||
{
|
||||
|
||||
#region Private.
|
||||
/// <summary>
|
||||
/// Singleton reference to this script.
|
||||
/// </summary>
|
||||
private static ProximityCheckerManager _instance;
|
||||
/// <summary>
|
||||
/// Current active checkers.
|
||||
/// </summary>
|
||||
private List<FastProximityChecker> _checkers = new List<FastProximityChecker>();
|
||||
/// <summary>
|
||||
/// Index in Checkers to start on next cycle.
|
||||
/// </summary>
|
||||
private int _nextCheckerIndex = 0;
|
||||
#endregion
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_instance = this;
|
||||
}
|
||||
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!NetworkServer.active)
|
||||
return;
|
||||
|
||||
UpdateCheckers();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes this script for use. Should only be completed once.
|
||||
/// </summary>
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
private static void FirstInitialize()
|
||||
{
|
||||
GameObject go = new GameObject();
|
||||
go.name = "ProximityCheckerManager";
|
||||
go.AddComponent<ProximityCheckerManager>();
|
||||
DontDestroyOnLoad(go);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a BetterProximityChecker to collection.
|
||||
/// </summary>
|
||||
/// <param name="checker"></param>
|
||||
public static void AddChecker(FastProximityChecker checker)
|
||||
{
|
||||
_instance._checkers.Add(checker);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Removes a BetterProximityChecker from collection.
|
||||
/// </summary>
|
||||
/// <param name="checker"></param>
|
||||
public static void RemoveChecker(FastProximityChecker checker)
|
||||
{
|
||||
int index = _instance._checkers.IndexOf(checker);
|
||||
if (index != -1)
|
||||
{
|
||||
if (index < _instance._nextCheckerIndex)
|
||||
_instance._nextCheckerIndex--;
|
||||
|
||||
_instance._checkers.RemoveAt(index);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates checkers.
|
||||
/// </summary>
|
||||
private void UpdateCheckers()
|
||||
{
|
||||
int targetFps = 60;
|
||||
int count = _checkers.Count;
|
||||
/* Multiply required frames based on connection count. This will
|
||||
* reduce how quickly observers update slightly but will drastically
|
||||
* improve performance. */
|
||||
float fpsMultiplier = 1f + (float)(NetworkServer.connections.Count * 0.01f);
|
||||
/* Performing one additional iteration would
|
||||
* likely be quicker than casting two ints
|
||||
* to a float. */
|
||||
int iterations = (_checkers.Count / (int)(targetFps * fpsMultiplier)) + 1;
|
||||
if (iterations > _checkers.Count)
|
||||
iterations = _checkers.Count;
|
||||
|
||||
//Index to perform a check on.
|
||||
int checkerIndex = 0;
|
||||
/* Run the number of calculated iterations.
|
||||
* This is spaced out over frames to prevent
|
||||
* fps spikes. */
|
||||
for (int i = 0; i < iterations; i++)
|
||||
{
|
||||
checkerIndex = _nextCheckerIndex + i;
|
||||
if (checkerIndex >= _checkers.Count)
|
||||
checkerIndex -= _checkers.Count;
|
||||
|
||||
/* If still out of bounds something whack is going on.
|
||||
* Reset index and exit method. Let it sort itself out
|
||||
* next iteration. */
|
||||
if (checkerIndex < 0 || checkerIndex >= _checkers.Count)
|
||||
{
|
||||
_nextCheckerIndex = 0;
|
||||
return;
|
||||
}
|
||||
_checkers[checkerIndex].PerformCheck();
|
||||
}
|
||||
|
||||
_nextCheckerIndex = (checkerIndex + 1);
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d76098e26bf47542b690f4251cf1b0e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 40310629b512873468cfaf757b6fd377
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae3b3bbb2d53075468f89f24cb284ace
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 047ddd04b00d2674baf506aa1bd14a4f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a85c6dc21cd9554ea07d26edef90c9a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,213 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-6749367018173546296
|
||||
AnimatorState:
|
||||
serializedVersion: 5
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Moving
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 6799456424293923274}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Controller
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters:
|
||||
- m_Name: Jump
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 0}
|
||||
- m_Name: Horizontal
|
||||
m_Type: 1
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 0}
|
||||
- m_Name: Number
|
||||
m_Type: 3
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 0}
|
||||
- m_Name: Toggle
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 0}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: 1107882738189483478}
|
||||
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!1101 &1101063848773913108
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Jump
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 1102370308286638880}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &1102370308286638880
|
||||
AnimatorState:
|
||||
serializedVersion: 5
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Jump
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 1601229681059857519}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 5ff061c1090241a45814232f90911643, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &1107882738189483478
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 5
|
||||
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: 1102370308286638880}
|
||||
m_Position: {x: 550, y: -200, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -6749367018173546296}
|
||||
m_Position: {x: 210, y: -200, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: 1101063848773913108}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 570, y: -70, z: 0}
|
||||
m_EntryPosition: {x: -108, y: -132, z: 0}
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: -6749367018173546296}
|
||||
--- !u!1101 &1601229681059857519
|
||||
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: -6749367018173546296}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.5
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!206 &6799456424293923274
|
||||
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: 7400000, guid: c4c5d08dcebf23940b0fe2ef09c777d9, type: 2}
|
||||
m_Threshold: -1
|
||||
m_Position: {x: 0, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: e22fc6d41c53fe54892f226220e7e094, type: 2}
|
||||
m_Threshold: 0
|
||||
m_Position: {x: 0, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 7400000, guid: 08996b1289a7a6d4d81cda6077036336, type: 2}
|
||||
m_Threshold: 1
|
||||
m_Position: {x: 0, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
m_BlendParameter: Horizontal
|
||||
m_BlendParameterY: Blend
|
||||
m_MinThreshold: -1
|
||||
m_MaxThreshold: 1
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f43536d61a24d254e8fa81803723e90d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,205 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Idle
|
||||
serializedVersion: 6
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0.25, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: {x: -0.25, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 2
|
||||
value: {x: 0.25, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Capsule
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 232101919
|
||||
attribute: 1
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 2
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.25
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: -0.25
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2
|
||||
value: 0.25
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.x
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.y
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.z
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9f61226e64f05864c93dc45e398c63ea
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,205 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Jump
|
||||
serializedVersion: 6
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.25
|
||||
value: {x: 0, y: 2.62, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: {x: 0, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Capsule
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 232101919
|
||||
attribute: 1
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.5
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 0
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.25
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.x
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.25
|
||||
value: 2.62
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.y
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.25
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.z
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa163b7a2624a514baff1bf4aa3b0ca8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,315 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MoveLeft
|
||||
serializedVersion: 6
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: {x: 0, y: 0, z: 90}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Capsule
|
||||
m_PositionCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: {x: -1, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Capsule
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 232101919
|
||||
attribute: 1
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 232101919
|
||||
attribute: 4
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 4
|
||||
isPPtrCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.5
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.x
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.y
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 90
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.z
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: -1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.x
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.y
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.z
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
m_EulerEditorCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.x
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.y
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.z
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9ddf9cc24332bc469f87828ab2dd755
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,315 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MoveRight
|
||||
serializedVersion: 6
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0, y: 0, z: -90}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: {x: 0, y: 0, z: -90}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Capsule
|
||||
m_PositionCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 1, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: {x: 1, y: 1.9, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Capsule
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 232101919
|
||||
attribute: 1
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 0
|
||||
isPPtrCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 232101919
|
||||
attribute: 4
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
customType: 4
|
||||
isPPtrCurve: 0
|
||||
pptrCurveMapping: []
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.5
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 1
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.x
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.y
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: -90
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: -90
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: localEulerAnglesRaw.z
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.x
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 1.9
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.y
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalPosition.z
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
m_EulerEditorCurves:
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.x
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.y
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
- curve:
|
||||
serializedVersion: 2
|
||||
m_Curve: []
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.z
|
||||
path: Capsule
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f563d9203481b964895c8e463714df78
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eef7d7b40c09a3942ae96f5351ed4045
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,49 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7682640446147340251
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640446147340255}
|
||||
- component: {fileID: 7682640446147340253}
|
||||
m_Layer: 0
|
||||
m_Name: EmptyPlayer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640446147340255
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7682640446147340253
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c8484ffed8b783949b768013916f85f1
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,253 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7682640446147340251
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640446147340255}
|
||||
- component: {fileID: 7682640446147340243}
|
||||
- component: {fileID: 7682640446147340254}
|
||||
- component: {fileID: 7682640446147340249}
|
||||
- component: {fileID: 7682640446147340253}
|
||||
- component: {fileID: 976541736820868359}
|
||||
- component: {fileID: 2778646375664922418}
|
||||
- component: {fileID: 4223879541780898663}
|
||||
m_Layer: 0
|
||||
m_Name: MovingPlayer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640446147340255
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 7682640447208863941}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!95 &7682640446147340243
|
||||
Animator:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: 0d4eb2bd8bf40fb4daf99f92bc52745a, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorControllerStateOnDisable: 0
|
||||
--- !u!33 &7682640446147340254
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7682640446147340249
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &7682640446147340253
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &976541736820868359
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac235920a69784c45bf022fb76e3b2e2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
--- !u!114 &2778646375664922418
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e8cac635f24954048aad3a6ff9110beb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_animator: {fileID: 7682640446147340243}
|
||||
_smoothFloats: 1
|
||||
_interpolationFallbehind: 0.02
|
||||
_synchronizeInterval: 0.1
|
||||
_clientAuthoritative: 1
|
||||
_synchronizeToOwner: 0
|
||||
--- !u!114 &4223879541780898663
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2f74aedd71d9a4f55b3ce499326d45fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
clientAuthority: 1
|
||||
localPositionSensitivity: 0.01
|
||||
localRotationSensitivity: 0.01
|
||||
localScaleSensitivity: 0.01
|
||||
--- !u!1 &7682640447208863940
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640447208863941}
|
||||
- component: {fileID: 7682640447208863992}
|
||||
- component: {fileID: 7682640447208863995}
|
||||
m_Layer: 0
|
||||
m_Name: Capsule
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640447208863941
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.9, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7682640446147340255}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7682640447208863992
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7682640447208863995
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d1fd84cf0320dfb42b022838da058400
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,254 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7682640446147340251
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640446147340255}
|
||||
- component: {fileID: 7682640446147340243}
|
||||
- component: {fileID: 7682640446147340254}
|
||||
- component: {fileID: 7682640446147340249}
|
||||
- component: {fileID: 7682640446147340253}
|
||||
- component: {fileID: 7682640446147340252}
|
||||
- component: {fileID: -7367707789507179879}
|
||||
- component: {fileID: -8869514870144589981}
|
||||
m_Layer: 0
|
||||
m_Name: MovingPlayerServerAuth
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640446147340255
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 7682640447208863941}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!95 &7682640446147340243
|
||||
Animator:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: 0d4eb2bd8bf40fb4daf99f92bc52745a, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorControllerStateOnDisable: 0
|
||||
--- !u!33 &7682640446147340254
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7682640446147340249
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &7682640446147340253
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &7682640446147340252
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2f74aedd71d9a4f55b3ce499326d45fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
clientAuthority: 1
|
||||
localPositionSensitivity: 0.01
|
||||
localRotationSensitivity: 0.01
|
||||
localScaleSensitivity: 0.01
|
||||
--- !u!114 &-7367707789507179879
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 04ae66cdfde392049b94e91a708b1567, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
PlayLocally: 1
|
||||
--- !u!114 &-8869514870144589981
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e8cac635f24954048aad3a6ff9110beb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_animator: {fileID: 7682640446147340243}
|
||||
_smoothFloats: 1
|
||||
_interpolationFallbehind: 0.02
|
||||
_synchronizeInterval: 0.1
|
||||
_clientAuthoritative: 0
|
||||
_synchronizeToOwner: 0
|
||||
--- !u!1 &7682640447208863940
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640447208863941}
|
||||
- component: {fileID: 7682640447208863992}
|
||||
- component: {fileID: 7682640447208863995}
|
||||
m_Layer: 0
|
||||
m_Name: Capsule
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640447208863941
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.9, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7682640446147340255}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7682640447208863992
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7682640447208863995
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74bcf588f8eff264b983e4e882711d1f
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,255 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7682640446147340251
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640446147340255}
|
||||
- component: {fileID: 7682640446147340243}
|
||||
- component: {fileID: 7682640446147340254}
|
||||
- component: {fileID: 7682640446147340249}
|
||||
- component: {fileID: 7682640446147340253}
|
||||
- component: {fileID: -3316977609064493184}
|
||||
- component: {fileID: 5384488513168220043}
|
||||
- component: {fileID: -8406971463891778367}
|
||||
m_Layer: 0
|
||||
m_Name: StressTestObectWithAnimations
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640446147340255
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 7682640447208863941}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!95 &7682640446147340243
|
||||
Animator:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: 0d4eb2bd8bf40fb4daf99f92bc52745a, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorControllerStateOnDisable: 0
|
||||
--- !u!33 &7682640446147340254
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7682640446147340249
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &7682640446147340253
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &-3316977609064493184
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2f74aedd71d9a4f55b3ce499326d45fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
clientAuthority: 1
|
||||
localPositionSensitivity: 0.01
|
||||
localRotationSensitivity: 0.01
|
||||
localScaleSensitivity: 0.01
|
||||
--- !u!114 &5384488513168220043
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 79c76217bd608484db5eeff528403101, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
StressIntensity: 0
|
||||
DoubleParams: 0
|
||||
--- !u!114 &-8406971463891778367
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e8cac635f24954048aad3a6ff9110beb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_animator: {fileID: 7682640446147340243}
|
||||
_smoothFloats: 0
|
||||
_interpolationFallbehind: 0.02
|
||||
_synchronizeInterval: 0.1
|
||||
_clientAuthoritative: 0
|
||||
_synchronizeToOwner: 1
|
||||
--- !u!1 &7682640447208863940
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640447208863941}
|
||||
- component: {fileID: 7682640447208863992}
|
||||
- component: {fileID: 7682640447208863995}
|
||||
m_Layer: 0
|
||||
m_Name: Capsule
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640447208863941
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.9, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7682640446147340255}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7682640447208863992
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7682640447208863995
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 005b35d29e2efe642a8cf74ae9340b44
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,236 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7682640446147340251
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640446147340255}
|
||||
- component: {fileID: 7682640446147340243}
|
||||
- component: {fileID: 7682640446147340254}
|
||||
- component: {fileID: 7682640446147340249}
|
||||
- component: {fileID: 7682640446147340253}
|
||||
- component: {fileID: -6690038339517375115}
|
||||
- component: {fileID: -8157451989536720219}
|
||||
m_Layer: 0
|
||||
m_Name: StressTestObject
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640446147340255
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 7682640447208863941}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!95 &7682640446147340243
|
||||
Animator:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: 0d4eb2bd8bf40fb4daf99f92bc52745a, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorControllerStateOnDisable: 0
|
||||
--- !u!33 &7682640446147340254
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7682640446147340249
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!114 &7682640446147340253
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sceneId: 0
|
||||
serverOnly: 0
|
||||
m_AssetId:
|
||||
hasSpawned: 0
|
||||
--- !u!114 &-6690038339517375115
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 79c76217bd608484db5eeff528403101, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
StressIntensity: 1
|
||||
DoubleParams: 0
|
||||
--- !u!114 &-8157451989536720219
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640446147340251}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e8cac635f24954048aad3a6ff9110beb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
syncMode: 0
|
||||
syncInterval: 0.1
|
||||
_animator: {fileID: 7682640446147340243}
|
||||
_smoothFloats: 0
|
||||
_interpolationFallbehind: 0.02
|
||||
_synchronizeInterval: 0.1
|
||||
_clientAuthoritative: 0
|
||||
_synchronizeToOwner: 0
|
||||
--- !u!1 &7682640447208863940
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7682640447208863941}
|
||||
- component: {fileID: 7682640447208863992}
|
||||
- component: {fileID: 7682640447208863995}
|
||||
m_Layer: 0
|
||||
m_Name: Capsule
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7682640447208863941
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.9, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7682640446147340255}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7682640447208863992
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7682640447208863995
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7682640447208863940}
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: be88ee27ff2df2e4e87a643f4972eef0
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 58c5efeefee922944be58a233ff35a84
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac317aa818f76e3458ed5ac08c63ef2c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 14472590b0c20d5489dc46eb953fe8fe
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,70 @@
|
||||
|
||||
using FirstGearGames.Mirrors.Assets.FlexNetworkAnimators;
|
||||
using Mirror;
|
||||
using UnityEngine;
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.FNAS.Demos
|
||||
{
|
||||
|
||||
public class AutoMoveBlah : NetworkBehaviour
|
||||
{
|
||||
private FlexNetworkAnimator _fna;
|
||||
private NetworkAnimator _na;
|
||||
private bool _useFNA;
|
||||
private Animator _animator;
|
||||
public bool PlayLocally = true;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_animator = GetComponent<Animator>();
|
||||
_fna = GetComponent<FlexNetworkAnimator>();
|
||||
_na = GetComponent<NetworkAnimator>();
|
||||
_useFNA = (_fna != null);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (base.hasAuthority)
|
||||
{
|
||||
float horizontal = Input.GetAxis("Horizontal");
|
||||
float moveRate = 1f;
|
||||
transform.position += new Vector3(horizontal, 0f, 0f) * moveRate * Time.deltaTime;
|
||||
|
||||
if (PlayLocally)
|
||||
_animator.SetFloat("Horizontal", horizontal);
|
||||
CmdUpdateHorizontal(horizontal);
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.Space))
|
||||
{
|
||||
CmdJump();
|
||||
if (PlayLocally)
|
||||
{
|
||||
if (_useFNA)
|
||||
_fna.SetTrigger("Jump");
|
||||
else
|
||||
_na.SetTrigger("Jump");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Command]
|
||||
private void CmdJump()
|
||||
{
|
||||
if (_useFNA)
|
||||
_fna.SetTrigger("Jump");
|
||||
else
|
||||
_na.SetTrigger("Jump");
|
||||
}
|
||||
|
||||
[Command]
|
||||
private void CmdUpdateHorizontal(float horizontal)
|
||||
{
|
||||
_animator.SetFloat("Horizontal", horizontal);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a06f5bcefb7bce46aefa6df0ae92a3e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,51 @@
|
||||
|
||||
using FirstGearGames.Mirrors.Assets.FlexNetworkAnimators;
|
||||
using Mirror;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.FNAS.Demos
|
||||
{
|
||||
|
||||
public class AutoMoveBlending : NetworkBehaviour
|
||||
{
|
||||
private Animator _animator;
|
||||
private float _center;
|
||||
|
||||
|
||||
public override void OnStartServer()
|
||||
{
|
||||
base.OnStartServer();
|
||||
_animator = GetComponent<Animator>();
|
||||
_center = transform.position.x;
|
||||
|
||||
StartCoroutine(__Move());
|
||||
}
|
||||
|
||||
private IEnumerator __Move()
|
||||
{
|
||||
WaitForEndOfFrame endOfFrame = new WaitForEndOfFrame();
|
||||
float right = _center + 2f;
|
||||
float left = _center - 2f;
|
||||
bool goRight = true;
|
||||
float horizontal = 0f;
|
||||
float moveRate = 2f;
|
||||
while (true)
|
||||
{
|
||||
float xGoal = (goRight) ? right : left;
|
||||
transform.position = Vector3.MoveTowards(transform.position, new Vector3(xGoal, transform.position.y, transform.position.z), moveRate * Time.deltaTime);
|
||||
horizontal = Mathf.MoveTowards(horizontal, Mathf.Sign(xGoal), moveRate * Time.deltaTime);
|
||||
_animator.SetFloat("Horizontal", horizontal);
|
||||
if (transform.position.x == xGoal)
|
||||
goRight = !goRight;
|
||||
|
||||
yield return endOfFrame;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b2c03cb0ef8a415438d96580e661be1a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,53 @@
|
||||
|
||||
using Mirror;
|
||||
using UnityEngine;
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.FlexNetworkAnimators.Demos
|
||||
{
|
||||
|
||||
public class MoveAndAnimate : NetworkBehaviour
|
||||
{
|
||||
private FlexNetworkAnimator _fna;
|
||||
private Animator _animator;
|
||||
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_animator = GetComponent<Animator>();
|
||||
_fna = GetComponent<FlexNetworkAnimator>();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (base.hasAuthority)
|
||||
{
|
||||
//Move.
|
||||
float horizontal = Input.GetAxis("Horizontal");
|
||||
float moveRate = 1f;
|
||||
transform.position += new Vector3(horizontal, 0f, 0f) * moveRate * Time.deltaTime;
|
||||
|
||||
//Animator.
|
||||
_animator.SetFloat("Horizontal", horizontal);
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.Space))
|
||||
{
|
||||
_fna.SetTrigger("Jump");
|
||||
_fna.Play("Jump");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void ChangeAnimatorThingy()
|
||||
{
|
||||
Animator anim = null;
|
||||
RuntimeAnimatorController con = null;
|
||||
|
||||
_fna.SetAnimator(anim);
|
||||
_fna.SetController(con);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d76403c89b235bf4e979cb12c2290beb
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,70 @@
|
||||
|
||||
using FirstGearGames.Mirrors.Assets.FlexNetworkAnimators;
|
||||
using Mirror;
|
||||
using UnityEngine;
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.FNAS.Demos
|
||||
{
|
||||
|
||||
public class MoveAndAnimateServerAuth : NetworkBehaviour
|
||||
{
|
||||
private FlexNetworkAnimator _fna;
|
||||
private NetworkAnimator _na;
|
||||
private bool _useFNA;
|
||||
private Animator _animator;
|
||||
public bool PlayLocally = true;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_animator = GetComponent<Animator>();
|
||||
_fna = GetComponent<FlexNetworkAnimator>();
|
||||
_na = GetComponent<NetworkAnimator>();
|
||||
_useFNA = (_fna != null);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (base.hasAuthority)
|
||||
{
|
||||
float horizontal = Input.GetAxis("Horizontal");
|
||||
float moveRate = 1f;
|
||||
transform.position += new Vector3(horizontal, 0f, 0f) * moveRate * Time.deltaTime;
|
||||
|
||||
if (PlayLocally)
|
||||
_animator.SetFloat("Horizontal", horizontal);
|
||||
CmdUpdateHorizontal(horizontal);
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.Space))
|
||||
{
|
||||
CmdJump();
|
||||
if (PlayLocally)
|
||||
{
|
||||
if (_useFNA)
|
||||
_fna.SetTrigger("Jump");
|
||||
else
|
||||
_na.SetTrigger("Jump");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Command]
|
||||
private void CmdJump()
|
||||
{
|
||||
if (_useFNA)
|
||||
_fna.SetTrigger("Jump");
|
||||
else
|
||||
_na.SetTrigger("Jump");
|
||||
}
|
||||
|
||||
[Command]
|
||||
private void CmdUpdateHorizontal(float horizontal)
|
||||
{
|
||||
_animator.SetFloat("Horizontal", horizontal);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7861e4e7a35bfc4a902ea8e4e4f72ba
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,15 @@
|
||||
FlexNetworkAnimator
|
||||
|
||||
API
|
||||
=====================================
|
||||
public void SetAnimator(Animator animator)
|
||||
Sets which animator to use. You must call this with the appropriate animator on all clients and server. This change is not automatically synchronized.
|
||||
public void SetController(RuntimeAnimatorController controller)
|
||||
Sets which controller to use. You must call this with the appropriate controller on all clients and server. This change is not automatically synchronized.
|
||||
public void SetTrigger() //All variants of Unity API.
|
||||
Sets a trigger on the animator and sends it over the network.
|
||||
public void Play() //All variants of Unity API.
|
||||
Plays a state.
|
||||
public void Crossfad() //All variants of Unity API.
|
||||
Creates a crossfade from the current state to any other state.
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9586c0d907c696c4591e8e0eb7283a39
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a4ab4f66a96fda4e8daa781ec0ef035
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70d96eeb3367f2f4fab0d390a8560fd8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,202 @@
|
||||
using FirstGearGames.Utilities.Networks;
|
||||
using Mirror;
|
||||
|
||||
#pragma warning disable CS0618, CS0672
|
||||
namespace FirstGearGames.Mirrors.Assets.FlexNetworkAnimators
|
||||
{
|
||||
|
||||
public static class Compressions
|
||||
{
|
||||
/// <summary>
|
||||
/// Compression levels for data.
|
||||
/// </summary>
|
||||
public enum CompressionLevels : byte
|
||||
{
|
||||
//No compression.
|
||||
None = 0,
|
||||
//Data can fit into a byte.
|
||||
Level1Positive = 1,
|
||||
Level1Negative = 2,
|
||||
//Data can fit into a short.
|
||||
Level2Positive = 3,
|
||||
Level2Negative = 4
|
||||
}
|
||||
|
||||
#region WriteCompressed.
|
||||
/// <summary>
|
||||
/// Writes a compressed uint.
|
||||
/// </summary>
|
||||
/// <param name="writer"></param>
|
||||
/// <param name="value"></param>
|
||||
public static void WriteCompressedUInt(NetworkWriter writer, uint value)
|
||||
{
|
||||
//Fits in a byte.
|
||||
if (value <= byte.MaxValue)
|
||||
{
|
||||
writer.WriteByte((byte)CompressionLevels.Level1Positive);
|
||||
writer.WriteByte((byte)value);
|
||||
}
|
||||
//Fits in a ushort
|
||||
else if (value <= ushort.MaxValue)
|
||||
{
|
||||
writer.WriteByte((byte)CompressionLevels.Level2Positive);
|
||||
writer.WriteUInt16((ushort)value);
|
||||
}
|
||||
//Cannot compress.
|
||||
else
|
||||
{
|
||||
writer.WriteByte((byte)CompressionLevels.None);
|
||||
writer.WriteUInt32(value);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Writes a compressed int.
|
||||
/// </summary>
|
||||
/// <param name="writer"></param>
|
||||
/// <param name="value"></param>
|
||||
public static void WriteCompressedInt(NetworkWriter writer, int value)
|
||||
{
|
||||
int absolute = (value >= 0) ? value : value * -1;
|
||||
bool positive = (value >= 0);
|
||||
//Fits in a byte.
|
||||
if (absolute <= byte.MaxValue)
|
||||
{
|
||||
if (positive)
|
||||
writer.WriteByte((byte)CompressionLevels.Level1Positive);
|
||||
else
|
||||
writer.WriteByte((byte)CompressionLevels.Level1Negative);
|
||||
|
||||
writer.WriteByte((byte)absolute);
|
||||
}
|
||||
//Fits in a ushort
|
||||
else if (absolute <= ushort.MaxValue)
|
||||
{
|
||||
if (positive)
|
||||
writer.WriteByte((byte)CompressionLevels.Level2Positive);
|
||||
else
|
||||
writer.WriteByte((byte)CompressionLevels.Level2Negative);
|
||||
|
||||
writer.WriteUInt16((ushort)absolute);
|
||||
}
|
||||
//Cannot compress.
|
||||
else
|
||||
{
|
||||
writer.WriteByte((byte)CompressionLevels.None);
|
||||
writer.WriteInt32(value);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Writes a compressed float.
|
||||
/// </summary>
|
||||
/// <param name="writer"></param>
|
||||
/// <param name="value"></param>
|
||||
public static void WriteCompressedFloat(NetworkWriter writer, float value)
|
||||
{
|
||||
float multiplier = 100f;
|
||||
float maxByteValue = (byte.MaxValue - 1) / multiplier;
|
||||
float maxUShortValue = (ushort.MaxValue - 1) / multiplier;
|
||||
|
||||
bool positive = (value >= 0);
|
||||
float absolute = (value >= 0f) ? value : value * -1f;
|
||||
//Fits in a byte.
|
||||
if (absolute <= maxByteValue)
|
||||
{
|
||||
if (positive)
|
||||
writer.WriteByte((byte)CompressionLevels.Level1Positive);
|
||||
else
|
||||
writer.WriteByte((byte)CompressionLevels.Level1Negative);
|
||||
|
||||
writer.WriteByte((byte)(absolute * multiplier));
|
||||
}
|
||||
//Fits in a ushort
|
||||
else if (absolute < maxUShortValue)
|
||||
{
|
||||
if (positive)
|
||||
writer.WriteByte((byte)CompressionLevels.Level2Positive);
|
||||
else
|
||||
writer.WriteByte((byte)CompressionLevels.Level2Negative);
|
||||
|
||||
writer.WriteUInt16((ushort)(absolute * multiplier));
|
||||
}
|
||||
//Cannot compress.
|
||||
else
|
||||
{
|
||||
writer.WriteByte((byte)CompressionLevels.None);
|
||||
writer.WriteSingle(value);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ReadCompressed.
|
||||
/// <summary>
|
||||
/// Reads a compressed UInt.
|
||||
/// </summary>
|
||||
public static uint ReadCompressedUInt(NetworkReader reader)
|
||||
{
|
||||
CompressionLevels cl = (CompressionLevels)reader.ReadByte();
|
||||
|
||||
//Compressed into byte.
|
||||
if (cl == CompressionLevels.Level1Positive)
|
||||
return reader.ReadByte();
|
||||
//Compressed into ushort.
|
||||
else if (cl == CompressionLevels.Level2Positive)
|
||||
return reader.ReadUInt16();
|
||||
//Not compressed.
|
||||
else
|
||||
return reader.ReadUInt32();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reads a compressed int.
|
||||
/// </summary>
|
||||
public static int ReadCompressedInt(NetworkReader reader)
|
||||
{
|
||||
CompressionLevels cl = (CompressionLevels)reader.ReadByte();
|
||||
|
||||
//Compressed into positive byte.
|
||||
if (cl == CompressionLevels.Level1Positive)
|
||||
return reader.ReadByte();
|
||||
//Compressed into negative byte.
|
||||
else if (cl == CompressionLevels.Level1Negative)
|
||||
return -reader.ReadByte();
|
||||
//Compressed into positive short.
|
||||
if (cl == CompressionLevels.Level2Positive)
|
||||
return reader.ReadUInt16();
|
||||
//Compressed into negative short.
|
||||
else if (cl == CompressionLevels.Level2Negative)
|
||||
return -reader.ReadUInt16();
|
||||
//Not compressed.
|
||||
else
|
||||
return reader.ReadInt32();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reads a compressed float.
|
||||
/// </summary>
|
||||
public static float ReadCompressedFloat(NetworkReader reader)
|
||||
{
|
||||
CompressionLevels cl = (CompressionLevels)reader.ReadByte();
|
||||
float divisor = 100f;
|
||||
|
||||
//Compressed into positive byte.
|
||||
if (cl == CompressionLevels.Level1Positive)
|
||||
return reader.ReadByte() / divisor;
|
||||
//Compressed into negative byte.
|
||||
else if (cl == CompressionLevels.Level1Negative)
|
||||
return -reader.ReadByte() / divisor;
|
||||
//Compressed into positive short.
|
||||
if (cl == CompressionLevels.Level2Positive)
|
||||
return reader.ReadUInt16() / divisor;
|
||||
//Compressed into negative short.
|
||||
else if (cl == CompressionLevels.Level2Negative)
|
||||
return -reader.ReadUInt16() / divisor;
|
||||
//Not compressed.
|
||||
else
|
||||
return reader.ReadSingle();
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e7911bdb04b18b94481b2fdf84f0ea0a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,394 @@
|
||||
using FirstGearGames.Utilities.Networks;
|
||||
using Mirror;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.FlexNetworkAnimators
|
||||
{
|
||||
|
||||
[System.Serializable]
|
||||
public struct AnimatorUpdateMessage : NetworkMessage
|
||||
{
|
||||
public ArraySegment<byte> Data;
|
||||
}
|
||||
|
||||
public class FlexNetworkAnimatorManager : MonoBehaviour
|
||||
{
|
||||
#region Serialized
|
||||
private NetworkManager _networkManager = null;
|
||||
/// <summary>
|
||||
/// Current NetworkManager.
|
||||
/// </summary>
|
||||
public NetworkManager CurrentNetworkManager { get { return _networkManager; } }
|
||||
/// <summary>
|
||||
/// True to make this gameObject dont destroy on load. True is recommended if your NetworkManager is also dont destroy on load.
|
||||
/// </summary>
|
||||
private bool _dontDestroyOnLoad = true;
|
||||
#endregion
|
||||
|
||||
#region Private.
|
||||
/// <summary>
|
||||
/// Active FlexNetworkTransform components.
|
||||
/// </summary>
|
||||
private static List<FlexNetworkAnimator> _activeFlexNetworkAnimators = new List<FlexNetworkAnimator>();
|
||||
/// <summary>
|
||||
/// Reliable datas to send to all.
|
||||
/// </summary>
|
||||
private static List<ArraySegment<byte>> _toAllReliableAnimatorUpdate = new List<ArraySegment<byte>>();
|
||||
/// <summary>
|
||||
/// Reliable datas to send send to server.
|
||||
/// </summary>
|
||||
private static List<ArraySegment<byte>> _toServerReliableAnimatorUpdate = new List<ArraySegment<byte>>();
|
||||
/// <summary>
|
||||
/// Reliable datas sent to specific observers.
|
||||
/// </summary>
|
||||
private static Dictionary<NetworkConnection, List<ArraySegment<byte>>> _observerReliableAnimatorUpdate = new Dictionary<NetworkConnection, List<ArraySegment<byte>>>();
|
||||
/// <summary>
|
||||
/// Last NetworkClient.active state.
|
||||
/// </summary>
|
||||
private bool _lastClientActive = false;
|
||||
/// <summary>
|
||||
/// Last NetworkServer.active state.
|
||||
/// </summary>
|
||||
private bool _lastServerActive = false;
|
||||
/// <summary>
|
||||
/// How much data can be bundled per reliable message.
|
||||
/// </summary>
|
||||
private int _reliableMTU = -1;
|
||||
/// <summary>
|
||||
/// How much data can be bundled per unreliable message.
|
||||
/// </summary>
|
||||
private int _unreliableMTU = -1;
|
||||
/// <summary>
|
||||
/// Used to prevent GC with GetComponents.
|
||||
/// </summary>
|
||||
private List<FlexNetworkAnimator> _getComponents = new List<FlexNetworkAnimator>();
|
||||
/// <summary>
|
||||
/// Singleton of this script. Used to ensure script is not loaded more than once. This will change for NG once custom message subscriptions are supported.
|
||||
/// </summary>
|
||||
private static FlexNetworkAnimatorManager _instance;
|
||||
/// <summary>
|
||||
/// Buffer to send outgoing data. Segments will always be 1200 or less.
|
||||
/// </summary>
|
||||
private byte[] _writerBuffer = new byte[1200];
|
||||
#endregion
|
||||
|
||||
#region Const.
|
||||
/// <summary>
|
||||
/// Maximum packet size by default. This is used when packet size is unknown.
|
||||
/// </summary>
|
||||
private const int MAXIMUM_PACKET_SIZE = 1200;
|
||||
/// <summary>
|
||||
/// Guestimated amount of how much MTU will be needed to send one transform on any transport. This will likely never be a problem but just incase.
|
||||
/// </summary>
|
||||
private const int MINIMUM_MTU_REQUIREMENT = 150;
|
||||
#endregion
|
||||
|
||||
#if MIRROR
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
private static void MirrorFirstInitialize()
|
||||
{
|
||||
GameObject go = new GameObject();
|
||||
go.name = "FlexNetworkAnimatorManager";
|
||||
go.AddComponent<FlexNetworkAnimatorManager>();
|
||||
}
|
||||
#endif
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
FirstInitialize();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes script for use. Should only be completed once.
|
||||
/// </summary>
|
||||
private void FirstInitialize()
|
||||
{
|
||||
if (_instance != null)
|
||||
{
|
||||
Debug.LogError("Multiple FlexNetworkAnimatorManager instances found. This new instance will be destroyed.");
|
||||
Destroy(this);
|
||||
return;
|
||||
}
|
||||
|
||||
_instance = this;
|
||||
if (_dontDestroyOnLoad)
|
||||
DontDestroyOnLoad(gameObject);
|
||||
}
|
||||
|
||||
|
||||
private void Update()
|
||||
{
|
||||
#if MIRROR
|
||||
CheckRegisterHandlers();
|
||||
#endif
|
||||
//Run updates on FlexNetworkTransforms.
|
||||
for (int i = 0; i < _activeFlexNetworkAnimators.Count; i++)
|
||||
_activeFlexNetworkAnimators[i].ManualUpdate();
|
||||
|
||||
//Send any queued messages.
|
||||
SendMessages();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Registers handlers for the client.
|
||||
/// </summary>
|
||||
private void CheckRegisterHandlers()
|
||||
{
|
||||
bool ncActive = Platforms.ReturnClientActive(CurrentNetworkManager);
|
||||
bool nsActive = Platforms.ReturnServerActive(CurrentNetworkManager);
|
||||
bool changed = (_lastClientActive != ncActive || _lastServerActive != nsActive);
|
||||
//If wasn't active previously but is now then get handlers again.
|
||||
if (changed && ncActive)
|
||||
NetworkReplaceHandlers(true);
|
||||
if (changed && nsActive)
|
||||
NetworkReplaceHandlers(false);
|
||||
|
||||
_lastClientActive = ncActive;
|
||||
_lastServerActive = nsActive;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds to ActiveFlexNetworkTransforms.
|
||||
/// </summary>
|
||||
/// <param name="FNA"></param>
|
||||
public static void AddToActive(FlexNetworkAnimator fna)
|
||||
{
|
||||
_activeFlexNetworkAnimators.Add(fna);
|
||||
}
|
||||
/// <summary>
|
||||
/// Removes from ActiveFlexNetworkTransforms.
|
||||
/// </summary>
|
||||
/// <param name="FNA"></param>
|
||||
public static void RemoveFromActive(FlexNetworkAnimator FNA)
|
||||
{
|
||||
_activeFlexNetworkAnimators.Remove(FNA);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends data to server.
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <param name="reliable"></param>
|
||||
public static void SendToServer(ArraySegment<byte> data)
|
||||
{
|
||||
_toServerReliableAnimatorUpdate.Add(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends data to all.
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <param name="reliable"></param>
|
||||
public static void SendToAll(ArraySegment<byte> data)
|
||||
{
|
||||
_toAllReliableAnimatorUpdate.Add(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends data to observers.
|
||||
/// </summary>
|
||||
/// <param name="conn"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <param name="reliable"></param>
|
||||
public static void SendToObserver(NetworkConnection conn, ArraySegment<byte> data)
|
||||
{
|
||||
List<ArraySegment<byte>> datas;
|
||||
//If doesn't have datas for connection yet then make new datas.
|
||||
if (!_observerReliableAnimatorUpdate.TryGetValue(conn, out datas))
|
||||
{
|
||||
datas = new List<ArraySegment<byte>>();
|
||||
_observerReliableAnimatorUpdate[conn] = datas;
|
||||
}
|
||||
|
||||
datas.Add(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends queued messages.
|
||||
/// </summary>
|
||||
private void SendMessages()
|
||||
{
|
||||
//If MTUs haven't been set yet.
|
||||
if (_reliableMTU == -1 || _unreliableMTU == -1)
|
||||
Platforms.SetMTU(ref _reliableMTU, ref _unreliableMTU, MAXIMUM_PACKET_SIZE);
|
||||
|
||||
//Server.
|
||||
if (Platforms.ReturnServerActive(CurrentNetworkManager))
|
||||
{
|
||||
//Reliable to all.
|
||||
SendAnimatorUpdates(false, null, _toAllReliableAnimatorUpdate, true);
|
||||
|
||||
//Reliable to observers.
|
||||
foreach (KeyValuePair<NetworkConnection, List<ArraySegment<byte>>> item in _observerReliableAnimatorUpdate)
|
||||
{
|
||||
//Null or unready network connection.
|
||||
if (item.Key == null || !item.Key.IsReady())
|
||||
continue;
|
||||
|
||||
SendAnimatorUpdates(false, item.Key, item.Value, true);
|
||||
}
|
||||
}
|
||||
//Client.
|
||||
if (Platforms.ReturnClientActive(CurrentNetworkManager))
|
||||
{
|
||||
//Reliable to server.
|
||||
SendAnimatorUpdates(true, null, _toServerReliableAnimatorUpdate, true);
|
||||
}
|
||||
|
||||
_toServerReliableAnimatorUpdate.Clear();
|
||||
_toAllReliableAnimatorUpdate.Clear();
|
||||
_observerReliableAnimatorUpdate.Clear();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends data to all or specified connection.
|
||||
/// </summary>
|
||||
/// <param name="conn"></param>
|
||||
/// <param name="datas"></param>
|
||||
/// <param name="reliable"></param>
|
||||
private void SendAnimatorUpdates(bool toServer, NetworkConnection conn, List<ArraySegment<byte>> datas, bool reliable)
|
||||
{
|
||||
int index = 0;
|
||||
int channel = (reliable) ? 0 : 1;
|
||||
int mtu = (reliable) ? _reliableMTU : _unreliableMTU;
|
||||
mtu -= 75;
|
||||
#if UNITY_EDITOR
|
||||
if (mtu < MINIMUM_MTU_REQUIREMENT)
|
||||
Debug.LogWarning("MTU is dangerously low on channel " + channel + ". Data may not send properly.");
|
||||
#endif
|
||||
|
||||
while (index < datas.Count)
|
||||
{
|
||||
int writerPosition = 0;
|
||||
//Write until break or all data is written.
|
||||
while (writerPosition < mtu && index < datas.Count)
|
||||
{
|
||||
ArraySegment<byte> data = datas[index];
|
||||
int dataCount = data.Count;
|
||||
//If will fit into the packet.
|
||||
if (dataCount + writerPosition <= mtu)
|
||||
{
|
||||
Array.Copy(data.Array, 0, _writerBuffer, writerPosition, dataCount);
|
||||
writerPosition += dataCount;
|
||||
index++;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
AnimatorUpdateMessage msg = new AnimatorUpdateMessage()
|
||||
{
|
||||
Data = new ArraySegment<byte>(_writerBuffer, 0, writerPosition)
|
||||
};
|
||||
|
||||
if (toServer)
|
||||
{
|
||||
Platforms.ClientSend(CurrentNetworkManager, msg, channel);
|
||||
}
|
||||
else
|
||||
{
|
||||
//If no connection then send to all.
|
||||
if (conn == null)
|
||||
Platforms.ServerSendToAll(CurrentNetworkManager, msg, channel);
|
||||
//Otherwise send to connection.
|
||||
else
|
||||
conn.Send(msg, channel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Received on clients when server sends data.
|
||||
/// </summary>
|
||||
/// <param name="msg"></param>
|
||||
private void OnServerAnimatorUpdate(AnimatorUpdateMessage msg)
|
||||
{
|
||||
AnimatorUpdateMessageReceived(msg, true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Received on server when client sends data.
|
||||
/// </summary>
|
||||
/// <param name="msg"></param>
|
||||
private void OnClientAnimatorUpdate(AnimatorUpdateMessage msg)
|
||||
{
|
||||
AnimatorUpdateMessageReceived(msg, false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when an AnimatorUpdateMessage is received.
|
||||
/// </summary>
|
||||
/// <param name="msg"></param>
|
||||
/// <param name="receivedOnClient"></param>
|
||||
private void AnimatorUpdateMessageReceived(AnimatorUpdateMessage msg, bool receivedOnClient)
|
||||
{
|
||||
int readPosition = 0;
|
||||
while (readPosition < msg.Data.Count)
|
||||
{
|
||||
AnimatorUpdate au = new AnimatorUpdate();
|
||||
Serialization.DeserializeAnimatorUpdate(ref au, ref readPosition, msg.Data);
|
||||
/* Initially I tried caching the getcomponent calls but the performance difference
|
||||
* couldn't be registered. At this time it's not worth creating the extra complexity
|
||||
* for what might be a 1% fps difference. */
|
||||
if (Platforms.ReturnSpawned(CurrentNetworkManager).TryGetValue(au.NetworkIdentity, out NetworkIdentity ni))
|
||||
{
|
||||
FlexNetworkAnimator fna = ReturnFNAOnNetworkIdentity(ni, au.ComponentIndex);
|
||||
if (fna != null)
|
||||
{
|
||||
if (receivedOnClient)
|
||||
fna.ServerDataReceived(ref au);
|
||||
else
|
||||
fna.ClientDataReceived(ref au);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Returns a FlexNetworkTransformBase on a networkIdentity using a componentIndex.
|
||||
/// </summary>
|
||||
/// <param name="componentIndex"></param>
|
||||
/// <returns></returns>
|
||||
private FlexNetworkAnimator ReturnFNAOnNetworkIdentity(NetworkIdentity ni, byte componentIndex)
|
||||
{
|
||||
NetworkBehaviour nb = Lookups.ReturnNetworkBehaviour(ni, componentIndex);
|
||||
if (nb == null)
|
||||
return null;
|
||||
|
||||
nb.GetComponents<FlexNetworkAnimator>(_getComponents);
|
||||
/* Now find the FNA which matches the component index. There is probably only one FNA
|
||||
* but if the user could have more so it's important to get all FNA
|
||||
* on the object. */
|
||||
for (int i = 0; i < _getComponents.Count; i++)
|
||||
{
|
||||
//Match found.
|
||||
if (_getComponents[i].CachedComponentIndex == componentIndex)
|
||||
return _getComponents[i];
|
||||
}
|
||||
|
||||
/* If here then the component index was found but the FNA with the component index
|
||||
* was not. This should never happen. */
|
||||
Debug.LogWarning("ComponentIndex found but FlexNetworkAnimator was not.");
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Replaces handlers.
|
||||
/// </summary>
|
||||
/// <param name="client">True to replace for client.</param>
|
||||
private void NetworkReplaceHandlers(bool client)
|
||||
{
|
||||
if (client)
|
||||
NetworkClient.ReplaceHandler<AnimatorUpdateMessage>(OnServerAnimatorUpdate);
|
||||
else
|
||||
NetworkServer.ReplaceHandler<AnimatorUpdateMessage>(OnClientAnimatorUpdate);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8fc0453f283eff41bcc9f96cb884faa
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {fileID: 2800000, guid: 993fb6faa4b6ea9498bc4cbec51f137a, type: 3}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,108 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
public struct ParameterUpdates
|
||||
{
|
||||
public List<LayerWeightUpdate> LayerWeights;
|
||||
public List<SpeedUpdate> Speeds;
|
||||
public List<LayerStateUpdate> LayerStates;
|
||||
public List<BooleanUpdate> Bools;
|
||||
public List<FloatUpdate> Floats;
|
||||
public List<IntUpdate> Ints;
|
||||
public List<TriggerUpdate> Triggers;
|
||||
|
||||
public void MakeNewList()
|
||||
{
|
||||
LayerWeights = new List<LayerWeightUpdate>() { new LayerWeightUpdate() };
|
||||
Speeds = new List<SpeedUpdate>() { new SpeedUpdate() };
|
||||
LayerStates = new List<LayerStateUpdate>() { new LayerStateUpdate() };
|
||||
Bools = new List<BooleanUpdate>() { new BooleanUpdate() };
|
||||
Floats = new List<FloatUpdate>() { new FloatUpdate() };
|
||||
Ints = new List<IntUpdate>() { new IntUpdate() };
|
||||
Triggers = new List<TriggerUpdate>() { new TriggerUpdate() };
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public struct LayerWeightUpdate
|
||||
{
|
||||
public byte Layer;
|
||||
public float Weight;
|
||||
|
||||
public LayerWeightUpdate(byte layer, float weight)
|
||||
{
|
||||
Layer = layer;
|
||||
Weight = weight;
|
||||
}
|
||||
}
|
||||
|
||||
public struct SpeedUpdate
|
||||
{
|
||||
public float Speed;
|
||||
|
||||
public SpeedUpdate(float speed)
|
||||
{
|
||||
Speed = speed;
|
||||
}
|
||||
}
|
||||
|
||||
public struct LayerStateUpdate
|
||||
{
|
||||
public byte Layer;
|
||||
public int Hash;
|
||||
public float Time;
|
||||
|
||||
public LayerStateUpdate(byte layer, int hash, float time)
|
||||
{
|
||||
Layer = layer;
|
||||
Hash = hash;
|
||||
Time = time;
|
||||
}
|
||||
}
|
||||
|
||||
public struct BooleanUpdate
|
||||
{
|
||||
public byte ParameterIndex;
|
||||
public bool Value;
|
||||
|
||||
public BooleanUpdate(byte parameterIndex, bool value)
|
||||
{
|
||||
ParameterIndex = parameterIndex;
|
||||
Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
public struct FloatUpdate
|
||||
{
|
||||
public byte ParameterIndex;
|
||||
public float Value;
|
||||
|
||||
public FloatUpdate(byte parameterIndex, float value)
|
||||
{
|
||||
ParameterIndex = parameterIndex;
|
||||
Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
public struct IntUpdate
|
||||
{
|
||||
public byte ParameterIndex;
|
||||
public int Value;
|
||||
|
||||
public IntUpdate(byte parameterIndex, int value)
|
||||
{
|
||||
ParameterIndex = parameterIndex;
|
||||
Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
public struct TriggerUpdate
|
||||
{
|
||||
public byte ParameterIndex;
|
||||
public bool Set;
|
||||
|
||||
public TriggerUpdate(byte parameterIndex, bool set)
|
||||
{
|
||||
ParameterIndex = parameterIndex;
|
||||
Set = set;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae5cc76e73b0eeb4dbdbae4968c0588e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,54 @@
|
||||
using Mirror;
|
||||
using System;
|
||||
|
||||
namespace FirstGearGames.Mirrors.Assets.FlexNetworkAnimators
|
||||
{
|
||||
|
||||
|
||||
|
||||
public static class Serialization
|
||||
{
|
||||
|
||||
public static PooledNetworkWriter SerializeAnimatorUpdate(AnimatorUpdate au)
|
||||
{
|
||||
using (PooledNetworkWriter writer = (PooledNetworkWriter)NetworkWriterPool.GetWriter())
|
||||
{
|
||||
//NetworkIdentity.
|
||||
Compressions.WriteCompressedUInt(writer, au.NetworkIdentity);
|
||||
//ComponentIndex.
|
||||
writer.WriteByte(au.ComponentIndex);
|
||||
//Data.
|
||||
Compressions.WriteCompressedInt(writer, au.Data.Count);
|
||||
if (au.Data.Array.Length > 0)
|
||||
writer.WriteBytes(au.Data.Array, 0, au.Data.Count);
|
||||
|
||||
return writer;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void DeserializeAnimatorUpdate(ref AnimatorUpdate au, ref int readPosition, ArraySegment<byte> data)
|
||||
{
|
||||
using (PooledNetworkReader reader = (PooledNetworkReader)NetworkReaderPool.GetReader(data))
|
||||
{
|
||||
reader.Position = readPosition;
|
||||
|
||||
//NetworkIdentity.
|
||||
au.NetworkIdentity = Compressions.ReadCompressedUInt(reader);
|
||||
//ComponentIndex.
|
||||
au.ComponentIndex = reader.ReadByte();
|
||||
//Data.
|
||||
int dataLength = Compressions.ReadCompressedInt(reader);
|
||||
if (dataLength > 0)
|
||||
au.Data = reader.ReadBytesSegment(dataLength);
|
||||
|
||||
readPosition = reader.Position;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 172c66278c967e24cb7a5a5934381634
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user