Merge branch '3.6' into 3.7-beta
@ -172,8 +172,11 @@ module spine {
|
|||||||
let timelineBlend = timelineData[ii] == AnimationState.SUBSEQUENT ? blend : MixBlend.setup;
|
let timelineBlend = timelineData[ii] == AnimationState.SUBSEQUENT ? blend : MixBlend.setup;
|
||||||
if (timeline instanceof RotateTimeline) {
|
if (timeline instanceof RotateTimeline) {
|
||||||
this.applyRotateTimeline(timeline, skeleton, animationTime, mix, timelineBlend, timelinesRotation, ii << 1, firstFrame);
|
this.applyRotateTimeline(timeline, skeleton, animationTime, mix, timelineBlend, timelinesRotation, ii << 1, firstFrame);
|
||||||
} else
|
} else {
|
||||||
|
// This fixes the WebKit 602 specific issue described at http://esotericsoftware.com/forum/iOS-10-disappearing-graphics-10109
|
||||||
|
Utils.webkit602BugfixHelper(mix, pose);
|
||||||
timeline.apply(skeleton, animationLast, animationTime, events, mix, timelineBlend, MixDirection.in);
|
timeline.apply(skeleton, animationLast, animationTime, events, mix, timelineBlend, MixDirection.in);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.queueEvents(current, animationTime);
|
this.queueEvents(current, animationTime);
|
||||||
@ -247,6 +250,8 @@ module spine {
|
|||||||
if (timeline instanceof RotateTimeline)
|
if (timeline instanceof RotateTimeline)
|
||||||
this.applyRotateTimeline(timeline, skeleton, animationTime, alpha, timelineBlend, timelinesRotation, i << 1, firstFrame);
|
this.applyRotateTimeline(timeline, skeleton, animationTime, alpha, timelineBlend, timelinesRotation, i << 1, firstFrame);
|
||||||
else {
|
else {
|
||||||
|
// This fixes the WebKit 602 specific issue described at http://esotericsoftware.com/forum/iOS-10-disappearing-graphics-10109
|
||||||
|
Utils.webkit602BugfixHelper(alpha, pose);
|
||||||
timeline.apply(skeleton, animationLast, animationTime, events, alpha, timelineBlend, MixDirection.out);
|
timeline.apply(skeleton, animationLast, animationTime, events, alpha, timelineBlend, MixDirection.out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -259,6 +259,11 @@ module spine {
|
|||||||
static toSinglePrecision (value: number) {
|
static toSinglePrecision (value: number) {
|
||||||
return Utils.SUPPORTS_TYPED_ARRAYS ? Math.fround(value) : value;
|
return Utils.SUPPORTS_TYPED_ARRAYS ? Math.fround(value) : value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This function is used to fix WebKit 602 specific issue described at http://esotericsoftware.com/forum/iOS-10-disappearing-graphics-10109
|
||||||
|
static webkit602BugfixHelper (alpha: number, pose: MixPose) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DebugUtils {
|
export class DebugUtils {
|
||||||
|
|||||||
BIN
spine-ue4/Content/Test/Blueprints/TestWidget.uasset
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes Software License v2.5
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2016, Esoteric Software
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* You are granted a perpetual, non-exclusive, non-sublicensable, and
|
||||||
|
* non-transferable license to use, install, execute, and perform the Spine
|
||||||
|
* Runtimes software and derivative works solely for personal or internal
|
||||||
|
* use. Without the written permission of Esoteric Software (see Section 2 of
|
||||||
|
* the Spine Software License Agreement), you may not (a) modify, translate,
|
||||||
|
* adapt, or develop new applications using the Spine Runtimes or otherwise
|
||||||
|
* create derivative works or improvements of the Spine Runtimes or (b) remove,
|
||||||
|
* delete, alter, or obscure any trademarks or any copyright, trademark, patent,
|
||||||
|
* or other intellectual property or proprietary rights notices on or in the
|
||||||
|
* Software, including any copy thereof. Redistributions in binary or source
|
||||||
|
* form must include this license and terms.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR
|
||||||
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
* EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF
|
||||||
|
* USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||||
|
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include "SpinePluginPrivatePCH.h"
|
||||||
|
|
||||||
|
#include "SSpineWidget.h"
|
||||||
|
#include "Framework/Application/SlateApplication.h"
|
||||||
|
#include "Materials/MaterialInterface.h"
|
||||||
|
#include "Materials/MaterialInstanceDynamic.h"
|
||||||
|
#include "Modules/ModuleManager.h"
|
||||||
|
#include "Runtime/SlateRHIRenderer/Public/Interfaces/ISlateRHIRendererModule.h"
|
||||||
|
#include "Rendering/DrawElements.h"
|
||||||
|
#include "Slate/SlateVectorArtData.h"
|
||||||
|
#include "Slate/SlateVectorArtInstanceData.h"
|
||||||
|
#include "Slate/SMeshWidget.h"
|
||||||
|
#include "SlateMaterialBrush.h"
|
||||||
|
|
||||||
|
void SSpineWidget::Construct(const FArguments& args) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void SSpineWidget::SetBrush(FSlateBrush* Brush) {
|
||||||
|
brush = Brush;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void setVertex(FSlateVertex* vertex, float x, float y, float u, float v, const FColor& color, const FVector2D& offset) {
|
||||||
|
vertex->Position.X = offset.X + x;
|
||||||
|
vertex->Position.Y = offset.Y + y;
|
||||||
|
vertex->TexCoords[0] = u;
|
||||||
|
vertex->TexCoords[1] = v;
|
||||||
|
vertex->TexCoords[2] = u;
|
||||||
|
vertex->TexCoords[3] = v;
|
||||||
|
vertex->MaterialTexCoords.X = u;
|
||||||
|
vertex->MaterialTexCoords.Y = v;
|
||||||
|
vertex->Color = color;
|
||||||
|
vertex->PixelSize[0] = 1;
|
||||||
|
vertex->PixelSize[1] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int32 SSpineWidget::OnPaint(const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyClippingRect, FSlateWindowElementList& OutDrawElements,
|
||||||
|
int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const {
|
||||||
|
SSpineWidget* self = (SSpineWidget*)this;
|
||||||
|
self->renderData.IndexData.SetNumUninitialized(6);
|
||||||
|
uint32* indexData = (uint32*)renderData.IndexData.GetData();
|
||||||
|
indexData[0] = 0;
|
||||||
|
indexData[1] = 1;
|
||||||
|
indexData[2] = 2;
|
||||||
|
indexData[3] = 2;
|
||||||
|
indexData[4] = 3;
|
||||||
|
indexData[5] = 0;
|
||||||
|
|
||||||
|
self->renderData.VertexData.SetNumUninitialized(4);
|
||||||
|
FSlateVertex* vertexData = (FSlateVertex*)renderData.VertexData.GetData();
|
||||||
|
FVector2D offset = AllottedGeometry.AbsolutePosition;
|
||||||
|
FColor white = FColor(0xffffffff);
|
||||||
|
setVertex(&vertexData[0], 0, 0, 0, 0, white, offset);
|
||||||
|
setVertex(&vertexData[1], 200, 0, 1, 0, white, offset);
|
||||||
|
setVertex(&vertexData[2], 200, 200, 1, 1, white, offset);
|
||||||
|
setVertex(&vertexData[3], 0, 200, 0, 1, white, offset);
|
||||||
|
|
||||||
|
if (brush && renderData.VertexData.Num() > 0 && renderData.IndexData.Num() > 0) {
|
||||||
|
FSlateShaderResourceProxy* shaderResource = FSlateDataPayload::ResourceManager->GetShaderResource(*brush);
|
||||||
|
FSlateResourceHandle resourceHandle = FSlateApplication::Get().GetRenderer()->GetResourceHandle(*brush);
|
||||||
|
if (shaderResource)
|
||||||
|
FSlateDrawElement::MakeCustomVerts(OutDrawElements, LayerId, resourceHandle, renderData.VertexData,
|
||||||
|
renderData.IndexData, nullptr, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return LayerId;
|
||||||
|
}
|
||||||
@ -36,3 +36,4 @@
|
|||||||
#include "SpineSkeletonRendererComponent.h"
|
#include "SpineSkeletonRendererComponent.h"
|
||||||
#include "SpineBoneFollowerComponent.h"
|
#include "SpineBoneFollowerComponent.h"
|
||||||
#include "SpineBoneDriverComponent.h"
|
#include "SpineBoneDriverComponent.h"
|
||||||
|
#include "SpineWidget.h"
|
||||||
|
|||||||
@ -0,0 +1,62 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes Software License v2.5
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2016, Esoteric Software
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* You are granted a perpetual, non-exclusive, non-sublicensable, and
|
||||||
|
* non-transferable license to use, install, execute, and perform the Spine
|
||||||
|
* Runtimes software and derivative works solely for personal or internal
|
||||||
|
* use. Without the written permission of Esoteric Software (see Section 2 of
|
||||||
|
* the Spine Software License Agreement), you may not (a) modify, translate,
|
||||||
|
* adapt, or develop new applications using the Spine Runtimes or otherwise
|
||||||
|
* create derivative works or improvements of the Spine Runtimes or (b) remove,
|
||||||
|
* delete, alter, or obscure any trademarks or any copyright, trademark, patent,
|
||||||
|
* or other intellectual property or proprietary rights notices on or in the
|
||||||
|
* Software, including any copy thereof. Redistributions in binary or source
|
||||||
|
* form must include this license and terms.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR
|
||||||
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
* EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF
|
||||||
|
* USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||||
|
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include "SpinePluginPrivatePCH.h"
|
||||||
|
#include "SpineWidget.h"
|
||||||
|
#include "SSpineWidget.h"
|
||||||
|
|
||||||
|
#define LOCTEXT_NAMESPACE "Spine"
|
||||||
|
|
||||||
|
USpineWidget::USpineWidget(const FObjectInitializer& ObjectInitializer): Super(ObjectInitializer) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void USpineWidget::SynchronizeProperties() {
|
||||||
|
Super::SynchronizeProperties();
|
||||||
|
|
||||||
|
if (slateWidget.IsValid()) {
|
||||||
|
slateWidget->SetBrush(&Brush);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void USpineWidget::ReleaseSlateResources(bool bReleaseChildren) {
|
||||||
|
Super::ReleaseSlateResources(bReleaseChildren);
|
||||||
|
slateWidget.Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
TSharedRef<SWidget> USpineWidget::RebuildWidget() {
|
||||||
|
this->slateWidget = SNew(SSpineWidget);
|
||||||
|
return this->slateWidget.ToSharedRef();
|
||||||
|
}
|
||||||
|
|
||||||
|
#if WITH_EDITOR
|
||||||
|
const FText USpineWidget::GetPaletteCategory() {
|
||||||
|
return LOCTEXT("Spine", "Spine");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes Software License v2.5
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2016, Esoteric Software
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* You are granted a perpetual, non-exclusive, non-sublicensable, and
|
||||||
|
* non-transferable license to use, install, execute, and perform the Spine
|
||||||
|
* Runtimes software and derivative works solely for personal or internal
|
||||||
|
* use. Without the written permission of Esoteric Software (see Section 2 of
|
||||||
|
* the Spine Software License Agreement), you may not (a) modify, translate,
|
||||||
|
* adapt, or develop new applications using the Spine Runtimes or otherwise
|
||||||
|
* create derivative works or improvements of the Spine Runtimes or (b) remove,
|
||||||
|
* delete, alter, or obscure any trademarks or any copyright, trademark, patent,
|
||||||
|
* or other intellectual property or proprietary rights notices on or in the
|
||||||
|
* Software, including any copy thereof. Redistributions in binary or source
|
||||||
|
* form must include this license and terms.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR
|
||||||
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
* EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF
|
||||||
|
* USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||||
|
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "SlateCore.h"
|
||||||
|
#include "Slate/SMeshWidget.h"
|
||||||
|
|
||||||
|
class SSpineWidget: public SMeshWidget {
|
||||||
|
|
||||||
|
public:
|
||||||
|
SLATE_BEGIN_ARGS(SSpineWidget): _MeshData(nullptr) { }
|
||||||
|
SLATE_ARGUMENT(USlateVectorArtData*, MeshData)
|
||||||
|
SLATE_END_ARGS()
|
||||||
|
|
||||||
|
void Construct(const FArguments& Args);
|
||||||
|
|
||||||
|
void SetBrush(FSlateBrush* Brush);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual int32 OnPaint(const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const override;
|
||||||
|
|
||||||
|
FSlateBrush* brush = nullptr;
|
||||||
|
FRenderData renderData;
|
||||||
|
};
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes Software License v2.5
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2016, Esoteric Software
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* You are granted a perpetual, non-exclusive, non-sublicensable, and
|
||||||
|
* non-transferable license to use, install, execute, and perform the Spine
|
||||||
|
* Runtimes software and derivative works solely for personal or internal
|
||||||
|
* use. Without the written permission of Esoteric Software (see Section 2 of
|
||||||
|
* the Spine Software License Agreement), you may not (a) modify, translate,
|
||||||
|
* adapt, or develop new applications using the Spine Runtimes or otherwise
|
||||||
|
* create derivative works or improvements of the Spine Runtimes or (b) remove,
|
||||||
|
* delete, alter, or obscure any trademarks or any copyright, trademark, patent,
|
||||||
|
* or other intellectual property or proprietary rights notices on or in the
|
||||||
|
* Software, including any copy thereof. Redistributions in binary or source
|
||||||
|
* form must include this license and terms.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR
|
||||||
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
* EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF
|
||||||
|
* USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||||
|
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "SpinePluginPrivatePCH.h"
|
||||||
|
|
||||||
|
#include "Runtime/UMG/Public/UMG.h"
|
||||||
|
#include "Runtime/UMG/Public/UMGStyle.h"
|
||||||
|
|
||||||
|
#include "SpineWidget.generated.h"
|
||||||
|
|
||||||
|
class SSpineWidget;
|
||||||
|
|
||||||
|
UCLASS(ClassGroup = (Spine), meta = (BlueprintSpawnableComponent))
|
||||||
|
class SPINEPLUGIN_API USpineWidget: public UWidget {
|
||||||
|
GENERATED_UCLASS_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void ReleaseSlateResources(bool bReleaseChildren) override;
|
||||||
|
virtual void SynchronizeProperties() override;
|
||||||
|
#if WITH_EDITOR
|
||||||
|
virtual const FText GetPaletteCategory() override;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
UPROPERTY(Category = Spine, EditAnywhere, BlueprintReadOnly)
|
||||||
|
FSlateBrush Brush;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual TSharedRef<SWidget> RebuildWidget() override;
|
||||||
|
|
||||||
|
TSharedPtr<SSpineWidget> slateWidget;
|
||||||
|
};
|
||||||
@ -8,7 +8,7 @@ namespace UnrealBuildTool.Rules
|
|||||||
{
|
{
|
||||||
PublicIncludePaths.AddRange(new string[] { "SpinePlugin/Public", "SpinePlugin/Public/spine-c/include" });
|
PublicIncludePaths.AddRange(new string[] { "SpinePlugin/Public", "SpinePlugin/Public/spine-c/include" });
|
||||||
PrivateIncludePaths.AddRange(new string[] { "SpinePlugin/Private", "SpinePlugin/Public/spine-c/include" });
|
PrivateIncludePaths.AddRange(new string[] { "SpinePlugin/Private", "SpinePlugin/Public/spine-c/include" });
|
||||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "RHI", "RenderCore", "ShaderCore", "ProceduralMeshComponent", "RuntimeMeshComponent" });
|
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "RHI", "RenderCore", "ShaderCore", "RuntimeMeshComponent", "UMG", "Slate", "SlateCore" });
|
||||||
OptimizeCode = CodeOptimization.Never;
|
OptimizeCode = CodeOptimization.Never;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1926
spine-unity/Assets/Spine Examples/Other Examples/Drunkboy.unity
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 261ab31a787f69142bbfb6027465aaea
|
||||||
|
timeCreated: 1520349924
|
||||||
|
licenseType: Free
|
||||||
|
DefaultImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
6825
spine-unity/Assets/Spine Examples/Other Examples/Freezeboy.unity
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: abf5f8c4fc1d6ff429f00b34381c5b5a
|
||||||
|
timeCreated: 1520592910
|
||||||
|
licenseType: Free
|
||||||
|
DefaultImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cf0d5fcb47d4f4f4ba66cee37fa6b1ff
|
||||||
|
folderAsset: yes
|
||||||
|
timeCreated: 1522746001
|
||||||
|
licenseType: Free
|
||||||
|
DefaultImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: dcf21dc1875a05044835c5a6c969bda4, type: 3}
|
||||||
|
m_Name: Goggles Normal
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
equipType: 1
|
||||||
|
sprite: {fileID: 21300000, guid: 32997c96a91b5904aa064f961fa62937, type: 3}
|
||||||
|
description: Basic goggles. Safety is number one priority.
|
||||||
|
yourStats: 234
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 29c2d64b97744934bb20199d1de50ced
|
||||||
|
timeCreated: 1522687661
|
||||||
|
licenseType: Free
|
||||||
|
NativeFormatImporter:
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: dcf21dc1875a05044835c5a6c969bda4, type: 3}
|
||||||
|
m_Name: Goggles Tactical
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
equipType: 1
|
||||||
|
sprite: {fileID: 21300000, guid: 4f554405f8f06164db0773d689da243c, type: 3}
|
||||||
|
description: Aimbot Goggles with super damage
|
||||||
|
yourStats: 1241254
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 518292925164b9849b22d3ab5c86de18
|
||||||
|
timeCreated: 1522687661
|
||||||
|
licenseType: Free
|
||||||
|
NativeFormatImporter:
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: dcf21dc1875a05044835c5a6c969bda4, type: 3}
|
||||||
|
m_Name: Gun Freeze
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
equipType: 0
|
||||||
|
sprite: {fileID: 21300000, guid: 02c4cbcce432ae74bb2d965060e64d29, type: 3}
|
||||||
|
description: A freeze gun. There's nothing you can do.
|
||||||
|
yourStats: 234
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6575c7c4145c1714f80c46f0652c5e71
|
||||||
|
timeCreated: 1522687661
|
||||||
|
licenseType: Free
|
||||||
|
NativeFormatImporter:
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: dcf21dc1875a05044835c5a6c969bda4, type: 3}
|
||||||
|
m_Name: Gun Normal
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
equipType: 0
|
||||||
|
sprite: {fileID: 21300000, guid: 602e098a046fa6e42a109d3e45c590f2, type: 3}
|
||||||
|
description: A pew pew gun.
|
||||||
|
yourStats: 124
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2459ef647c5bf504fa6d15c3285b1687
|
||||||
|
timeCreated: 1522687661
|
||||||
|
licenseType: Free
|
||||||
|
NativeFormatImporter:
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 689b97bc3d1902b4aa860f704e2c6112
|
||||||
|
timeCreated: 1480087951
|
||||||
|
licenseType: Free
|
||||||
|
DefaultImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -118,6 +118,9 @@ GameObject:
|
|||||||
- component: {fileID: 32415402}
|
- component: {fileID: 32415402}
|
||||||
- component: {fileID: 32415401}
|
- component: {fileID: 32415401}
|
||||||
- component: {fileID: 32415400}
|
- component: {fileID: 32415400}
|
||||||
|
- component: {fileID: 32415403}
|
||||||
|
- component: {fileID: 32415404}
|
||||||
|
- component: {fileID: 32415405}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Eye Target
|
m_Name: Eye Target
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -131,7 +134,7 @@ MeshRenderer:
|
|||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
m_GameObject: {fileID: 32415399}
|
m_GameObject: {fileID: 32415399}
|
||||||
m_Enabled: 0
|
m_Enabled: 1
|
||||||
m_CastShadows: 0
|
m_CastShadows: 0
|
||||||
m_ReceiveShadows: 0
|
m_ReceiveShadows: 0
|
||||||
m_MotionVectors: 1
|
m_MotionVectors: 1
|
||||||
@ -171,7 +174,7 @@ Transform:
|
|||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
m_GameObject: {fileID: 32415399}
|
m_GameObject: {fileID: 32415399}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 5.82, y: 3.59, z: -0.53}
|
m_LocalPosition: {x: 5.82, y: 3.59, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1003754206}
|
- {fileID: 1003754206}
|
||||||
@ -179,6 +182,62 @@ Transform:
|
|||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &32415403
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 32415399}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: ac0a69923492d1b4aa7ca656033ec6a3, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!61 &32415404
|
||||||
|
BoxCollider2D:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 32415399}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Density: 1
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_UsedByEffector: 0
|
||||||
|
m_UsedByComposite: 0
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_SpriteTilingProperty:
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
oldSize: {x: 0, y: 0}
|
||||||
|
newSize: {x: 0, y: 0}
|
||||||
|
adaptiveTilingThreshold: 0
|
||||||
|
drawMode: 0
|
||||||
|
adaptiveTiling: 0
|
||||||
|
m_AutoTiling: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Size: {x: 1, y: 1}
|
||||||
|
m_EdgeRadius: 0
|
||||||
|
--- !u!50 &32415405
|
||||||
|
Rigidbody2D:
|
||||||
|
serializedVersion: 4
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 32415399}
|
||||||
|
m_BodyType: 1
|
||||||
|
m_Simulated: 1
|
||||||
|
m_UseFullKinematicContacts: 0
|
||||||
|
m_UseAutoMass: 0
|
||||||
|
m_Mass: 1
|
||||||
|
m_LinearDrag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_GravityScale: 1
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_SleepingMode: 1
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
m_Constraints: 0
|
||||||
--- !u!1 &122140872
|
--- !u!1 &122140872
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -407,20 +466,22 @@ ParticleSystem:
|
|||||||
playOnAwake: 1
|
playOnAwake: 1
|
||||||
autoRandomSeed: 1
|
autoRandomSeed: 1
|
||||||
startDelay:
|
startDelay:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 2
|
- serializedVersion: 2
|
||||||
time: 0
|
time: 0
|
||||||
value: 1
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
- serializedVersion: 2
|
- serializedVersion: 2
|
||||||
time: 1
|
time: 1
|
||||||
value: 1
|
value: 0
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@ -448,13 +509,15 @@ ParticleSystem:
|
|||||||
moveWithTransform: 1
|
moveWithTransform: 1
|
||||||
moveWithCustomTransform: {fileID: 0}
|
moveWithCustomTransform: {fileID: 0}
|
||||||
scalingMode: 1
|
scalingMode: 1
|
||||||
randomSeed: -1951367272
|
randomSeed: 1259711172
|
||||||
InitialModule:
|
InitialModule:
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
enabled: 1
|
enabled: 1
|
||||||
startLifetime:
|
startLifetime:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0.5
|
scalar: 0.5
|
||||||
|
minScalar: 5
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -492,8 +555,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
startSpeed:
|
startSpeed:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 5
|
scalar: 5
|
||||||
|
minScalar: 5
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -533,6 +598,8 @@ ParticleSystem:
|
|||||||
startColor:
|
startColor:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
|
minColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxGradient:
|
maxGradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||||
@ -591,11 +658,11 @@ ParticleSystem:
|
|||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_NumColorKeys: 2
|
m_NumColorKeys: 2
|
||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
minColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
startSize:
|
startSize:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 0.1
|
scalar: 0.1
|
||||||
|
minScalar: 0.05
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -621,8 +688,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 0
|
m_RotationOrder: 0
|
||||||
startSizeY:
|
startSizeY:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -648,8 +717,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 0
|
m_RotationOrder: 0
|
||||||
startSizeZ:
|
startSizeZ:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -675,8 +746,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 0
|
m_RotationOrder: 0
|
||||||
startRotationX:
|
startRotationX:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 3.1415927
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -702,8 +775,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 0
|
m_RotationOrder: 0
|
||||||
startRotationY:
|
startRotationY:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 3.1415927
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -729,8 +804,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 0
|
m_RotationOrder: 0
|
||||||
startRotation:
|
startRotation:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 0.87266463
|
scalar: 0.87266463
|
||||||
|
minScalar: -0.87266463
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -760,8 +837,10 @@ ParticleSystem:
|
|||||||
size3D: 0
|
size3D: 0
|
||||||
rotation3D: 0
|
rotation3D: 0
|
||||||
gravityModifier:
|
gravityModifier:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -812,8 +891,10 @@ ParticleSystem:
|
|||||||
mode: 0
|
mode: 0
|
||||||
spread: 0
|
spread: 0
|
||||||
speed:
|
speed:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -855,8 +936,10 @@ ParticleSystem:
|
|||||||
mode: 0
|
mode: 0
|
||||||
spread: 0
|
spread: 0
|
||||||
speed:
|
speed:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -909,8 +992,10 @@ ParticleSystem:
|
|||||||
enabled: 1
|
enabled: 1
|
||||||
serializedVersion: 4
|
serializedVersion: 4
|
||||||
rateOverTime:
|
rateOverTime:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 10
|
scalar: 20
|
||||||
|
minScalar: 10
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -948,8 +1033,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
rateOverDistance:
|
rateOverDistance:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -991,8 +1078,10 @@ ParticleSystem:
|
|||||||
SizeModule:
|
SizeModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
curve:
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1030,8 +1119,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
y:
|
y:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1069,8 +1160,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
z:
|
z:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1111,8 +1204,10 @@ ParticleSystem:
|
|||||||
RotationModule:
|
RotationModule:
|
||||||
enabled: 1
|
enabled: 1
|
||||||
x:
|
x:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 1
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1138,8 +1233,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 0
|
m_RotationOrder: 0
|
||||||
y:
|
y:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 1
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1165,8 +1262,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 0
|
m_RotationOrder: 0
|
||||||
curve:
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 3
|
minMaxState: 3
|
||||||
scalar: 5.2359877
|
scalar: 5.2359877
|
||||||
|
minScalar: -5.2359877
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1197,6 +1296,8 @@ ParticleSystem:
|
|||||||
gradient:
|
gradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
|
minColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxGradient:
|
maxGradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||||
@ -1255,13 +1356,13 @@ ParticleSystem:
|
|||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_NumColorKeys: 2
|
m_NumColorKeys: 2
|
||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
minColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
UVModule:
|
UVModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
frameOverTime:
|
frameOverTime:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 0.9999
|
scalar: 0.9999
|
||||||
|
minScalar: 0.9999
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1299,8 +1400,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
startFrame:
|
startFrame:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1349,8 +1452,10 @@ ParticleSystem:
|
|||||||
VelocityModule:
|
VelocityModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
x:
|
x:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1388,8 +1493,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
y:
|
y:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1427,8 +1534,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
z:
|
z:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1470,8 +1579,10 @@ ParticleSystem:
|
|||||||
enabled: 0
|
enabled: 0
|
||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_Curve:
|
m_Curve:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1511,8 +1622,10 @@ ParticleSystem:
|
|||||||
ForceModule:
|
ForceModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
x:
|
x:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1550,8 +1663,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
y:
|
y:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1589,8 +1704,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
z:
|
z:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1635,8 +1752,10 @@ ParticleSystem:
|
|||||||
ClampVelocityModule:
|
ClampVelocityModule:
|
||||||
enabled: 1
|
enabled: 1
|
||||||
x:
|
x:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1674,8 +1793,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
y:
|
y:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1713,8 +1834,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
z:
|
z:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1752,8 +1875,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
magnitude:
|
magnitude:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1796,8 +1921,10 @@ ParticleSystem:
|
|||||||
NoiseModule:
|
NoiseModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
strength:
|
strength:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1835,8 +1962,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
strengthY:
|
strengthY:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1874,8 +2003,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
strengthZ:
|
strengthZ:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1920,8 +2051,10 @@ ParticleSystem:
|
|||||||
octaveScale: 2
|
octaveScale: 2
|
||||||
quality: 2
|
quality: 2
|
||||||
scrollSpeed:
|
scrollSpeed:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1959,8 +2092,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remap:
|
remap:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -1998,8 +2133,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remapY:
|
remapY:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2037,8 +2174,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
remapZ:
|
remapZ:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2079,8 +2218,10 @@ ParticleSystem:
|
|||||||
SizeBySpeedModule:
|
SizeBySpeedModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
curve:
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2118,8 +2259,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
y:
|
y:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2157,8 +2300,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
z:
|
z:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2200,8 +2345,10 @@ ParticleSystem:
|
|||||||
RotationBySpeedModule:
|
RotationBySpeedModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
x:
|
x:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2239,8 +2386,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
y:
|
y:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2278,8 +2427,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
curve:
|
curve:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0.7853981
|
scalar: 0.7853981
|
||||||
|
minScalar: 0.7853982
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2323,6 +2474,8 @@ ParticleSystem:
|
|||||||
gradient:
|
gradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 1
|
minMaxState: 1
|
||||||
|
minColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxGradient:
|
maxGradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||||
@ -2381,8 +2534,6 @@ ParticleSystem:
|
|||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_NumColorKeys: 2
|
m_NumColorKeys: 2
|
||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
minColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
range: {x: 0, y: 1}
|
range: {x: 0, y: 1}
|
||||||
CollisionModule:
|
CollisionModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
@ -2396,8 +2547,10 @@ ParticleSystem:
|
|||||||
plane4: {fileID: 0}
|
plane4: {fileID: 0}
|
||||||
plane5: {fileID: 0}
|
plane5: {fileID: 0}
|
||||||
m_Dampen:
|
m_Dampen:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2435,8 +2588,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
m_Bounce:
|
m_Bounce:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2474,8 +2629,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
m_EnergyLossOnCollision:
|
m_EnergyLossOnCollision:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2553,8 +2710,10 @@ ParticleSystem:
|
|||||||
range: 1
|
range: 1
|
||||||
intensity: 1
|
intensity: 1
|
||||||
rangeCurve:
|
rangeCurve:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2592,8 +2751,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
intensityCurve:
|
intensityCurve:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2635,8 +2796,10 @@ ParticleSystem:
|
|||||||
enabled: 0
|
enabled: 0
|
||||||
ratio: 1
|
ratio: 1
|
||||||
lifetime:
|
lifetime:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2683,6 +2846,8 @@ ParticleSystem:
|
|||||||
colorOverLifetime:
|
colorOverLifetime:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
|
minColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxGradient:
|
maxGradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||||
@ -2741,11 +2906,11 @@ ParticleSystem:
|
|||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_NumColorKeys: 2
|
m_NumColorKeys: 2
|
||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
minColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
widthOverTrail:
|
widthOverTrail:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 1
|
scalar: 1
|
||||||
|
minScalar: 1
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2785,6 +2950,8 @@ ParticleSystem:
|
|||||||
colorOverTrail:
|
colorOverTrail:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
|
minColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxGradient:
|
maxGradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||||
@ -2843,8 +3010,6 @@ ParticleSystem:
|
|||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_NumColorKeys: 2
|
m_NumColorKeys: 2
|
||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
minColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
CustomDataModule:
|
CustomDataModule:
|
||||||
enabled: 0
|
enabled: 0
|
||||||
mode0: 0
|
mode0: 0
|
||||||
@ -2852,6 +3017,8 @@ ParticleSystem:
|
|||||||
color0:
|
color0:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
|
minColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxGradient:
|
maxGradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||||
@ -2910,11 +3077,11 @@ ParticleSystem:
|
|||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_NumColorKeys: 2
|
m_NumColorKeys: 2
|
||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
minColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
vector0_0:
|
vector0_0:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2952,8 +3119,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
vector0_1:
|
vector0_1:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -2991,8 +3160,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
vector0_2:
|
vector0_2:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -3030,8 +3201,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
vector0_3:
|
vector0_3:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -3073,6 +3246,8 @@ ParticleSystem:
|
|||||||
color1:
|
color1:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
|
minColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxGradient:
|
maxGradient:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||||
@ -3131,11 +3306,11 @@ ParticleSystem:
|
|||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_NumColorKeys: 2
|
m_NumColorKeys: 2
|
||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
minColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
vector1_0:
|
vector1_0:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -3173,8 +3348,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
vector1_1:
|
vector1_1:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -3212,8 +3389,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
vector1_2:
|
vector1_2:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
@ -3251,8 +3430,10 @@ ParticleSystem:
|
|||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
vector1_3:
|
vector1_3:
|
||||||
|
serializedVersion: 2
|
||||||
minMaxState: 0
|
minMaxState: 0
|
||||||
scalar: 0
|
scalar: 0
|
||||||
|
minScalar: 0
|
||||||
maxCurve:
|
maxCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
|
|||||||
@ -1,19 +1,19 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
--- !u!29 &1
|
--- !u!29 &1
|
||||||
SceneSettings:
|
OcclusionCullingSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PVSData:
|
serializedVersion: 2
|
||||||
m_PVSObjectsArray: []
|
|
||||||
m_PVSPortalsArray: []
|
|
||||||
m_OcclusionBakeSettings:
|
m_OcclusionBakeSettings:
|
||||||
smallestOccluder: 5
|
smallestOccluder: 5
|
||||||
smallestHole: 0.25
|
smallestHole: 0.25
|
||||||
backfaceThreshold: 100
|
backfaceThreshold: 100
|
||||||
|
m_SceneGUID: 00000000000000000000000000000000
|
||||||
|
m_OcclusionCullingData: {fileID: 0}
|
||||||
--- !u!104 &2
|
--- !u!104 &2
|
||||||
RenderSettings:
|
RenderSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 7
|
serializedVersion: 8
|
||||||
m_Fog: 0
|
m_Fog: 0
|
||||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||||
m_FogMode: 3
|
m_FogMode: 3
|
||||||
@ -25,6 +25,7 @@ RenderSettings:
|
|||||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||||
m_AmbientIntensity: 1
|
m_AmbientIntensity: 1
|
||||||
m_AmbientMode: 3
|
m_AmbientMode: 3
|
||||||
|
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||||
m_SkyboxMaterial: {fileID: 0}
|
m_SkyboxMaterial: {fileID: 0}
|
||||||
m_HaloStrength: 0.5
|
m_HaloStrength: 0.5
|
||||||
m_FlareStrength: 1
|
m_FlareStrength: 1
|
||||||
@ -41,7 +42,7 @@ RenderSettings:
|
|||||||
--- !u!157 &4
|
--- !u!157 &4
|
||||||
LightmapSettings:
|
LightmapSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 7
|
serializedVersion: 9
|
||||||
m_GIWorkflowMode: 1
|
m_GIWorkflowMode: 1
|
||||||
m_GISettings:
|
m_GISettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@ -53,7 +54,7 @@ LightmapSettings:
|
|||||||
m_EnableBakedLightmaps: 1
|
m_EnableBakedLightmaps: 1
|
||||||
m_EnableRealtimeLightmaps: 0
|
m_EnableRealtimeLightmaps: 0
|
||||||
m_LightmapEditorSettings:
|
m_LightmapEditorSettings:
|
||||||
serializedVersion: 4
|
serializedVersion: 8
|
||||||
m_Resolution: 1
|
m_Resolution: 1
|
||||||
m_BakeResolution: 50
|
m_BakeResolution: 50
|
||||||
m_TextureWidth: 1024
|
m_TextureWidth: 1024
|
||||||
@ -66,40 +67,57 @@ LightmapSettings:
|
|||||||
m_LightmapParameters: {fileID: 0}
|
m_LightmapParameters: {fileID: 0}
|
||||||
m_LightmapsBakeMode: 1
|
m_LightmapsBakeMode: 1
|
||||||
m_TextureCompression: 0
|
m_TextureCompression: 0
|
||||||
m_DirectLightInLightProbes: 1
|
|
||||||
m_FinalGather: 0
|
m_FinalGather: 0
|
||||||
m_FinalGatherFiltering: 1
|
m_FinalGatherFiltering: 1
|
||||||
m_FinalGatherRayCount: 1024
|
m_FinalGatherRayCount: 1024
|
||||||
m_ReflectionCompression: 2
|
m_ReflectionCompression: 2
|
||||||
|
m_MixedBakeMode: 1
|
||||||
|
m_BakeBackend: 0
|
||||||
|
m_PVRSampling: 1
|
||||||
|
m_PVRDirectSampleCount: 32
|
||||||
|
m_PVRSampleCount: 500
|
||||||
|
m_PVRBounces: 2
|
||||||
|
m_PVRFiltering: 0
|
||||||
|
m_PVRFilteringMode: 1
|
||||||
|
m_PVRCulling: 1
|
||||||
|
m_PVRFilteringGaussRadiusDirect: 1
|
||||||
|
m_PVRFilteringGaussRadiusIndirect: 5
|
||||||
|
m_PVRFilteringGaussRadiusAO: 2
|
||||||
|
m_PVRFilteringAtrousColorSigma: 1
|
||||||
|
m_PVRFilteringAtrousNormalSigma: 1
|
||||||
|
m_PVRFilteringAtrousPositionSigma: 1
|
||||||
m_LightingDataAsset: {fileID: 0}
|
m_LightingDataAsset: {fileID: 0}
|
||||||
m_RuntimeCPUUsage: 25
|
m_ShadowMaskMode: 2
|
||||||
--- !u!196 &5
|
--- !u!196 &5
|
||||||
NavMeshSettings:
|
NavMeshSettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_BuildSettings:
|
m_BuildSettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
|
agentTypeID: 0
|
||||||
agentRadius: 0.5
|
agentRadius: 0.5
|
||||||
agentHeight: 2
|
agentHeight: 2
|
||||||
agentSlope: 45
|
agentSlope: 45
|
||||||
agentClimb: 0.4
|
agentClimb: 0.4
|
||||||
ledgeDropHeight: 0
|
ledgeDropHeight: 0
|
||||||
maxJumpAcrossDistance: 0
|
maxJumpAcrossDistance: 0
|
||||||
accuratePlacement: 0
|
|
||||||
minRegionArea: 2
|
minRegionArea: 2
|
||||||
cellSize: 0.16666666
|
|
||||||
manualCellSize: 0
|
manualCellSize: 0
|
||||||
|
cellSize: 0.16666666
|
||||||
|
manualTileSize: 0
|
||||||
|
tileSize: 256
|
||||||
|
accuratePlacement: 0
|
||||||
m_NavMeshData: {fileID: 0}
|
m_NavMeshData: {fileID: 0}
|
||||||
--- !u!1 &36219066
|
--- !u!1 &36219066
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
serializedVersion: 4
|
serializedVersion: 5
|
||||||
m_Component:
|
m_Component:
|
||||||
- 4: {fileID: 36219067}
|
- component: {fileID: 36219067}
|
||||||
- 114: {fileID: 36219069}
|
- component: {fileID: 36219069}
|
||||||
- 114: {fileID: 36219068}
|
- component: {fileID: 36219068}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: rear_foot_goal
|
m_Name: rear_foot_goal
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -113,13 +131,13 @@ Transform:
|
|||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
m_GameObject: {fileID: 36219066}
|
m_GameObject: {fileID: 36219066}
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0.5187491, w: 0.8549265}
|
m_LocalRotation: {x: 0, y: 0, z: -0.52048814, w: 0.8538689}
|
||||||
m_LocalPosition: {x: -2.3325999, y: 1.2458895, z: 0}
|
m_LocalPosition: {x: -2.3326, y: 1.2458895, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 973814792}
|
m_Father: {fileID: 973814792}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &36219068
|
--- !u!114 &36219068
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -165,9 +183,9 @@ GameObject:
|
|||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
serializedVersion: 4
|
serializedVersion: 5
|
||||||
m_Component:
|
m_Component:
|
||||||
- 4: {fileID: 44654813}
|
- component: {fileID: 44654813}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: SkeletonUtility-Root
|
m_Name: SkeletonUtility-Root
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -184,23 +202,25 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 973814792}
|
- {fileID: 973814792}
|
||||||
m_Father: {fileID: 120294521}
|
m_Father: {fileID: 120294521}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &120294520
|
--- !u!1 &120294520
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
serializedVersion: 4
|
serializedVersion: 5
|
||||||
m_Component:
|
m_Component:
|
||||||
- 4: {fileID: 120294521}
|
- component: {fileID: 120294521}
|
||||||
- 33: {fileID: 120294525}
|
- component: {fileID: 120294525}
|
||||||
- 23: {fileID: 120294524}
|
- component: {fileID: 120294524}
|
||||||
- 114: {fileID: 120294523}
|
- component: {fileID: 120294523}
|
||||||
- 114: {fileID: 120294522}
|
- component: {fileID: 120294522}
|
||||||
|
- component: {fileID: 120294527}
|
||||||
|
- component: {fileID: 120294526}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: raptor
|
m_Name: raptor
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -217,11 +237,11 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: -0.15, z: 0}
|
m_LocalPosition: {x: 0, y: -0.15, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 44654813}
|
- {fileID: 44654813}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &120294522
|
--- !u!114 &120294522
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -248,13 +268,17 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
skeletonDataAsset: {fileID: 11400000, guid: 22c4b5e5a0fd9484d83b1aa705b9a54c, type: 2}
|
skeletonDataAsset: {fileID: 11400000, guid: 22c4b5e5a0fd9484d83b1aa705b9a54c, type: 2}
|
||||||
initialSkinName: default
|
initialSkinName: default
|
||||||
|
initialFlipX: 0
|
||||||
|
initialFlipY: 0
|
||||||
separatorSlotNames: []
|
separatorSlotNames: []
|
||||||
zSpacing: 0
|
zSpacing: 0
|
||||||
renderMeshes: 1
|
useClipping: 1
|
||||||
immutableTriangles: 0
|
immutableTriangles: 0
|
||||||
pmaVertexColors: 1
|
pmaVertexColors: 1
|
||||||
clearStateOnDisable: 0
|
clearStateOnDisable: 0
|
||||||
calculateNormals: 0
|
tintBlack: 0
|
||||||
|
singleSubmesh: 0
|
||||||
|
addNormals: 0
|
||||||
calculateTangents: 0
|
calculateTangents: 0
|
||||||
logErrors: 0
|
logErrors: 0
|
||||||
disableRenderingOnOverride: 1
|
disableRenderingOnOverride: 1
|
||||||
@ -275,7 +299,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_Materials:
|
m_Materials:
|
||||||
- {fileID: 2100000, guid: 4e2feebfcaa26a54ab19f1ff3e0eae35, type: 2}
|
- {fileID: 2100000, guid: 4e2feebfcaa26a54ab19f1ff3e0eae35, type: 2}
|
||||||
m_SubsetIndices:
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
m_ProbeAnchor: {fileID: 0}
|
m_ProbeAnchor: {fileID: 0}
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
@ -283,12 +309,13 @@ MeshRenderer:
|
|||||||
m_PreserveUVs: 0
|
m_PreserveUVs: 0
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
m_ImportantGI: 0
|
m_ImportantGI: 0
|
||||||
m_SelectedWireframeHidden: 0
|
m_SelectedEditorRenderState: 3
|
||||||
m_MinimumChartSize: 4
|
m_MinimumChartSize: 4
|
||||||
m_AutoUVMaxDistance: 0.5
|
m_AutoUVMaxDistance: 0.5
|
||||||
m_AutoUVMaxAngle: 89
|
m_AutoUVMaxAngle: 89
|
||||||
m_LightmapParameters: {fileID: 0}
|
m_LightmapParameters: {fileID: 0}
|
||||||
m_SortingLayerID: 0
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
m_SortingOrder: 2
|
m_SortingOrder: 2
|
||||||
--- !u!33 &120294525
|
--- !u!33 &120294525
|
||||||
MeshFilter:
|
MeshFilter:
|
||||||
@ -297,15 +324,51 @@ MeshFilter:
|
|||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
m_GameObject: {fileID: 120294520}
|
m_GameObject: {fileID: 120294520}
|
||||||
m_Mesh: {fileID: 0}
|
m_Mesh: {fileID: 0}
|
||||||
|
--- !u!61 &120294526
|
||||||
|
BoxCollider2D:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 120294520}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Density: 1
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_UsedByEffector: 0
|
||||||
|
m_UsedByComposite: 0
|
||||||
|
m_Offset: {x: 1.1056857, y: 5.518404}
|
||||||
|
m_SpriteTilingProperty:
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
pivot: {x: 0, y: 0}
|
||||||
|
oldSize: {x: 0, y: 0}
|
||||||
|
newSize: {x: 0, y: 0}
|
||||||
|
adaptiveTilingThreshold: 0
|
||||||
|
drawMode: 0
|
||||||
|
adaptiveTiling: 0
|
||||||
|
m_AutoTiling: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Size: {x: 8.798928, y: 7.601362}
|
||||||
|
m_EdgeRadius: 0
|
||||||
|
--- !u!114 &120294527
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_PrefabParentObject: {fileID: 0}
|
||||||
|
m_PrefabInternal: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 120294520}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: ac0a69923492d1b4aa7ca656033ec6a3, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &973814791
|
--- !u!1 &973814791
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
serializedVersion: 4
|
serializedVersion: 5
|
||||||
m_Component:
|
m_Component:
|
||||||
- 4: {fileID: 973814792}
|
- component: {fileID: 973814792}
|
||||||
- 114: {fileID: 973814793}
|
- component: {fileID: 973814793}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: root
|
m_Name: root
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -319,15 +382,15 @@ Transform:
|
|||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
m_GameObject: {fileID: 973814791}
|
m_GameObject: {fileID: 973814791}
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1984548219}
|
- {fileID: 1984548219}
|
||||||
- {fileID: 36219067}
|
- {fileID: 36219067}
|
||||||
m_Father: {fileID: 44654813}
|
m_Father: {fileID: 44654813}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &973814793
|
--- !u!114 &973814793
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -352,13 +415,13 @@ GameObject:
|
|||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
serializedVersion: 4
|
serializedVersion: 5
|
||||||
m_Component:
|
m_Component:
|
||||||
- 4: {fileID: 976394127}
|
- component: {fileID: 976394127}
|
||||||
- 20: {fileID: 976394126}
|
- component: {fileID: 976394126}
|
||||||
- 92: {fileID: 976394125}
|
- component: {fileID: 976394125}
|
||||||
- 124: {fileID: 976394124}
|
- component: {fileID: 976394124}
|
||||||
- 81: {fileID: 976394123}
|
- component: {fileID: 976394123}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Main Camera
|
m_Name: Main Camera
|
||||||
m_TagString: MainCamera
|
m_TagString: MainCamera
|
||||||
@ -417,6 +480,8 @@ Camera:
|
|||||||
m_TargetDisplay: 0
|
m_TargetDisplay: 0
|
||||||
m_TargetEye: 3
|
m_TargetEye: 3
|
||||||
m_HDR: 0
|
m_HDR: 0
|
||||||
|
m_AllowMSAA: 1
|
||||||
|
m_ForceIntoRT: 0
|
||||||
m_OcclusionCulling: 1
|
m_OcclusionCulling: 1
|
||||||
m_StereoConvergence: 10
|
m_StereoConvergence: 10
|
||||||
m_StereoSeparation: 0.022
|
m_StereoSeparation: 0.022
|
||||||
@ -430,21 +495,21 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 1, z: -12}
|
m_LocalPosition: {x: 0, y: 1, z: -12}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1497001935
|
--- !u!1 &1497001935
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
serializedVersion: 4
|
serializedVersion: 5
|
||||||
m_Component:
|
m_Component:
|
||||||
- 4: {fileID: 1497001939}
|
- component: {fileID: 1497001939}
|
||||||
- 33: {fileID: 1497001938}
|
- component: {fileID: 1497001938}
|
||||||
- 65: {fileID: 1497001937}
|
- component: {fileID: 1497001937}
|
||||||
- 23: {fileID: 1497001936}
|
- component: {fileID: 1497001936}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Ground
|
m_Name: Ground
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -466,7 +531,9 @@ MeshRenderer:
|
|||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
m_Materials:
|
m_Materials:
|
||||||
- {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
|
- {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
m_SubsetIndices:
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
m_ProbeAnchor: {fileID: 0}
|
m_ProbeAnchor: {fileID: 0}
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
@ -474,12 +541,13 @@ MeshRenderer:
|
|||||||
m_PreserveUVs: 0
|
m_PreserveUVs: 0
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
m_ImportantGI: 0
|
m_ImportantGI: 0
|
||||||
m_SelectedWireframeHidden: 0
|
m_SelectedEditorRenderState: 3
|
||||||
m_MinimumChartSize: 4
|
m_MinimumChartSize: 4
|
||||||
m_AutoUVMaxDistance: 0.5
|
m_AutoUVMaxDistance: 0.5
|
||||||
m_AutoUVMaxAngle: 89
|
m_AutoUVMaxAngle: 89
|
||||||
m_LightmapParameters: {fileID: 0}
|
m_LightmapParameters: {fileID: 0}
|
||||||
m_SortingLayerID: 0
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
m_SortingOrder: 0
|
m_SortingOrder: 0
|
||||||
--- !u!65 &1497001937
|
--- !u!65 &1497001937
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
@ -509,20 +577,20 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: -0.08522272, w: 0.996362}
|
m_LocalRotation: {x: 0, y: 0, z: -0.08522272, w: 0.996362}
|
||||||
m_LocalPosition: {x: 0.29366082, y: 0.13593975, z: 2}
|
m_LocalPosition: {x: 0.29366082, y: 0.13593975, z: 2}
|
||||||
m_LocalScale: {x: 13, y: 1, z: 2.6603487}
|
m_LocalScale: {x: 13, y: 1, z: 2.6603487}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1984548216
|
--- !u!1 &1984548216
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
serializedVersion: 4
|
serializedVersion: 5
|
||||||
m_Component:
|
m_Component:
|
||||||
- 4: {fileID: 1984548219}
|
- component: {fileID: 1984548219}
|
||||||
- 114: {fileID: 1984548218}
|
- component: {fileID: 1984548218}
|
||||||
- 114: {fileID: 1984548217}
|
- component: {fileID: 1984548217}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: front_foot_goal
|
m_Name: front_foot_goal
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -576,10 +644,10 @@ Transform:
|
|||||||
m_PrefabParentObject: {fileID: 0}
|
m_PrefabParentObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1984548216}
|
m_GameObject: {fileID: 1984548216}
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0.00795751, w: 0.99996835}
|
m_LocalRotation: {x: 0, y: 0, z: -0.00829022, w: 0.99996567}
|
||||||
m_LocalPosition: {x: 2.9748998, y: 0.3312556, z: 0}
|
m_LocalPosition: {x: 2.9747999, y: 0.33127287, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 973814792}
|
m_Father: {fileID: 973814792}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
|||||||
@ -158,7 +158,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2}
|
skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2}
|
||||||
initialSkinName: base
|
initialSkinName: base
|
||||||
initialFlipX: 0
|
initialFlipX: 1
|
||||||
initialFlipY: 0
|
initialFlipY: 0
|
||||||
separatorSlotNames: []
|
separatorSlotNames: []
|
||||||
zSpacing: 0
|
zSpacing: 0
|
||||||
@ -221,7 +221,7 @@ Transform:
|
|||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
m_GameObject: {fileID: 282891642}
|
m_GameObject: {fileID: 282891642}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: -8.18, y: -3.48, z: 0}
|
m_LocalPosition: {x: 6.84, y: -3.48, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
@ -323,7 +323,7 @@ Transform:
|
|||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInternal: {fileID: 0}
|
||||||
m_GameObject: {fileID: 351144566}
|
m_GameObject: {fileID: 351144566}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: -0.3, y: -3.48, z: 0}
|
m_LocalPosition: {x: -2.4099998, y: -3.48, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 795271517}
|
- {fileID: 795271517}
|
||||||
@ -517,6 +517,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
spineboy: {fileID: 351144567}
|
spineboy: {fileID: 351144567}
|
||||||
|
attackerSpineboy: {fileID: 282891644}
|
||||||
gauge: {fileID: 795271514}
|
gauge: {fileID: 795271514}
|
||||||
healthText: {fileID: 1847717249}
|
healthText: {fileID: 1847717249}
|
||||||
onAttack:
|
onAttack:
|
||||||
@ -567,7 +568,7 @@ RectTransform:
|
|||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 436.7, y: 225.4}
|
m_AnchoredPosition: {x: -781, y: 225.4}
|
||||||
m_SizeDelta: {x: 339.8, y: 53.2}
|
m_SizeDelta: {x: 339.8, y: 53.2}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &1053578425
|
--- !u!114 &1053578425
|
||||||
@ -811,7 +812,7 @@ RectTransform:
|
|||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: -13, y: 343}
|
m_AnchoredPosition: {x: -224, y: 343}
|
||||||
m_SizeDelta: {x: 339.8, y: 53.2}
|
m_SizeDelta: {x: 339.8, y: 53.2}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &1847717249
|
--- !u!114 &1847717249
|
||||||
|
|||||||
@ -35,6 +35,7 @@ namespace Spine.Unity.Examples {
|
|||||||
public class AttackSpineboy : MonoBehaviour {
|
public class AttackSpineboy : MonoBehaviour {
|
||||||
|
|
||||||
public SkeletonAnimation spineboy;
|
public SkeletonAnimation spineboy;
|
||||||
|
public SkeletonAnimation attackerSpineboy;
|
||||||
public SpineGauge gauge;
|
public SpineGauge gauge;
|
||||||
public Text healthText;
|
public Text healthText;
|
||||||
|
|
||||||
@ -48,6 +49,9 @@ namespace Spine.Unity.Examples {
|
|||||||
currentHealth -= 10;
|
currentHealth -= 10;
|
||||||
healthText.text = currentHealth + "/" + maxHealth;
|
healthText.text = currentHealth + "/" + maxHealth;
|
||||||
|
|
||||||
|
attackerSpineboy.AnimationState.SetAnimation(1, "shoot", false);
|
||||||
|
attackerSpineboy.AnimationState.AddEmptyAnimation(1, 0.5f, 2f);
|
||||||
|
|
||||||
if (currentHealth > 0) {
|
if (currentHealth > 0) {
|
||||||
spineboy.AnimationState.SetAnimation(0, "hit", false);
|
spineboy.AnimationState.SetAnimation(0, "hit", false);
|
||||||
spineboy.AnimationState.AddAnimation(0, "idle", true, 0);
|
spineboy.AnimationState.AddAnimation(0, "idle", true, 0);
|
||||||
|
|||||||
@ -0,0 +1,27 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
public class DraggableTransform : MonoBehaviour {
|
||||||
|
|
||||||
|
Vector2 mousePreviousWorld, mouseDeltaWorld;
|
||||||
|
Camera mainCamera;
|
||||||
|
|
||||||
|
void Start () {
|
||||||
|
mainCamera = Camera.main;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update () {
|
||||||
|
Vector2 mouseCurrent = Input.mousePosition;
|
||||||
|
Vector2 mouseCurrentWorld = mainCamera.ScreenToWorldPoint(new Vector3(mouseCurrent.x, mouseCurrent.y, -mainCamera.transform.position.z));
|
||||||
|
|
||||||
|
mouseDeltaWorld = mouseCurrentWorld - mousePreviousWorld;
|
||||||
|
mousePreviousWorld = mouseCurrentWorld;
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnMouseDrag () {
|
||||||
|
transform.Translate(mouseDeltaWorld);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ac0a69923492d1b4aa7ca656033ec6a3
|
||||||
|
timeCreated: 1520587078
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 39dcbd139c9316f46919f47f9706ca79
|
||||||
|
folderAsset: yes
|
||||||
|
timeCreated: 1522686452
|
||||||
|
licenseType: Free
|
||||||
|
DefaultImporter:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
[CreateAssetMenu]
|
||||||
|
public class EquipAssetExample : ScriptableObject {
|
||||||
|
public EquipSystemExample.EquipType equipType;
|
||||||
|
public Sprite sprite;
|
||||||
|
public string description;
|
||||||
|
public int yourStats;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: dcf21dc1875a05044835c5a6c969bda4
|
||||||
|
timeCreated: 1522687338
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
public class EquipButtonExample : MonoBehaviour {
|
||||||
|
public EquipAssetExample asset;
|
||||||
|
public EquipSystemExample equipSystem;
|
||||||
|
public Image inventoryImage;
|
||||||
|
|
||||||
|
void OnValidate () {
|
||||||
|
MatchImage();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MatchImage () {
|
||||||
|
if (inventoryImage != null)
|
||||||
|
inventoryImage.sprite = asset.sprite;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Start () {
|
||||||
|
MatchImage();
|
||||||
|
|
||||||
|
var button = GetComponent<Button>();
|
||||||
|
button.onClick.AddListener(
|
||||||
|
delegate { equipSystem.Equip(asset); }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d818155d239e98d46bb41e307ba270d4
|
||||||
|
timeCreated: 1522744049
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
using Spine.Unity.Modules.AttachmentTools;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
public class EquipSystemExample : MonoBehaviour, IHasSkeletonDataAsset {
|
||||||
|
|
||||||
|
// Implementing IHasSkeletonDataAsset allows Spine attribute drawers to automatically detect this component as a skeleton data source.
|
||||||
|
public SkeletonDataAsset skeletonDataAsset;
|
||||||
|
SkeletonDataAsset IHasSkeletonDataAsset.SkeletonDataAsset { get { return this.skeletonDataAsset; } }
|
||||||
|
|
||||||
|
public Material sourceMaterial;
|
||||||
|
public bool applyPMA = true;
|
||||||
|
public List<EquipHook> equippables = new List<EquipHook>();
|
||||||
|
|
||||||
|
public EquipsVisualsComponentExample target;
|
||||||
|
public Dictionary<EquipAssetExample, Attachment> cachedAttachments = new Dictionary<EquipAssetExample, Attachment>();
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public class EquipHook {
|
||||||
|
public EquipType type;
|
||||||
|
[SpineSlot]
|
||||||
|
public string slot;
|
||||||
|
[SpineSkin]
|
||||||
|
public string templateSkin;
|
||||||
|
[SpineAttachment(skinField:"templateSkin")]
|
||||||
|
public string templateAttachment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum EquipType {
|
||||||
|
Gun,
|
||||||
|
Goggles
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Equip (EquipAssetExample asset) {
|
||||||
|
var equipType = asset.equipType;
|
||||||
|
EquipHook howToEquip = equippables.Find(x => x.type == equipType);
|
||||||
|
|
||||||
|
var skeletonData = skeletonDataAsset.GetSkeletonData(true);
|
||||||
|
int slotIndex = skeletonData.FindSlotIndex(howToEquip.slot);
|
||||||
|
var attachment = GenerateAttachmentFromEquipAsset(asset, slotIndex, howToEquip.templateSkin, howToEquip.templateAttachment);
|
||||||
|
target.Equip(slotIndex, howToEquip.templateAttachment, attachment);
|
||||||
|
}
|
||||||
|
|
||||||
|
Attachment GenerateAttachmentFromEquipAsset (EquipAssetExample asset, int slotIndex, string templateSkinName, string templateAttachmentName) {
|
||||||
|
Attachment attachment;
|
||||||
|
cachedAttachments.TryGetValue(asset, out attachment);
|
||||||
|
|
||||||
|
if (attachment == null) {
|
||||||
|
var skeletonData = skeletonDataAsset.GetSkeletonData(true);
|
||||||
|
var templateSkin = skeletonData.FindSkin(templateSkinName);
|
||||||
|
Attachment templateAttachment = templateSkin.GetAttachment(slotIndex, templateAttachmentName);
|
||||||
|
attachment = templateAttachment.GetRemappedClone(asset.sprite, sourceMaterial, premultiplyAlpha: this.applyPMA);
|
||||||
|
|
||||||
|
cachedAttachments.Add(asset, attachment); // Cache this value for next time this asset is used.
|
||||||
|
}
|
||||||
|
|
||||||
|
return attachment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Done () {
|
||||||
|
target.OptimizeSkin();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6159005f7c3d5fd4ba33cff41eae5531
|
||||||
|
timeCreated: 1522686506
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
using Spine.Unity.Modules.AttachmentTools;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
public class EquipsVisualsComponentExample : MonoBehaviour {
|
||||||
|
|
||||||
|
public SkeletonAnimation skeletonAnimation;
|
||||||
|
|
||||||
|
[SpineSkin]
|
||||||
|
public string templateSkinName;
|
||||||
|
|
||||||
|
Spine.Skin equipsSkin;
|
||||||
|
Spine.Skin collectedSkin;
|
||||||
|
|
||||||
|
public Material runtimeMaterial;
|
||||||
|
public Texture2D runtimeAtlas;
|
||||||
|
|
||||||
|
void Start () {
|
||||||
|
equipsSkin = new Skin("Equips");
|
||||||
|
|
||||||
|
// OPTIONAL: Add all the attachments from the template skin.
|
||||||
|
var templateSkin = skeletonAnimation.Skeleton.Data.FindSkin(templateSkinName);
|
||||||
|
if (templateSkin != null)
|
||||||
|
equipsSkin.Append(templateSkin);
|
||||||
|
|
||||||
|
skeletonAnimation.Skeleton.Skin = equipsSkin;
|
||||||
|
RefreshSkeletonAttachments();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Equip (int slotIndex, string attachmentName, Attachment attachment) {
|
||||||
|
equipsSkin.AddAttachment(slotIndex, attachmentName, attachment);
|
||||||
|
skeletonAnimation.Skeleton.SetSkin(equipsSkin);
|
||||||
|
RefreshSkeletonAttachments();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OptimizeSkin () {
|
||||||
|
// 1. Collect all the attachments of all active skins.
|
||||||
|
collectedSkin = collectedSkin ?? new Skin("Collected skin");
|
||||||
|
collectedSkin.Clear();
|
||||||
|
collectedSkin.Append(skeletonAnimation.Skeleton.Data.DefaultSkin);
|
||||||
|
collectedSkin.Append(equipsSkin);
|
||||||
|
|
||||||
|
// 2. Create a repacked skin.
|
||||||
|
var repackedSkin = collectedSkin.GetRepackedSkin("Repacked skin", skeletonAnimation.SkeletonDataAsset.atlasAssets[0].materials[0], out runtimeMaterial, out runtimeAtlas);
|
||||||
|
collectedSkin.Clear();
|
||||||
|
|
||||||
|
// 3. Use the repacked skin.
|
||||||
|
skeletonAnimation.Skeleton.Skin = repackedSkin;
|
||||||
|
RefreshSkeletonAttachments();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RefreshSkeletonAttachments () {
|
||||||
|
skeletonAnimation.Skeleton.SetSlotsToSetupPose();
|
||||||
|
skeletonAnimation.AnimationState.Apply(skeletonAnimation.Skeleton); //skeletonAnimation.Update(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5732385e4912c444dae078ddc7d04c89
|
||||||
|
timeCreated: 1522688085
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
public class SpineboyBodyTilt : MonoBehaviour {
|
||||||
|
|
||||||
|
[Header("Settings")]
|
||||||
|
public SpineboyFootplanter planter;
|
||||||
|
|
||||||
|
[SpineBone]
|
||||||
|
public string hip = "hip", head = "head";
|
||||||
|
public float hipTiltScale = 7;
|
||||||
|
public float headTiltScale = 0.7f;
|
||||||
|
public float hipRotationMoveScale = 60f;
|
||||||
|
|
||||||
|
[Header("Debug")]
|
||||||
|
public float hipRotationTarget;
|
||||||
|
public float hipRotationSmoothed;
|
||||||
|
public float baseHeadRotation;
|
||||||
|
|
||||||
|
Bone hipBone, headBone;
|
||||||
|
|
||||||
|
void Start () {
|
||||||
|
var skeletonAnimation = GetComponent<SkeletonAnimation>();
|
||||||
|
var skeleton = skeletonAnimation.Skeleton;
|
||||||
|
|
||||||
|
hipBone = skeleton.FindBone(hip);
|
||||||
|
headBone = skeleton.FindBone(head);
|
||||||
|
baseHeadRotation = headBone.rotation;
|
||||||
|
|
||||||
|
skeletonAnimation.UpdateLocal += UpdateLocal;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateLocal (ISkeletonAnimation animated) {
|
||||||
|
hipRotationTarget = planter.Balance * hipTiltScale;
|
||||||
|
hipRotationSmoothed = Mathf.MoveTowards(hipRotationSmoothed, hipRotationTarget, Time.deltaTime * hipRotationMoveScale * Mathf.Abs(2f * planter.Balance / planter.offBalanceThreshold));
|
||||||
|
hipBone.rotation = hipRotationSmoothed;
|
||||||
|
headBone.rotation = baseHeadRotation + (-hipRotationSmoothed * headTiltScale);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7e5835d0f54ec08459236279886bfa66
|
||||||
|
timeCreated: 1520582778
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
public class SpineboyFacialExpression : MonoBehaviour {
|
||||||
|
|
||||||
|
public SpineboyFootplanter footPlanter;
|
||||||
|
|
||||||
|
[SpineSlot]
|
||||||
|
public string eyeSlotName, mouthSlotName;
|
||||||
|
|
||||||
|
[SpineAttachment(slotField:"eyeSlotName")]
|
||||||
|
public string shockEyeName, normalEyeName;
|
||||||
|
|
||||||
|
[SpineAttachment(slotField: "mouthSlotName")]
|
||||||
|
public string shockMouthName, normalMouthName;
|
||||||
|
|
||||||
|
public Slot eyeSlot, mouthSlot;
|
||||||
|
public Attachment shockEye, normalEye, shockMouth, normalMouth;
|
||||||
|
|
||||||
|
public float balanceThreshold = 2.5f;
|
||||||
|
public float shockDuration = 1f;
|
||||||
|
|
||||||
|
[Header("Debug")]
|
||||||
|
public float shockTimer = 0f;
|
||||||
|
|
||||||
|
void Start () {
|
||||||
|
var skeletonAnimation = GetComponent<SkeletonAnimation>();
|
||||||
|
var skeleton = skeletonAnimation.Skeleton;
|
||||||
|
eyeSlot = skeleton.FindSlot(eyeSlotName);
|
||||||
|
mouthSlot = skeleton.FindSlot(mouthSlotName);
|
||||||
|
|
||||||
|
int eyeSlotIndex = skeleton.FindSlotIndex(eyeSlotName);
|
||||||
|
shockEye = skeleton.GetAttachment(eyeSlotIndex, shockEyeName);
|
||||||
|
normalEye = skeleton.GetAttachment(eyeSlotIndex, normalEyeName);
|
||||||
|
|
||||||
|
int mouthSlotIndex = skeleton.FindSlotIndex(mouthSlotName);
|
||||||
|
shockMouth = skeleton.GetAttachment(mouthSlotIndex, shockMouthName);
|
||||||
|
normalMouth = skeleton.GetAttachment(mouthSlotIndex, normalMouthName);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update () {
|
||||||
|
if (Mathf.Abs(footPlanter.Balance) > balanceThreshold)
|
||||||
|
shockTimer = shockDuration;
|
||||||
|
|
||||||
|
if (shockTimer > 0)
|
||||||
|
shockTimer -= Time.deltaTime;
|
||||||
|
|
||||||
|
if (shockTimer > 0) {
|
||||||
|
eyeSlot.attachment = shockEye;
|
||||||
|
mouthSlot.attachment = shockMouth;
|
||||||
|
} else {
|
||||||
|
eyeSlot.attachment = normalEye;
|
||||||
|
mouthSlot.attachment = normalMouth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9d25b0011a425714fbf011e46794c140
|
||||||
|
timeCreated: 1520421823
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
208
spine-unity/Assets/Spine Examples/Scripts/SpineboyFootplanter.cs
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
using Spine;
|
||||||
|
using Spine.Unity;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
public class SpineboyFootplanter : MonoBehaviour {
|
||||||
|
|
||||||
|
public float timeScale = 0.5f;
|
||||||
|
[SpineBone] public string nearBoneName, farBoneName;
|
||||||
|
|
||||||
|
[Header("Settings")]
|
||||||
|
public Vector2 footSize;
|
||||||
|
public float footRayRaise = 2f;
|
||||||
|
public float comfyDistance = 1f;
|
||||||
|
public float centerOfGravityXOffset = -0.25f;
|
||||||
|
public float feetTooFarApartThreshold = 3f;
|
||||||
|
public float offBalanceThreshold = 1.4f;
|
||||||
|
public float minimumSpaceBetweenFeet = 0.5f;
|
||||||
|
public float maxNewStepDisplacement = 2f;
|
||||||
|
public float shuffleDistance = 1f;
|
||||||
|
public float baseLerpSpeed = 3.5f;
|
||||||
|
public FootMovement forward, backward;
|
||||||
|
|
||||||
|
[Header("Debug")]
|
||||||
|
[SerializeField] float balance;
|
||||||
|
[SerializeField] float distanceBetweenFeet;
|
||||||
|
[SerializeField] Foot nearFoot, farFoot;
|
||||||
|
|
||||||
|
Skeleton skeleton;
|
||||||
|
Bone nearFootBone, farFootBone;
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public class FootMovement {
|
||||||
|
public AnimationCurve xMoveCurve;
|
||||||
|
public AnimationCurve raiseCurve;
|
||||||
|
public float maxRaise;
|
||||||
|
public float minDistanceCompensate;
|
||||||
|
public float maxDistanceCompensate;
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public class Foot {
|
||||||
|
public Vector2 worldPos;
|
||||||
|
public float displacementFromCenter;
|
||||||
|
public float distanceFromCenter;
|
||||||
|
|
||||||
|
[Space]
|
||||||
|
public float lerp;
|
||||||
|
public Vector2 worldPosPrev;
|
||||||
|
public Vector2 worldPosNext;
|
||||||
|
|
||||||
|
public bool IsStepInProgress { get { return lerp < 1f; } }
|
||||||
|
public bool IsPrettyMuchDoneStepping { get { return lerp > 0.7f; } }
|
||||||
|
|
||||||
|
public void UpdateDistance (float centerOfGravityX) {
|
||||||
|
displacementFromCenter = worldPos.x - centerOfGravityX;
|
||||||
|
distanceFromCenter = Mathf.Abs(displacementFromCenter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartNewStep (float newDistance, float centerOfGravityX, float tentativeY, float footRayRaise, RaycastHit2D[] hits, Vector2 footSize) {
|
||||||
|
lerp = 0f;
|
||||||
|
worldPosPrev = worldPos;
|
||||||
|
float newX = centerOfGravityX - newDistance;
|
||||||
|
Vector2 origin = new Vector2(newX, tentativeY + footRayRaise);
|
||||||
|
//int hitCount = Physics2D.BoxCastNonAlloc(origin, footSize, 0f, Vector2.down, hits);
|
||||||
|
int hitCount = Physics2D.BoxCast(origin, footSize, 0f, Vector2.down, new ContactFilter2D { useTriggers = false }, hits);
|
||||||
|
worldPosNext = hitCount > 0 ? hits[0].point : new Vector2(newX, tentativeY);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateStepProgress (float deltaTime, float stepSpeed, float shuffleDistance, FootMovement forwardMovement, FootMovement backwardMovement) {
|
||||||
|
if (!this.IsStepInProgress)
|
||||||
|
return;
|
||||||
|
|
||||||
|
lerp += deltaTime * stepSpeed;
|
||||||
|
|
||||||
|
float strideSignedSize = worldPosNext.x - worldPosPrev.x;
|
||||||
|
float strideSign = Mathf.Sign(strideSignedSize);
|
||||||
|
float strideSize = (Mathf.Abs(strideSignedSize));
|
||||||
|
|
||||||
|
var movement = strideSign > 0 ? forwardMovement : backwardMovement;
|
||||||
|
|
||||||
|
worldPos.x = Mathf.Lerp(worldPosPrev.x, worldPosNext.x, movement.xMoveCurve.Evaluate(lerp));
|
||||||
|
float groundLevel = Mathf.Lerp(worldPosPrev.y, worldPosNext.y, lerp);
|
||||||
|
|
||||||
|
if (strideSize > shuffleDistance) {
|
||||||
|
float strideSizeFootRaise = Mathf.Clamp((strideSize * 0.5f), 1f, 2f);
|
||||||
|
worldPos.y = groundLevel + (movement.raiseCurve.Evaluate(lerp) * movement.maxRaise * strideSizeFootRaise);
|
||||||
|
} else {
|
||||||
|
lerp += Time.deltaTime;
|
||||||
|
worldPos.y = groundLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lerp > 1f)
|
||||||
|
lerp = 1f;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static float GetNewDisplacement (float otherLegDisplacementFromCenter, float comfyDistance, float minimumFootDistanceX, float maxNewStepDisplacement, FootMovement forwardMovement, FootMovement backwardMovement) {
|
||||||
|
var movement = Mathf.Sign(otherLegDisplacementFromCenter) < 0 ? forwardMovement : backwardMovement;
|
||||||
|
float randomCompensate = Random.Range(movement.minDistanceCompensate, movement.maxDistanceCompensate);
|
||||||
|
|
||||||
|
float newDisplacement = (otherLegDisplacementFromCenter * randomCompensate);
|
||||||
|
if (Mathf.Abs(newDisplacement) > maxNewStepDisplacement || Mathf.Abs(otherLegDisplacementFromCenter) < minimumFootDistanceX)
|
||||||
|
newDisplacement = comfyDistance * Mathf.Sign(newDisplacement) * randomCompensate;
|
||||||
|
|
||||||
|
return newDisplacement;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public float Balance { get { return balance; } }
|
||||||
|
|
||||||
|
void Start () {
|
||||||
|
Time.timeScale = timeScale;
|
||||||
|
var tpos = transform.position;
|
||||||
|
|
||||||
|
// Default starting positions.
|
||||||
|
nearFoot.worldPos = tpos;
|
||||||
|
nearFoot.worldPos .x -= comfyDistance;
|
||||||
|
nearFoot.worldPosPrev = nearFoot.worldPosNext = nearFoot.worldPos;
|
||||||
|
|
||||||
|
farFoot.worldPos = tpos;
|
||||||
|
farFoot.worldPos.x += comfyDistance;
|
||||||
|
farFoot.worldPosPrev = farFoot.worldPosNext = farFoot.worldPos;
|
||||||
|
|
||||||
|
var skeletonAnimation = GetComponent<SkeletonAnimation>();
|
||||||
|
skeleton = skeletonAnimation.Skeleton;
|
||||||
|
|
||||||
|
skeletonAnimation.UpdateLocal += UpdateLocal;
|
||||||
|
|
||||||
|
nearFootBone = skeleton.FindBone(nearBoneName);
|
||||||
|
farFootBone = skeleton.FindBone(farBoneName);
|
||||||
|
|
||||||
|
nearFoot.lerp = 1f;
|
||||||
|
farFoot.lerp = 1f;
|
||||||
|
}
|
||||||
|
|
||||||
|
RaycastHit2D[] hits = new RaycastHit2D[1];
|
||||||
|
|
||||||
|
private void UpdateLocal (ISkeletonAnimation animated) {
|
||||||
|
Transform thisTransform = transform;
|
||||||
|
|
||||||
|
Vector2 thisTransformPosition = thisTransform.position;
|
||||||
|
float centerOfGravityX = thisTransformPosition.x + centerOfGravityXOffset;
|
||||||
|
|
||||||
|
nearFoot.UpdateDistance(centerOfGravityX);
|
||||||
|
farFoot.UpdateDistance(centerOfGravityX);
|
||||||
|
balance = nearFoot.displacementFromCenter + farFoot.displacementFromCenter;
|
||||||
|
distanceBetweenFeet = Mathf.Abs(nearFoot.worldPos.x - farFoot.worldPos.x);
|
||||||
|
|
||||||
|
// Detect time to make a new step
|
||||||
|
bool isTooOffBalance = Mathf.Abs(balance) > offBalanceThreshold;
|
||||||
|
bool isFeetTooFarApart = distanceBetweenFeet > feetTooFarApartThreshold;
|
||||||
|
bool timeForNewStep = isFeetTooFarApart || isTooOffBalance;
|
||||||
|
if (timeForNewStep) {
|
||||||
|
|
||||||
|
// Choose which foot to use for next step.
|
||||||
|
Foot stepFoot, otherFoot;
|
||||||
|
bool stepLegIsNearLeg = nearFoot.distanceFromCenter > farFoot.distanceFromCenter;
|
||||||
|
if (stepLegIsNearLeg) {
|
||||||
|
stepFoot = nearFoot;
|
||||||
|
otherFoot = farFoot;
|
||||||
|
} else {
|
||||||
|
stepFoot = farFoot;
|
||||||
|
otherFoot = nearFoot;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Start a new step.
|
||||||
|
if (!stepFoot.IsStepInProgress && otherFoot.IsPrettyMuchDoneStepping) {
|
||||||
|
float newDisplacement = Foot.GetNewDisplacement(otherFoot.displacementFromCenter, comfyDistance, minimumSpaceBetweenFeet, maxNewStepDisplacement, forward, backward);
|
||||||
|
stepFoot.StartNewStep(newDisplacement, centerOfGravityX, thisTransformPosition.y, footRayRaise, hits, footSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float deltaTime = Time.deltaTime;
|
||||||
|
float stepSpeed = baseLerpSpeed;
|
||||||
|
stepSpeed += (Mathf.Abs(balance) - 0.6f) * 2.5f;
|
||||||
|
|
||||||
|
// Animate steps that are in progress.
|
||||||
|
nearFoot.UpdateStepProgress(deltaTime, stepSpeed, shuffleDistance, forward, backward);
|
||||||
|
farFoot.UpdateStepProgress(deltaTime, stepSpeed, shuffleDistance, forward, backward);
|
||||||
|
|
||||||
|
nearFootBone.SetPosition(thisTransform.InverseTransformPoint(nearFoot.worldPos));
|
||||||
|
farFootBone.SetPosition(thisTransform.InverseTransformPoint(farFoot.worldPos));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void OnDrawGizmos () {
|
||||||
|
if (Application.isPlaying) {
|
||||||
|
const float Radius = 0.15f;
|
||||||
|
|
||||||
|
Gizmos.color = Color.green;
|
||||||
|
Gizmos.DrawSphere(nearFoot.worldPos, Radius);
|
||||||
|
Gizmos.DrawWireSphere(nearFoot.worldPosNext, Radius);
|
||||||
|
|
||||||
|
Gizmos.color = Color.magenta;
|
||||||
|
Gizmos.DrawSphere(farFoot.worldPos, Radius);
|
||||||
|
Gizmos.DrawWireSphere(farFoot.worldPosNext, Radius);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 890d2c67cc206cd4e8a426391c4ccbba
|
||||||
|
timeCreated: 1520348323
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
64
spine-unity/Assets/Spine Examples/Scripts/SpineboyFreeze.cs
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Spine.Unity.Examples {
|
||||||
|
public class SpineboyFreeze : MonoBehaviour {
|
||||||
|
|
||||||
|
public SkeletonAnimation skeletonAnimation;
|
||||||
|
[SpineAnimation]
|
||||||
|
public string freeze;
|
||||||
|
[SpineAnimation]
|
||||||
|
public string idle;
|
||||||
|
|
||||||
|
public Color freezeColor;
|
||||||
|
public Color freezeBlackColor;
|
||||||
|
public ParticleSystem particles;
|
||||||
|
public float freezePoint = 0.5f;
|
||||||
|
|
||||||
|
public string colorProperty = "_Color";
|
||||||
|
public string blackTintProperty = "_Black";
|
||||||
|
|
||||||
|
MaterialPropertyBlock block;
|
||||||
|
MeshRenderer meshRenderer;
|
||||||
|
|
||||||
|
IEnumerator Start () {
|
||||||
|
block = new MaterialPropertyBlock();
|
||||||
|
meshRenderer = GetComponent<MeshRenderer>();
|
||||||
|
|
||||||
|
particles.Stop();
|
||||||
|
particles.Clear();
|
||||||
|
var main = particles.main;
|
||||||
|
main.loop = false;
|
||||||
|
|
||||||
|
var state = skeletonAnimation.AnimationState;
|
||||||
|
while (true) {
|
||||||
|
|
||||||
|
yield return new WaitForSeconds(1f);
|
||||||
|
|
||||||
|
// Play freeze animation
|
||||||
|
state.SetAnimation(0, freeze, false);
|
||||||
|
yield return new WaitForSeconds(freezePoint);
|
||||||
|
|
||||||
|
// Freeze effects
|
||||||
|
particles.Play();
|
||||||
|
block.SetColor(colorProperty, freezeColor);
|
||||||
|
block.SetColor(blackTintProperty, freezeBlackColor);
|
||||||
|
meshRenderer.SetPropertyBlock(block);
|
||||||
|
|
||||||
|
|
||||||
|
yield return new WaitForSeconds(2f);
|
||||||
|
|
||||||
|
// Return to Idle
|
||||||
|
state.SetAnimation(0, idle, true);
|
||||||
|
block.SetColor(colorProperty, Color.white);
|
||||||
|
block.SetColor(blackTintProperty, Color.black);
|
||||||
|
meshRenderer.SetPropertyBlock(block);
|
||||||
|
|
||||||
|
|
||||||
|
yield return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 87a868f5b5bdfef4e89c36f8368d7f39
|
||||||
|
timeCreated: 1520592011
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
After Width: | Height: | Size: 35 KiB |
@ -1,6 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 2f762ed708bf8634481116a5e53c52f2
|
guid: 32997c96a91b5904aa064f961fa62937
|
||||||
timeCreated: 1497568842
|
timeCreated: 1522686649
|
||||||
licenseType: Free
|
licenseType: Free
|
||||||
TextureImporter:
|
TextureImporter:
|
||||||
fileIDToRecycleName: {}
|
fileIDToRecycleName: {}
|
||||||
@ -19,7 +19,7 @@ TextureImporter:
|
|||||||
externalNormalMap: 0
|
externalNormalMap: 0
|
||||||
heightScale: 0.25
|
heightScale: 0.25
|
||||||
normalMapFilter: 0
|
normalMapFilter: 0
|
||||||
isReadable: 0
|
isReadable: 1
|
||||||
grayScaleToAlpha: 0
|
grayScaleToAlpha: 0
|
||||||
generateCubemap: 6
|
generateCubemap: 6
|
||||||
cubemapConvolution: 0
|
cubemapConvolution: 0
|
||||||
@ -53,7 +53,31 @@ TextureImporter:
|
|||||||
- buildTarget: DefaultTexturePlatform
|
- buildTarget: DefaultTexturePlatform
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
- buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
- buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
- buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
@ -53,7 +53,7 @@ TextureImporter:
|
|||||||
- buildTarget: DefaultTexturePlatform
|
- buildTarget: DefaultTexturePlatform
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
@ -61,7 +61,7 @@ TextureImporter:
|
|||||||
- buildTarget: Standalone
|
- buildTarget: Standalone
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
@ -69,7 +69,7 @@ TextureImporter:
|
|||||||
- buildTarget: Android
|
- buildTarget: Android
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
@ -77,7 +77,7 @@ TextureImporter:
|
|||||||
- buildTarget: WebGL
|
- buildTarget: WebGL
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
@ -53,7 +53,7 @@ TextureImporter:
|
|||||||
- buildTarget: DefaultTexturePlatform
|
- buildTarget: DefaultTexturePlatform
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
@ -61,7 +61,23 @@ TextureImporter:
|
|||||||
- buildTarget: Standalone
|
- buildTarget: Standalone
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
- buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
- buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,92 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 602e098a046fa6e42a109d3e45c590f2
|
||||||
|
timeCreated: 1522686649
|
||||||
|
licenseType: Free
|
||||||
|
TextureImporter:
|
||||||
|
fileIDToRecycleName: {}
|
||||||
|
serializedVersion: 4
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
isReadable: 1
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
filterMode: -1
|
||||||
|
aniso: -1
|
||||||
|
mipBias: -1
|
||||||
|
wrapMode: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
platformSettings:
|
||||||
|
- buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
- buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
- buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
- buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
spritePackingTag:
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
Before Width: | Height: | Size: 600 KiB |
@ -317,6 +317,7 @@ namespace Spine.Unity {
|
|||||||
meshRenderer.sharedMaterials = rendererBuffers.GetUpdatedSharedMaterialsArray();
|
meshRenderer.sharedMaterials = rendererBuffers.GetUpdatedSharedMaterialsArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
meshGenerator.FillLateVertexData(currentMesh);
|
||||||
|
|
||||||
// STEP 4. The UnityEngine.Mesh is ready. Set it as the MeshFilter's mesh. Store the instructions used for that mesh. ===========
|
// STEP 4. The UnityEngine.Mesh is ready. Set it as the MeshFilter's mesh. Store the instructions used for that mesh. ===========
|
||||||
meshFilter.sharedMesh = currentMesh;
|
meshFilter.sharedMesh = currentMesh;
|
||||||
|
|||||||
@ -370,9 +370,9 @@ namespace Spine.Unity.Editor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
EditorGUILayout.LabelField("Name", " Duration");
|
EditorGUILayout.LabelField("Name", " Duration");
|
||||||
bool nonessential = targetSkeletonData.ImagesPath != null; // Currently the only way to determine if skeleton data has nonessential data. (Spine 3.6)
|
//bool nonessential = targetSkeletonData.ImagesPath != null; // Currently the only way to determine if skeleton data has nonessential data. (Spine 3.6)
|
||||||
float fps = targetSkeletonData.Fps;
|
//float fps = targetSkeletonData.Fps;
|
||||||
if (nonessential && fps == 0) fps = 30;
|
//if (nonessential && fps == 0) fps = 30;
|
||||||
|
|
||||||
var activeTrack = preview.ActiveTrack;
|
var activeTrack = preview.ActiveTrack;
|
||||||
foreach (Animation animation in targetSkeletonData.Animations) {
|
foreach (Animation animation in targetSkeletonData.Animations) {
|
||||||
@ -387,8 +387,9 @@ namespace Spine.Unity.Editor {
|
|||||||
} else {
|
} else {
|
||||||
GUILayout.Label("-", GUILayout.Width(24));
|
GUILayout.Label("-", GUILayout.Width(24));
|
||||||
}
|
}
|
||||||
string frameCountString = (fps > 0) ? ("(" + (Mathf.RoundToInt(animation.Duration * fps)) + ")").PadLeft(12, ' ') : string.Empty;
|
//string frameCountString = (fps > 0) ? ("(" + (Mathf.RoundToInt(animation.Duration * fps)) + ")").PadLeft(12, ' ') : string.Empty;
|
||||||
EditorGUILayout.LabelField(new GUIContent(animation.Name, Icons.animation), SpineInspectorUtility.TempContent(animation.Duration.ToString("f3") + "s" + frameCountString));
|
//EditorGUILayout.LabelField(new GUIContent(animation.Name, Icons.animation), SpineInspectorUtility.TempContent(animation.Duration.ToString("f3") + "s" + frameCountString));
|
||||||
|
EditorGUILayout.LabelField(new GUIContent(animation.Name, Icons.animation), SpineInspectorUtility.TempContent(animation.Duration.ToString("f3") + "s"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -374,7 +374,7 @@ namespace Spine.Unity.Editor {
|
|||||||
|
|
||||||
EditorGUI.BeginChangeCheck();
|
EditorGUI.BeginChangeCheck();
|
||||||
c.Mix = EditorGUILayout.Slider("Mix", c.Mix, MixMin, MixMax);
|
c.Mix = EditorGUILayout.Slider("Mix", c.Mix, MixMin, MixMax);
|
||||||
c.BendDirection = EditorGUILayout.Toggle("Bend Direction +", c.BendDirection > 0) ? 1 : -1;
|
c.BendDirection = EditorGUILayout.Toggle(SpineInspectorUtility.TempContent("Bend Clockwise", tooltip: "IkConstraint.BendDirection == 1 if clockwise; -1 if counterclockwise."), c.BendDirection > 0) ? 1 : -1;
|
||||||
if (EditorGUI.EndChangeCheck()) requireRepaint = true;
|
if (EditorGUI.EndChangeCheck()) requireRepaint = true;
|
||||||
|
|
||||||
EditorGUILayout.Space();
|
EditorGUILayout.Space();
|
||||||
|
|||||||
@ -92,26 +92,30 @@ namespace Spine.Unity.Editor {
|
|||||||
// If base property is not found, look for the sibling property.
|
// If base property is not found, look for the sibling property.
|
||||||
if (relativeProperty == null) {
|
if (relativeProperty == null) {
|
||||||
string propertyPath = property.propertyPath;
|
string propertyPath = property.propertyPath;
|
||||||
int localPathLength = 0;
|
int localPathLength = property.name.Length;
|
||||||
|
|
||||||
if (property.isArray) {
|
string newPropertyPath = propertyPath.Remove(propertyPath.Length - localPathLength, localPathLength) + propertyName;
|
||||||
const int internalArrayPathLength = 14; // int arrayPathLength = ".Array.data[x]".Length;
|
relativeProperty = property.serializedObject.FindProperty(newPropertyPath);
|
||||||
|
|
||||||
|
// If a direct sibling property was not found, try to find the sibling of the array.
|
||||||
|
if (relativeProperty == null && property.isArray) {
|
||||||
int propertyPathLength = propertyPath.Length;
|
int propertyPathLength = propertyPath.Length;
|
||||||
int n = propertyPathLength - internalArrayPathLength;
|
|
||||||
// Find the dot before the array property name and
|
int dotCount = 0;
|
||||||
// store the total length from the name of the array until the end of the propertyPath.
|
const int siblingOfListDotCount = 3;
|
||||||
for (int i = internalArrayPathLength + 1; i < n; i++) {
|
for (int i = 1; i < propertyPathLength; i++) {
|
||||||
if (propertyPath[propertyPathLength - i] == '.') {
|
if (propertyPath[propertyPathLength - i] == '.') {
|
||||||
localPathLength = i - 1;
|
dotCount++;
|
||||||
break;
|
if (dotCount >= siblingOfListDotCount) {
|
||||||
|
localPathLength = i - 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
localPathLength = property.name.Length;
|
|
||||||
}
|
|
||||||
|
|
||||||
propertyPath = propertyPath.Remove(propertyPath.Length - localPathLength, localPathLength) + propertyName;
|
newPropertyPath = propertyPath.Remove(propertyPath.Length - localPathLength, localPathLength) + propertyName;
|
||||||
relativeProperty = property.serializedObject.FindProperty(propertyPath);
|
relativeProperty = property.serializedObject.FindProperty(newPropertyPath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return relativeProperty;
|
return relativeProperty;
|
||||||
|
|||||||
@ -50,13 +50,13 @@ namespace Spine.Unity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Instructions for how to generate a mesh or submesh out of a range of slots in a given skeleton.</summary>
|
/// <summary>Instructions for how to generate a mesh or submesh: "Render this skeleton's slots: start slot, up to but not including endSlot, using this material."</summary>
|
||||||
public struct SubmeshInstruction {
|
public struct SubmeshInstruction {
|
||||||
public Skeleton skeleton;
|
public Skeleton skeleton;
|
||||||
public int startSlot;
|
public int startSlot;
|
||||||
public int endSlot;
|
public int endSlot;
|
||||||
|
|
||||||
public Material material;
|
public Material material;
|
||||||
|
|
||||||
public bool forceSeparate;
|
public bool forceSeparate;
|
||||||
public int preActiveClippingSlotSource;
|
public int preActiveClippingSlotSource;
|
||||||
|
|
||||||
@ -206,35 +206,35 @@ namespace Spine.Unity {
|
|||||||
bool skeletonHasClipping = false;
|
bool skeletonHasClipping = false;
|
||||||
var drawOrderItems = drawOrder.Items;
|
var drawOrderItems = drawOrder.Items;
|
||||||
for (int i = 0; i < drawOrderCount; i++) {
|
for (int i = 0; i < drawOrderCount; i++) {
|
||||||
Slot slot = drawOrderItems[i];
|
Slot slot = drawOrderItems[i];
|
||||||
Attachment attachment = slot.attachment;
|
Attachment attachment = slot.attachment;
|
||||||
|
|
||||||
workingAttachmentsItems[i] = attachment;
|
workingAttachmentsItems[i] = attachment;
|
||||||
int attachmentTriangleCount;
|
int attachmentTriangleCount;
|
||||||
int attachmentVertexCount;
|
int attachmentVertexCount;
|
||||||
|
|
||||||
var regionAttachment = attachment as RegionAttachment;
|
var regionAttachment = attachment as RegionAttachment;
|
||||||
if (regionAttachment != null) {
|
if (regionAttachment != null) {
|
||||||
attachmentVertexCount = 4;
|
attachmentVertexCount = 4;
|
||||||
attachmentTriangleCount = 6;
|
attachmentTriangleCount = 6;
|
||||||
} else {
|
} else {
|
||||||
var meshAttachment = attachment as MeshAttachment;
|
var meshAttachment = attachment as MeshAttachment;
|
||||||
if (meshAttachment != null) {
|
if (meshAttachment != null) {
|
||||||
attachmentVertexCount = meshAttachment.worldVerticesLength >> 1;
|
attachmentVertexCount = meshAttachment.worldVerticesLength >> 1;
|
||||||
attachmentTriangleCount = meshAttachment.triangles.Length;
|
attachmentTriangleCount = meshAttachment.triangles.Length;
|
||||||
} else {
|
} else {
|
||||||
var clippingAttachment = attachment as ClippingAttachment;
|
var clippingAttachment = attachment as ClippingAttachment;
|
||||||
if (clippingAttachment != null) {
|
if (clippingAttachment != null) {
|
||||||
current.hasClipping = true;
|
current.hasClipping = true;
|
||||||
skeletonHasClipping = true;
|
skeletonHasClipping = true;
|
||||||
}
|
}
|
||||||
attachmentVertexCount = 0;
|
attachmentVertexCount = 0;
|
||||||
attachmentTriangleCount = 0;
|
attachmentTriangleCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
current.rawTriangleCount += attachmentTriangleCount;
|
current.rawTriangleCount += attachmentTriangleCount;
|
||||||
current.rawVertexCount += attachmentVertexCount;
|
current.rawVertexCount += attachmentVertexCount;
|
||||||
totalRawVertexCount += attachmentVertexCount;
|
totalRawVertexCount += attachmentVertexCount;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -448,9 +448,9 @@ namespace Spine.Unity {
|
|||||||
meshBoundsThickness = 0f;
|
meshBoundsThickness = 0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
submeshes.Count = 1;
|
|
||||||
submeshes.Items[0].Clear(false);
|
|
||||||
submeshIndex = 0;
|
submeshIndex = 0;
|
||||||
|
submeshes.Count = 1;
|
||||||
|
//submeshes.Items[0].Clear(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddSubmesh (SubmeshInstruction instruction, bool updateTriangles = true) {
|
public void AddSubmesh (SubmeshInstruction instruction, bool updateTriangles = true) {
|
||||||
@ -1021,17 +1021,25 @@ namespace Spine.Unity {
|
|||||||
mesh.uv2 = this.uv2.Items;
|
mesh.uv2 = this.uv2.Items;
|
||||||
mesh.uv3 = this.uv3.Items;
|
mesh.uv3 = this.uv3.Items;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (settings.calculateTangents) {
|
public void FillLateVertexData (Mesh mesh) {
|
||||||
MeshGenerator.SolveTangents2DEnsureSize(ref this.tangents, ref this.tempTanBuffer, vertexCount);
|
if (settings.calculateTangents) {
|
||||||
for (int i = 0; i < submeshCount; i++) {
|
int vertexCount = this.vertexBuffer.Count;
|
||||||
var submesh = sbi[i].Items;
|
var sbi = submeshes.Items;
|
||||||
int triangleCount = sbi[i].Count;
|
int submeshCount = submeshes.Count;
|
||||||
MeshGenerator.SolveTangents2DTriangles(this.tempTanBuffer, submesh, triangleCount, vbi, ubi, vertexCount);
|
var vbi = vertexBuffer.Items;
|
||||||
}
|
var ubi = uvBuffer.Items;
|
||||||
MeshGenerator.SolveTangents2DBuffer(this.tangents, this.tempTanBuffer, vertexCount);
|
|
||||||
mesh.tangents = this.tangents;
|
MeshGenerator.SolveTangents2DEnsureSize(ref this.tangents, ref this.tempTanBuffer, vertexCount);
|
||||||
|
for (int i = 0; i < submeshCount; i++) {
|
||||||
|
var submesh = sbi[i].Items;
|
||||||
|
int triangleCount = sbi[i].Count;
|
||||||
|
MeshGenerator.SolveTangents2DTriangles(this.tempTanBuffer, submesh, triangleCount, vbi, ubi, vertexCount);
|
||||||
}
|
}
|
||||||
|
MeshGenerator.SolveTangents2DBuffer(this.tangents, this.tempTanBuffer, vertexCount);
|
||||||
|
mesh.tangents = this.tangents;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -287,6 +287,7 @@ namespace Spine.Unity {
|
|||||||
var mesh = smartMesh.mesh;
|
var mesh = smartMesh.mesh;
|
||||||
meshGenerator.FillVertexData(mesh);
|
meshGenerator.FillVertexData(mesh);
|
||||||
if (updateTriangles) meshGenerator.FillTrianglesSingle(mesh);
|
if (updateTriangles) meshGenerator.FillTrianglesSingle(mesh);
|
||||||
|
meshGenerator.FillLateVertexData(mesh);
|
||||||
|
|
||||||
canvasRenderer.SetMesh(mesh);
|
canvasRenderer.SetMesh(mesh);
|
||||||
smartMesh.instructionUsed.Set(currentInstructions);
|
smartMesh.instructionUsed.Set(currentInstructions);
|
||||||
|
|||||||
@ -117,6 +117,7 @@ namespace Spine.Unity.Modules {
|
|||||||
meshRenderer.sharedMaterials = buffers.GetUpdatedSharedMaterialsArray();
|
meshRenderer.sharedMaterials = buffers.GetUpdatedSharedMaterialsArray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
meshGenerator.FillLateVertexData(mesh);
|
||||||
|
|
||||||
meshFilter.sharedMesh = mesh;
|
meshFilter.sharedMesh = mesh;
|
||||||
smartMesh.instructionUsed.Set(currentInstructions);
|
smartMesh.instructionUsed.Set(currentInstructions);
|
||||||
|
|||||||
@ -41,6 +41,7 @@ namespace Spine.Unity.Modules {
|
|||||||
public bool detachedShadow = false;
|
public bool detachedShadow = false;
|
||||||
public Transform parent;
|
public Transform parent;
|
||||||
public bool hideShadow = true;
|
public bool hideShadow = true;
|
||||||
|
public PhysicsSystem physicsSystem = PhysicsSystem.Physics3D;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
GameObject shadowRoot;
|
GameObject shadowRoot;
|
||||||
@ -49,6 +50,11 @@ namespace Spine.Unity.Modules {
|
|||||||
public Transform dest, src;
|
public Transform dest, src;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum PhysicsSystem {
|
||||||
|
Physics2D,
|
||||||
|
Physics3D
|
||||||
|
};
|
||||||
|
|
||||||
void Start () {
|
void Start () {
|
||||||
// Duplicate this gameObject as the "shadow" with a different parent.
|
// Duplicate this gameObject as the "shadow" with a different parent.
|
||||||
shadowRoot = Instantiate<GameObject>(this.gameObject);
|
shadowRoot = Instantiate<GameObject>(this.gameObject);
|
||||||
@ -85,8 +91,9 @@ namespace Spine.Unity.Modules {
|
|||||||
if (b.gameObject == this.gameObject)
|
if (b.gameObject == this.gameObject)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
System.Type checkType = (physicsSystem == PhysicsSystem.Physics2D) ? typeof(Rigidbody2D) : typeof(Rigidbody);
|
||||||
foreach (var sb in shadowBones) {
|
foreach (var sb in shadowBones) {
|
||||||
if (sb.GetComponent<Rigidbody>() != null && sb.boneName == b.boneName) {
|
if (sb.GetComponent(checkType) != null && sb.boneName == b.boneName) {
|
||||||
shadowTable.Add(new TransformPair {
|
shadowTable.Add(new TransformPair {
|
||||||
dest = b.transform,
|
dest = b.transform,
|
||||||
src = sb.transform
|
src = sb.transform
|
||||||
@ -111,9 +118,15 @@ namespace Spine.Unity.Modules {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FixedUpdate () {
|
void FixedUpdate () {
|
||||||
var shadowRootRigidbody = shadowRoot.GetComponent<Rigidbody>();
|
if (physicsSystem == PhysicsSystem.Physics2D) {
|
||||||
shadowRootRigidbody.MovePosition(transform.position);
|
var shadowRootRigidbody = shadowRoot.GetComponent<Rigidbody2D>();
|
||||||
shadowRootRigidbody.MoveRotation(transform.rotation);
|
shadowRootRigidbody.MovePosition(transform.position);
|
||||||
|
shadowRootRigidbody.MoveRotation(transform.rotation.eulerAngles.z);
|
||||||
|
} else {
|
||||||
|
var shadowRootRigidbody = shadowRoot.GetComponent<Rigidbody>();
|
||||||
|
shadowRootRigidbody.MovePosition(transform.position);
|
||||||
|
shadowRootRigidbody.MoveRotation(transform.rotation);
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0, n = shadowTable.Count; i < n; i++) {
|
for (int i = 0, n = shadowTable.Count; i < n; i++) {
|
||||||
var pair = shadowTable[i];
|
var pair = shadowTable[i];
|
||||||
|
|||||||