From a96ce4188503d987e7db8388f867862cf42bcf8a Mon Sep 17 00:00:00 2001 From: "YITSUSE, Masami" Date: Fri, 3 Feb 2023 18:37:05 +0900 Subject: [PATCH 01/13] =?UTF-8?q?[Ver.2.1.21]=20-=20[Unity-Native=20Mode]?= =?UTF-8?q?=E3=83=A1=E3=83=83=E3=82=B7=E3=83=A5=E3=81=AESetup=E3=81=A8?= =?UTF-8?q?=E3=82=A2=E3=83=8B=E3=83=A1=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E5=81=B4=E3=81=A7=E9=85=8D=E7=BD=AE=E8=87=AA=E4=BD=93=E3=81=8C?= =?UTF-8?q?=E7=95=B0=E3=81=AA=E3=81=A3=E3=81=9F=E5=A0=B4=E5=90=88=E3=81=AB?= =?UTF-8?q?=E3=83=A1=E3=83=83=E3=82=B7=E3=83=A5=E3=81=AE=E5=8B=95=E4=BD=9C?= =?UTF-8?q?=E3=81=8C=E7=95=B0=E5=B8=B8=E3=81=AB=E3=81=AA=E3=82=8B=E9=9A=9C?= =?UTF-8?q?=E5=AE=B3=E3=82=92=E4=BF=AE=E6=AD=A3=EF=BC=88=E6=AD=A3=E7=A2=BA?= =?UTF-8?q?=E3=81=AB=E3=81=AF=E3=83=A1=E3=83=83=E3=82=B7=E3=83=A5=E3=81=AE?= =?UTF-8?q?=E8=A8=88=E7=AE=97=E3=81=AB=E3=81=A4=E3=81=84=E3=81=A6=E3=81=AF?= =?UTF-8?q?Ver.2.1.9=E3=81=AB=E3=83=AD=E3=83=BC=E3=83=AB=E3=83=90=E3=83=83?= =?UTF-8?q?=E3=82=AF=EF=BC=89=20-=20[Unity-Native=20Mode]Animation?= =?UTF-8?q?=E3=82=A6=E3=82=A3=E3=83=B3=E3=83=89=E3=82=A6=E3=81=A7=E3=80=81?= =?UTF-8?q?=E3=83=97=E3=83=AC=E3=83=93=E3=83=A5=E3=83=BC=E5=86=8D=E7=94=9F?= =?UTF-8?q?=E4=B8=AD=E3=81=AB=E3=82=A2=E3=83=8B=E3=83=A1=E3=83=BC=E3=82=B7?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E3=82=92=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88?= =?UTF-8?q?=E3=81=9F=E5=A0=B4=E5=90=88=E3=81=AB=E3=80=81=E3=83=86=E3=82=AF?= =?UTF-8?q?=E3=82=B9=E3=83=81=E3=83=A3=E3=81=8C=E5=89=A5=E3=81=8C=E3=82=8C?= =?UTF-8?q?=E3=81=A6=E5=BE=A9=E5=B8=B0=E3=81=97=E3=81=AA=E3=81=8F=E3=81=AA?= =?UTF-8?q?=E3=82=8B=E9=9A=9C=E5=AE=B3=E3=82=92=E4=BF=AE=E6=AD=A3=EF=BC=88?= =?UTF-8?q?=E3=81=9F=E3=81=A0=E3=81=97=E3=80=81=E3=81=BE=E3=81=A0=E3=80=81?= =?UTF-8?q?=E4=BB=96=E3=81=AE=E3=83=91=E3=83=BC=E3=83=84=E3=81=AB=E3=83=95?= =?UTF-8?q?=E3=82=A9=E3=83=BC=E3=82=AB=E3=82=B9=E3=81=97=E3=81=9F=E3=82=8A?= =?UTF-8?q?=E3=83=BB=E3=83=97=E3=83=AC=E3=83=93=E3=83=A5=E3=83=BC=E5=86=8D?= =?UTF-8?q?=E7=94=9F=E3=81=97=E3=81=AA=E3=81=8A=E3=81=95=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=81=A8=E5=BE=A9=E5=B8=B0=E3=81=97=E3=81=AA=E3=81=84=E5=A0=B4?= =?UTF-8?q?=E5=90=88=E3=81=8C=E3=81=82=E3=82=8A=EF=BC=89=20-=20[SS6Player?= =?UTF-8?q?=20Mode]=E3=82=B7=E3=82=B0=E3=83=8A=E3=83=AB=E3=83=87=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E3=81=AB=E4=B8=8D=E6=AD=A3=E3=81=AA=E3=83=87=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E3=81=8C=E6=B7=B7=E5=85=A5=E3=81=97=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=9F=E6=99=82=E3=81=AB=E3=80=81Fatal=E3=81=A8=E3=81=97?= =?UTF-8?q?=E3=81=A6=E3=82=A4=E3=83=B3=E3=83=9D=E3=83=BC=E3=83=88=E3=82=92?= =?UTF-8?q?=E4=B8=AD=E6=AD=A2=E3=81=99=E3=82=8B=E4=BB=95=E6=A7=98=E3=82=92?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E3=80=82=E3=80=8C=E6=AD=A3=E3=81=97=E3=81=84?= =?UTF-8?q?=E4=B8=8D=E6=AD=A3=E3=83=87=E3=83=BC=E3=82=BF=E3=80=8D=E3=82=92?= =?UTF-8?q?=E5=AE=9A=E7=BE=A9=E3=81=97=E3=81=A6=E3=80=81=E3=81=9D=E3=82=8C?= =?UTF-8?q?=E3=82=92=E5=87=BA=E5=8A=9B=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E3=81=97=E3=81=9F=E3=80=82=20-=20[SS6Player=20Mode]?= =?UTF-8?q?=E3=82=B7=E3=82=A7=E3=83=BC=E3=83=80=E3=81=AE=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E6=99=82=E3=81=AE=E5=87=A6=E7=90=86=E6=9C=80=E9=81=A9=E5=8C=96?= =?UTF-8?q?=E3=81=AB=E5=B0=82=E7=94=A8=E3=81=AE=E3=82=B9=E3=83=86=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E3=82=B9=E3=82=92=E8=A8=AD=E7=BD=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ※Ver.2.1.xはVer.2.2.0と平行管理になります。 --- Assets/SpriteStudio6/Editor/Import/SSAE.cs | 75 +++++++++++++++++-- Assets/SpriteStudio6/Editor/Import/Setting.cs | 3 + .../Library/Control/AnimationParts.cs | 20 +++-- .../Library/Data/Animation/Attribute.cs | 5 ++ .../Library/Library_SpriteStudio6.cs | 3 +- .../Script_SpriteStudio6_PartsUnityNative.cs | 51 +++++++++++-- .../Script/Script_SpriteStudio6_Replicate.cs | 1 - 7 files changed, 134 insertions(+), 24 deletions(-) diff --git a/Assets/SpriteStudio6/Editor/Import/SSAE.cs b/Assets/SpriteStudio6/Editor/Import/SSAE.cs index ac457f1..846638a 100644 --- a/Assets/SpriteStudio6/Editor/Import/SSAE.cs +++ b/Assets/SpriteStudio6/Editor/Import/SSAE.cs @@ -7,6 +7,7 @@ All rights reserved. */ // #define STORE_ANIMATIONSETUP_FULL #define WARN_MESHVERTEX_COUNT +#define TRANSFORM_SET_SETUP_UNITYNATIVE using System.Collections; using System.Collections.Generic; @@ -2087,6 +2088,7 @@ string nameFileSSAE listNode = LibraryEditor_SpriteStudio6.Utility.XML.ListGetNode(nodeKey, "value/commands/value", managerNameSpace); int countCommand = listNode.Count; + bool[] tableActive = new bool[countCommand]; string[] tableIDCommand = new string[countCommand]; string[] tableTextNoteValue = new string[countCommand]; System.Xml.XmlNodeList[] tableNodeValueParams = new System.Xml.XmlNodeList[countCommand]; @@ -2097,6 +2099,9 @@ string nameFileSSAE } for(int i=0; i IDMaterialMainTexture) diff --git a/Assets/SpriteStudio6/Script/Script_SpriteStudio6_Replicate.cs b/Assets/SpriteStudio6/Script/Script_SpriteStudio6_Replicate.cs index aa7da62..35cd637 100644 --- a/Assets/SpriteStudio6/Script/Script_SpriteStudio6_Replicate.cs +++ b/Assets/SpriteStudio6/Script/Script_SpriteStudio6_Replicate.cs @@ -84,7 +84,6 @@ public bool StatusIsControlledTimeline { get { - /* MEMO: */ return(true == double.IsNaN(TimePreviousTimeline)); /* ? true : false */ } } From 824853c17129f118240907b3724a1394541506af Mon Sep 17 00:00:00 2001 From: "YITSUSE, Masami" Date: Wed, 19 Jul 2023 16:51:56 +0900 Subject: [PATCH 02/13] =?UTF-8?q?[Ver.2.1.22]=20-=20=E3=83=90=E3=83=83?= =?UTF-8?q?=E3=83=81=E3=82=A4=E3=83=B3=E3=83=9D=E3=83=BC=E3=83=88=E6=99=82?= =?UTF-8?q?=E3=81=ABUnity-UI=E3=83=A2=E3=83=BC=E3=83=89=E3=82=92=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E3=81=97=E3=81=9F=E9=9A=9B=E3=81=AB=E6=AD=A3=E5=B8=B8?= =?UTF-8?q?=E5=8B=95=E4=BD=9C=E3=81=97=E3=81=AA=E3=81=84=E9=9A=9C=E5=AE=B3?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3=20-=20=E3=83=90=E3=83=83=E3=83=81?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=83=9D=E3=83=BC=E3=83=88=E6=99=82=E3=81=AE?= =?UTF-8?q?Unity-UI=E7=94=A8=E3=81=AE=E3=83=9E=E3=83=86=E3=83=AA=E3=82=A2?= =?UTF-8?q?=E3=83=AB=E3=81=AE=E6=8C=87=E5=AE=9A=E6=96=87=E8=A8=80=E3=81=8C?= =?UTF-8?q?=E5=8F=A4=E3=81=84=E3=81=BE=E3=81=BE=E3=81=A0=E3=81=A3=E3=81=9F?= =?UTF-8?q?=E3=81=AE=E3=81=A7=E3=80=81=E5=BB=83=E6=AD=A2=E3=81=97=E3=81=AA?= =?UTF-8?q?=E3=81=8A=E3=81=97=E3=81=9F=EF=BC=88=E5=8F=A4=E3=81=84=E3=82=82?= =?UTF-8?q?=E3=81=AE=E3=82=82=E3=83=87=E3=82=B3=E3=83=BC=E3=83=89=E3=81=AF?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E3=81=A7=E3=81=99=EF=BC=89=20=E2=80=BB?= =?UTF-8?q?=E3=83=AA=E3=83=9D=E3=82=B8=E3=83=88=E3=83=AA=E3=81=AE=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=81=8C=E7=A0=B4=E6=90=8D=E3=81=97=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=9F=E3=81=9F=E3=82=81=E3=80=81=E4=B8=80=E9=83=A8=E3=82=92?= =?UTF-8?q?=E3=83=AD=E3=83=BC=E3=83=AB=E3=83=90=E3=83=83=E3=82=AF=E3=83=BB?= =?UTF-8?q?=E5=BE=A9=E5=88=BB=E3=81=97=E3=81=A6=E3=83=BB=E5=86=8D=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/SpriteStudio6/Editor/Import/Setting.cs | 12 ++++++++++-- .../SpriteStudio6/Library/Library_SpriteStudio6.cs | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Assets/SpriteStudio6/Editor/Import/Setting.cs b/Assets/SpriteStudio6/Editor/Import/Setting.cs index 2f266d6..e525b6a 100644 --- a/Assets/SpriteStudio6/Editor/Import/Setting.cs +++ b/Assets/SpriteStudio6/Editor/Import/Setting.cs @@ -481,6 +481,7 @@ public enum KindAsset { "SS6PU", "UNITY_NATIVE", + "UNITY_UI", /* "BATCH_IMPORTER" *//* Can not set the mode "batch import" from batch-importer's list. */ }; @@ -3094,7 +3095,11 @@ public string[] Export() public bool Import(string[] textArgument) { - string namePathMaterial = textArgument[1]; + if(null == textArgument) + { + return(false); + } + string namePathMaterial = (1 < textArgument.Length) ? textArgument[1] : string.Empty; switch(textArgument[0]) { case TextKeyAnimationUnityNativeMix: @@ -3289,6 +3294,7 @@ public bool Import(string[] textArgument) SkinnedMeshUnityNativeInv = MaterlalGetPath(PathGetForImport(namePathMaterial)); return(true); + case TextKeyAnimationUnityUIMix: /* Old */ case TextKeyAnimationUnityUI: if(true == string.IsNullOrEmpty(namePathMaterial)) { @@ -3608,7 +3614,8 @@ private static string PathGetForExport(string namePath) private const string KeySkinnedMeshUnityNativeScr = KeyKindSkinnedMesh + KeyModeUnityNative + KeyOperationScr; private const string KeySkinnedMeshUnityNativeExc = KeyKindSkinnedMesh + KeyModeUnityNative + KeyOperationExc; private const string KeySkinnedMeshUnityNativeInv = KeyKindSkinnedMesh + KeyModeUnityNative + KeyOperationInv; - private const string KeyAnimationUnityUI = KeyKindAnimation + KeyModeUnityUI + KeyOperationMix; + /* Obsolete */ private const string KeyAnimationUnityUIMix = KeyKindAnimation + KeyModeUnityUI + KeyOperationMix; + private const string KeyAnimationUnityUI = KeyKindAnimation + KeyModeUnityUI; private const string TextKeyPrefix = "PresetMaterial_"; @@ -3636,6 +3643,7 @@ private static string PathGetForExport(string namePath) private const string TextKeySkinnedMeshUnityNativeScr = TextKeyPrefix + KeySkinnedMeshUnityNativeScr; private const string TextKeySkinnedMeshUnityNativeExc = TextKeyPrefix + KeySkinnedMeshUnityNativeExc; private const string TextKeySkinnedMeshUnityNativeInv = TextKeyPrefix + KeySkinnedMeshUnityNativeInv; + /* Obsolete */ private const string TextKeyAnimationUnityUIMix = TextKeyPrefix + KeyAnimationUnityUIMix; private const string TextKeyAnimationUnityUI = TextKeyPrefix + KeyAnimationUnityUI; private const string PrefsKeyPrefix = LibraryEditor_SpriteStudio6.Import.Setting.PrefsKeyPrefix + TextKeyPrefix; diff --git a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs index 07c5e52..9fa37f8 100644 --- a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs +++ b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs @@ -18,7 +18,7 @@ public static partial class Library_SpriteStudio6 /* ----------------------------------------------- Signatures */ #region Signatures public const string SignatureNameAsset = "SpriteStudio6 Player for Unity"; - public const string SignatureVersionAsset = "2.1.21"; + public const string SignatureVersionAsset = "2.1.22"; public const string SignatureNameDistributor = "CRI Middleware Co., Ltd."; #endregion Signatures From 998e2fbc3e07be38fb5ebbc4066b491d2ec38b7d Mon Sep 17 00:00:00 2001 From: "YITSUSE, Masami" Date: Mon, 31 Jul 2023 15:06:51 +0900 Subject: [PATCH 03/13] =?UTF-8?q?[Ver.2.1.23]=20-=20DataProject=E3=81=AE?= =?UTF-8?q?=E7=B5=82=E4=BA=86=E5=87=A6=E7=90=86=E3=82=92=E3=80=81OnDestroy?= =?UTF-8?q?=E3=81=8B=E3=82=89OnDisable=E3=81=AB=E5=A4=89=E6=9B=B4=EF=BC=88?= =?UTF-8?q?Unity=E3=81=AE=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E3=81=AB=E3=82=88=E3=81=A3=E3=81=A6=E3=81=AF=E3=80=81Scriptabl?= =?UTF-8?q?eObject=E3=81=AEOnDestroy=E3=81=8C=E5=91=BC=E3=81=B0=E3=82=8C?= =?UTF-8?q?=E3=81=AA=E3=81=84=E5=A0=B4=E5=90=88=E3=81=AA=E3=81=A9=E3=81=8C?= =?UTF-8?q?=E3=81=82=E3=82=8B=E3=81=9F=E3=82=81=E3=80=81=E5=8B=95=E7=9A=84?= =?UTF-8?q?=E7=94=9F=E6=88=90=E3=83=AA=E3=82=BD=E3=83=BC=E3=82=B9=E3=81=8C?= =?UTF-8?q?=E4=B8=8A=E6=89=8B=E3=81=8F=E8=A7=A3=E6=94=BE=E3=81=95=E3=82=8C?= =?UTF-8?q?=E3=81=AA=E3=81=84=E5=A0=B4=E5=90=88=E3=81=8C=E3=81=82=E3=82=8B?= =?UTF-8?q?=E7=97=87=E7=8A=B6=E3=82=92=E4=BF=AE=E6=AD=A3=EF=BC=89=E3=80=82?= =?UTF-8?q?=20=E2=80=BBOnDestroy=E3=81=A7=E3=81=AE=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=81=AB=E6=88=BB=E3=81=97=E3=81=9F=E3=81=84=E5=A0=B4=E5=90=88?= =?UTF-8?q?=E3=80=81=E3=80=8CCOMPILEOPTION=5FSHUTDOWN=5FONDESTROY=E3=80=8D?= =?UTF-8?q?=E3=81=AEdefine=E3=82=92=E6=9C=89=E5=8A=B9=E5=8C=96=E3=81=99?= =?UTF-8?q?=E3=82=8C=E3=81=B0=E8=89=AF=E3=81=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs | 2 +- .../Script/Script_SpriteStudio6_DataProject.cs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs index 9fa37f8..5c0c5b0 100644 --- a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs +++ b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs @@ -18,7 +18,7 @@ public static partial class Library_SpriteStudio6 /* ----------------------------------------------- Signatures */ #region Signatures public const string SignatureNameAsset = "SpriteStudio6 Player for Unity"; - public const string SignatureVersionAsset = "2.1.22"; + public const string SignatureVersionAsset = "2.1.23"; public const string SignatureNameDistributor = "CRI Middleware Co., Ltd."; #endregion Signatures diff --git a/Assets/SpriteStudio6/Script/Script_SpriteStudio6_DataProject.cs b/Assets/SpriteStudio6/Script/Script_SpriteStudio6_DataProject.cs index 40c40e8..2d8c9dd 100644 --- a/Assets/SpriteStudio6/Script/Script_SpriteStudio6_DataProject.cs +++ b/Assets/SpriteStudio6/Script/Script_SpriteStudio6_DataProject.cs @@ -6,6 +6,8 @@ All rights reserved. */ +// #define COMPILEOPTION_SHUTDOWN_ONDESTROY + using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -69,7 +71,11 @@ void OnEnable() } } +#if COMPILEOPTION_SHUTDOWN_ONDESTROY void OnDestroy() +#else + void OnDisable() +#endif { /* All Material-Cache shut-down */ if(null != CacheMaterial) @@ -77,6 +83,9 @@ void OnDestroy() CacheMaterial.ShutDown(true); CacheMaterial = null; } + + /* Status Reset */ + StatusIsBootup = false; } #endregion ScriptableObject-Functions From 9033ec8310d27be4b9428b7f410bc3ebb3a8e4e8 Mon Sep 17 00:00:00 2001 From: "YITSUSE, Masami" Date: Tue, 19 Sep 2023 21:26:59 +0900 Subject: [PATCH 04/13] =?UTF-8?q?[Ver.2.1.24]=20-=20Unity2022.3=E4=BB=A5?= =?UTF-8?q?=E9=99=8D=E3=81=A7=E8=A1=A8=E7=A4=BA=E3=81=95=E3=82=8C=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=9F=E5=BB=83?= =?UTF-8?q?=E6=AD=A2=E4=BA=88=E5=91=8A=E5=87=A6=E7=90=86=EF=BC=88Texxture-?= =?UTF-8?q?Importer=E3=83=BBSprite=E7=B3=BB=EF=BC=89=E3=81=AE=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E3=82=92=E8=A1=8C=E3=81=A3=E3=81=9F=EF=BC=882022.2?= =?UTF-8?q?=E4=BB=A5=E5=89=8D=E3=81=A7=E3=81=AF=E6=97=A7=E6=9D=A5=E3=81=AE?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=81=A7=E5=8B=95=E4=BD=9C=E3=81=97=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=BE=E3=81=99=EF=BC=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/SpriteStudio6/Editor/Import/SSCE.cs | 209 +++++++++++++++++- .../Library/Library_SpriteStudio6.cs | 2 +- 2 files changed, 205 insertions(+), 6 deletions(-) diff --git a/Assets/SpriteStudio6/Editor/Import/SSCE.cs b/Assets/SpriteStudio6/Editor/Import/SSCE.cs index 6a65bc4..00c55f7 100644 --- a/Assets/SpriteStudio6/Editor/Import/SSCE.cs +++ b/Assets/SpriteStudio6/Editor/Import/SSCE.cs @@ -6,6 +6,11 @@ All rights reserved. */ +#if UNITY_2022_3_OR_NEWER +#define USE_SPRITEATLAS +#else +#endif + using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -398,7 +403,10 @@ Information.Texture informationTexture importer.npotScale = TextureImporterNPOTScale.None; importer.textureType = TextureImporterType.Sprite; importer.spriteImportMode = SpriteImportMode.Multiple; +#if USE_SPRITEATLAS +#else importer.spritePackingTag = LibraryEditor_SpriteStudio6.Import.NameTagSpritePackerTexture; +#endif switch(informationTexture.Wrap) { @@ -788,7 +796,8 @@ public class Texture public LibraryEditor_SpriteStudio6.Import.Assets PrefabTexture; public LibraryEditor_SpriteStudio6.Import.Assets MaterialAnimationUnityNative; - public List ListSpriteMetaDataUnityNative; /* Temporary */ +// public List ListSpriteMetaDataUnityNative; /* Temporary */ + public List ListSpriteMetaDataUnityNative; /* Temporary */ public List ListSpriteUnityNative; #endregion Variables & Properties @@ -827,6 +836,26 @@ public string FileNameGetFullPath() return(NameDirectory + NameFileBody + NameFileExtension); } #endregion Functions + + /* ----------------------------------------------- Classes, Structs & Interfaces */ + #region Classes, Structs & Interfaces + /* MEMO: Copy of "UnityEditor.SpriteMetaData". */ + public struct InformationSprite + { + /* ----------------------------------------------- Variables & Properties */ + #region Variables & Properties + public int alignment; + public Vector4 border; + public string name; + public Vector2 pivot; + public Rect rect; + #endregion Variables & Properties + + /* ----------------------------------------------- Functions */ + #region Functions + #endregion Functions + } + #endregion Classes, Structs & Interfaces } #endregion Classes, Structs & Interfaces } @@ -896,7 +925,8 @@ LibraryEditor_SpriteStudio6.Import.SSCE.Information informationSSCE { const string messageLogPrefix = "Convert (CellMap)"; - List listSpriteMetaData = null; +// List listSpriteMetaData = null; + List listSpriteMetaData = null; string[] tableNameSprite = null; LibraryEditor_SpriteStudio6.Import.SSCE.Information.Texture informationTexture = null; /* "UnityEngine.Texture" and my "Texture", class-names are conflict unless fully-qualified. */ @@ -905,7 +935,8 @@ LibraryEditor_SpriteStudio6.Import.SSCE.Information informationSSCE informationTexture = informationSSPJ.TableInformationTexture[informationSSCE.IndexTexture]; if(null == informationTexture.ListSpriteMetaDataUnityNative) { - informationTexture.ListSpriteMetaDataUnityNative = new List(); +// informationTexture.ListSpriteMetaDataUnityNative = new List(); + informationTexture.ListSpriteMetaDataUnityNative = new List(); if(null == informationTexture.ListSpriteMetaDataUnityNative) { LogError(messageLogPrefix, "Not Enough Memory (CellMap WorkArea)", informationSSCE.FileNameGetFullPath(), informationSSPJ); @@ -915,7 +946,8 @@ LibraryEditor_SpriteStudio6.Import.SSCE.Information informationSSCE } listSpriteMetaData = informationTexture.ListSpriteMetaDataUnityNative; - SpriteMetaData spriteMetaData = new SpriteMetaData(); +// SpriteMetaData spriteMetaData = new SpriteMetaData(); + Information.Texture.InformationSprite spriteMetaData = new Information.Texture.InformationSprite(); Vector2 sizeTexture = new Vector2((float)informationTexture.SizeX, (float)informationTexture.SizeY); Vector2 sizeInverseTexture; sizeInverseTexture.x = 1.0f / sizeTexture.x; @@ -986,7 +1018,8 @@ LibraryEditor_SpriteStudio6.Import.SSCE.Information informationSSCE } return(false); } - private static string ConvertCellMapNameCreate(List listSpriteMetaData, string nameCell) +// private static string ConvertCellMapNameCreate(List listSpriteMetaData, string nameCell) + private static string ConvertCellMapNameCreate(List listSpriteMetaData, string nameCell) { bool flagRetry = true; int countRetry = 0; @@ -1037,8 +1070,15 @@ int indexTexture TextureImporter importer = TextureImporter.GetAtPath(informationTexture.PrefabTexture.TableName[0]) as TextureImporter; importer.spriteImportMode = SpriteImportMode.Multiple; +#if USE_SPRITEATLAS +#else importer.spritePackingTag = LibraryEditor_SpriteStudio6.Import.NameTagSpritePackerTexture; +#endif +#if false importer.spritesheet = informationTexture.ListSpriteMetaDataUnityNative.ToArray(); +#else + CellDataSetSprite(informationTexture.ListSpriteMetaDataUnityNative, importer); +#endif importer.spritePixelsPerUnit = 1.0f; bool flagEnableRead = false; if(true == setting.Basic.FlagTextureReadable) @@ -1085,7 +1125,166 @@ int indexTexture CellMapSetTexture_ErrorEnd:; return(false); } + private static void CellDataSetSprite(List listDataSprite, TextureImporter importer) + { +#if USE_SPRITEATLAS + UnityEditor.U2D.Sprites.SpriteDataProviderFactories factory = new UnityEditor.U2D.Sprites.SpriteDataProviderFactories(); + factory.Init(); + UnityEditor.U2D.Sprites.ISpriteEditorDataProvider provider = factory.GetSpriteEditorDataProviderFromObject(importer); + provider.InitSpriteEditorDataProvider(); + + /* Add sprites */ + SpriteRect[] tableSpriteRect = provider.GetSpriteRects(); + List listSpriteRect = (null == tableSpriteRect) + ? new List() + : new List(tableSpriteRect); + int countListExist = listSpriteRect.Count; + + bool[] tableFlagUsedSpriteRect = new bool[countListExist]; + int count = countListExist; + for(int i=0; i index) + { /* New Data */ + SpriteRect spriteRect = new SpriteRect(); + +// spriteRect.alignment = (SpriteAlignment)listDataSprite[i].alignment; + spriteRect.alignment = TableAlignment[listDataSprite[i].alignment]; + spriteRect.border = listDataSprite[i].border; + spriteRect.name = listDataSprite[i].name; + spriteRect.pivot = listDataSprite[i].pivot; + spriteRect.rect = listDataSprite[i].rect; +// spriteRect.spriteID = + + listSpriteRect.Add(spriteRect); + } + else + { /* Data Exsist */ +// listSpriteRect[index].alignment = (SpriteAlignment)listDataSprite[i].alignment; + listSpriteRect[index].alignment = TableAlignment[listDataSprite[i].alignment]; + listSpriteRect[index].border = listDataSprite[i].border; + listSpriteRect[index].name = listDataSprite[i].name; + listSpriteRect[index].pivot = listDataSprite[i].pivot; + listSpriteRect[index].rect = listDataSprite[i].rect; +// listSpriteRect[index].spriteID = + + tableFlagUsedSpriteRect[index] = true; + } + } + /* Delete unused cell */ + /* MEMO: List is erased by specifying indexes, so should be processed from the end. */ + /* However, don't concern in newly added data. */ + count = countListExist; + for(int i=(count-1); i>=0; i--) + { + if(false == tableFlagUsedSpriteRect[i]) + { + listSpriteRect.RemoveAt(i); + } + } + + /* Apply sprite datas */ + tableSpriteRect = listSpriteRect.ToArray(); + provider.SetSpriteRects(tableSpriteRect); + listSpriteRect.Clear(); + listSpriteRect = null; + + /* Apply sprites' name */ + UnityEditor.U2D.Sprites.ISpriteNameFileIdDataProvider providerName = provider.GetDataProvider(); + List listNamePairSprite = new List(providerName.GetNameFileIdPairs()); + + count = tableSpriteRect.Length; + for(int i=0; i index) + { /* New Data */ + UnityEditor.SpriteNameFileIdPair pair = new SpriteNameFileIdPair(tableSpriteRect[i].name, tableSpriteRect[i].spriteID); + listNamePairSprite.Add(pair); + } + else + { /* Data Exsist */ +// listNamePairSprite[index].name = tableSpriteRect[i].name; + listNamePairSprite[index].SetFileGUID(tableSpriteRect[i].spriteID); + } + } + providerName.SetNameFileIdPairs(listNamePairSprite); + listNamePairSprite.Clear(); + listNamePairSprite = null; + + /* Apply texture(-inporter) */ + provider.Apply(); +#else + int count = listDataSprite.Count; + SpriteMetaData[] tableSprite = new SpriteMetaData[count]; + for(int i=0; i listSpriteRect, string name) + { + int count = listSpriteRect.Count; + for(int i=0; i listPair, string name) + { + int count = listPair.Count; + for(int i=0; i Date: Thu, 5 Dec 2024 10:40:01 +0900 Subject: [PATCH 05/13] =?UTF-8?q?[Ver.2.1.25]=20-=20=E8=89=B2=E7=A9=BA?= =?UTF-8?q?=E9=96=93=E3=81=8CLinear=EF=BC=88lRGB=EF=BC=89=E3=81=AE?= =?UTF-8?q?=E6=99=82=E3=81=AB=E3=80=81=E6=8F=8F=E7=94=BB=E7=B5=90=E6=9E=9C?= =?UTF-8?q?=E3=82=92sRGB=E3=81=AB=E8=BF=91=E4=BC=BC=E3=81=AB=E3=81=AA?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/LibraryEditor_SpriteStudio6.cs | 8 +++ .../Library/Data/Animation/Attribute.cs | 20 ------- .../Library/Data/Animation/Attribute.cs.meta | 3 +- .../Library/Library_SpriteStudio6.cs | 42 +++++++++---- .../SS6PU/Effect_SpriteStudio6_Mask_MIX.mat | 10 +++- .../SS6PU/Effect_SpriteStudio6_Thru_MIX.mat | 10 +++- .../SS6PU/Sprite_SpriteStudio6_Mask_INV.mat | 10 +++- .../SS6PU/Sprite_SpriteStudio6_Mask_MIX.mat | 10 +++- .../SS6PU/Sprite_SpriteStudio6_Mask_MUL.mat | 10 +++- .../Sprite_SpriteStudio6_Mask_MUL_NA.mat | 10 +++- .../SS6PU/Sprite_SpriteStudio6_Thru_INV.mat | 10 +++- .../SS6PU/Sprite_SpriteStudio6_Thru_MIX.mat | 10 +++- .../SS6PU/Sprite_SpriteStudio6_Thru_MUL.mat | 10 +++- .../Sprite_SpriteStudio6_Thru_MUL_NA.mat | 10 +++- .../SkinnedMesh_UnityNative_INV.mat | 9 ++- .../SkinnedMesh_UnityNative_MUL.mat | 3 +- .../SkinnedMesh_UnityNative_MUL_NA.mat | 9 ++- .../UnityNative/Sprite_UnityNative_INV.mat | 3 +- .../UnityNative/Sprite_UnityNative_MUL.mat | 3 +- .../UnityNative/Sprite_UnityNative_MUL_NA.mat | 3 +- .../Sprite_UnityNative_NonBatch_INV.mat | 3 +- .../Sprite_UnityNative_NonBatch_MUL.mat | 3 +- .../Sprite_UnityNative_NonBatch_MUL_NA.mat | 3 +- .../Script_SpriteStudio6_DataProject.cs | 1 - .../Base/ShaderPixel_Sprite_ss-blur.cginc | 3 + .../Base/ShaderPixel_Sprite_ss-bmask.cginc | 7 ++- .../Base/ShaderPixel_Sprite_ss-circle.cginc | 4 +- .../Base/ShaderPixel_Sprite_ss-hsb.cginc | 3 + .../Base/ShaderPixel_Sprite_ss-move.cginc | 8 ++- .../Base/ShaderPixel_Sprite_ss-noise.cginc | 7 ++- .../Base/ShaderPixel_Sprite_ss-outline.cginc | 9 +++ .../Base/ShaderPixel_Sprite_ss-pix.cginc | 7 ++- .../Base/ShaderPixel_Sprite_ss-scatter.cginc | 7 ++- .../Base/ShaderPixel_Sprite_ss-sepia.cginc | 7 ++- .../Base/ShaderPixel_Sprite_ss-spot.cginc | 7 ++- .../Base/ShaderPixel_Sprite_ss-step.cginc | 7 ++- .../Base/ShaderPixel_Sprite_ss-wave.cginc | 7 ++- .../SpriteStudio6/Shader/AddOn/ss-blur.shader | 2 + .../Shader/AddOn/ss-bmask.shader | 2 + .../Shader/AddOn/ss-circle.shader | 2 + .../SpriteStudio6/Shader/AddOn/ss-hsb.shader | 2 + .../SpriteStudio6/Shader/AddOn/ss-move.shader | 2 + .../Shader/AddOn/ss-noise.shader | 2 + .../Shader/AddOn/ss-outline.shader | 2 + .../SpriteStudio6/Shader/AddOn/ss-pix.shader | 2 + .../Shader/AddOn/ss-scatter.shader | 2 + .../Shader/AddOn/ss-sepia.shader | 2 + .../SpriteStudio6/Shader/AddOn/ss-spot.shader | 2 + .../SpriteStudio6/Shader/AddOn/ss-step.shader | 2 + .../SpriteStudio6/Shader/AddOn/ss-wave.shader | 2 + .../ShaderPixel_Effect_SpriteStudio6.cginc | 9 ++- .../ShaderPixel_Sprite_SpriteStudio6.cginc | 8 ++- .../Base/ShaderPixel_Sprite_UnityNative.cginc | 2 + .../Base/ShaderPixel_Sprite_UnityUI.cginc | 3 + .../Base/Shader_Lib_SpriteStudio6.cginc | 60 ++++++++++++++++++- .../Shader/Effect_SpriteStudio6.shader | 2 + .../Shader/SkinnedMesh_UnityNative.shader | 7 ++- .../Shader/Sprite_SpriteStudio6.shader | 2 + .../Shader/Sprite_UnityNative.shader | 3 + .../Shader/Sprite_UnityNative_NonBatch.shader | 3 + .../Shader/Sprite_UnityUI.shader | 1 + 61 files changed, 330 insertions(+), 92 deletions(-) diff --git a/Assets/SpriteStudio6/Editor/LibraryEditor_SpriteStudio6.cs b/Assets/SpriteStudio6/Editor/LibraryEditor_SpriteStudio6.cs index 449185c..92a789e 100644 --- a/Assets/SpriteStudio6/Editor/LibraryEditor_SpriteStudio6.cs +++ b/Assets/SpriteStudio6/Editor/LibraryEditor_SpriteStudio6.cs @@ -6,6 +6,8 @@ All rights reserved. */ +// #define COMPILEOPTION_BUFFERING_LOCAL_UNITYNATIVE + using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -947,6 +949,12 @@ string nameOutputAssetFolderBase } } +#if COMPILEOPTION_BUFFERING_LOCAL_UNITYNATIVE + /* Convert SSAEs: Calculate Bone-Matrix (for Bind-Pose) */ + SSAE.ModeUnityNative.CalculateMatrixBone(ref setting, informationSSPJ, informationSSAE); +#else +#endif + /* Create Asset: Animation (Prefab) */ flagCreateAssetData = true; if(null == informationSSAE.PrefabAnimationUnityNative.TableData[0]) diff --git a/Assets/SpriteStudio6/Library/Data/Animation/Attribute.cs b/Assets/SpriteStudio6/Library/Data/Animation/Attribute.cs index 2d2f2b7..84eaa7d 100644 --- a/Assets/SpriteStudio6/Library/Data/Animation/Attribute.cs +++ b/Assets/SpriteStudio6/Library/Data/Animation/Attribute.cs @@ -1134,11 +1134,7 @@ public struct Command /* ----------------------------------------------- Variables & Properties */ #region Variables & Properties public FlagBit Flags; -#if SIGNAL_ID_STRING - public string ID; -#else public int ID; -#endif public string Note; public Parameter[] TableParameter; @@ -1164,11 +1160,7 @@ public bool IsActive public void CleanUp() { Flags = FlagBit.CLEAR; -#if SIGNAL_ID_STRING - ID = string.Empty; -#else ID = -1; -#endif Note = string.Empty; TableParameter = null; } @@ -1239,11 +1231,7 @@ public struct Parameter { /* ----------------------------------------------- Variables & Properties */ #region Variables & Properties -#if SIGNAL_ID_STRING - public string ID; -#else public int ID; -#endif public KindType Type; public string Data; @@ -1251,11 +1239,7 @@ public bool IsValid { get { -#if SIGNAL_ID_STRING - return(KindType.ERROR != Type); /* ? true : false */ -#else return((0 <= ID) && (KindType.ERROR != Type)); /* ? true : false */ -#endif } } @@ -1349,11 +1333,7 @@ public string ValueText #region Functions public void CleanUp() { -#if SIGNAL_ID_STRING - ID = string.Empty; -#else ID = -1; -#endif Type = KindType.ERROR; Data = string.Empty; } diff --git a/Assets/SpriteStudio6/Library/Data/Animation/Attribute.cs.meta b/Assets/SpriteStudio6/Library/Data/Animation/Attribute.cs.meta index 200a8b0..246277f 100644 --- a/Assets/SpriteStudio6/Library/Data/Animation/Attribute.cs.meta +++ b/Assets/SpriteStudio6/Library/Data/Animation/Attribute.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 guid: 5f7c8739927ab64468ed5d14900a4532 -timeCreated: 1502243767 -licenseType: Free MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs index 1f4996c..5a6474a 100644 --- a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs +++ b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs @@ -18,7 +18,7 @@ public static partial class Library_SpriteStudio6 /* ----------------------------------------------- Signatures */ #region Signatures public const string SignatureNameAsset = "SpriteStudio6 Player for Unity"; - public const string SignatureVersionAsset = "2.1.24"; + public const string SignatureVersionAsset = "2.1.25"; public const string SignatureNameDistributor = "CRI Middleware Co., Ltd."; #endregion Signatures @@ -1733,11 +1733,13 @@ bool flagZWrite goto case Library_SpriteStudio6.KindOperationBlend.TERMINATOR; /* Common Setting for Masking-Shader */ case Library_SpriteStudio6.KindOperationBlend.MIX: - material.SetFloat(IDPropertyBlendSource, (float)UnityEngine.Rendering.BlendMode.One); /* UnityEngine.Rendering.BlendMode.SrcAlpha */ + material.SetFloat(IDPropertyBlendSource, (float)UnityEngine.Rendering.BlendMode.One); +// material.SetFloat(IDPropertyBlendSource, (float)UnityEngine.Rendering.BlendMode.SrcAlpha); material.SetFloat(IDPropertyBlendDestination, (float)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.DisableKeyword(NamePropertyNotDiscardPixel); /* false */ material.EnableKeyword(NamePropertyOutputPixelPMA); /* true */ + material.EnableKeyword(NamePropertyInputPixelPMA); /* true */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlend.ADD: @@ -1746,6 +1748,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.DisableKeyword(NamePropertyNotDiscardPixel); /* false */ material.DisableKeyword(NamePropertyOutputPixelPMA); /* false */ + material.DisableKeyword(NamePropertyInputPixelPMA); /* false */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlend.SUB: @@ -1754,6 +1757,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.ReverseSubtract); material.DisableKeyword(NamePropertyNotDiscardPixel); /* false */ material.DisableKeyword(NamePropertyOutputPixelPMA); /* false */ + material.DisableKeyword(NamePropertyInputPixelPMA); /* false */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlend.MUL: @@ -1762,6 +1766,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.DisableKeyword(NamePropertyNotDiscardPixel); /* false */ material.EnableKeyword(NamePropertyOutputPixelPMA); /* true */ + material.EnableKeyword(NamePropertyInputPixelPMA); /* true */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlend.MUL_NA: @@ -1770,6 +1775,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.EnableKeyword(NamePropertyNotDiscardPixel); /* true */ material.EnableKeyword(NamePropertyOutputPixelPMA); /* true */ + material.EnableKeyword(NamePropertyInputPixelPMA); /* true */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlend.SCR: @@ -1778,6 +1784,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.DisableKeyword(NamePropertyNotDiscardPixel); /* false */ material.DisableKeyword(NamePropertyOutputPixelPMA); /* false */ + material.DisableKeyword(NamePropertyInputPixelPMA); /* false */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlend.EXC: @@ -1786,6 +1793,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.DisableKeyword(NamePropertyNotDiscardPixel); /* false */ material.DisableKeyword(NamePropertyOutputPixelPMA); /* false */ + material.DisableKeyword(NamePropertyInputPixelPMA); /* false */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlend.INV: @@ -1794,6 +1802,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.EnableKeyword(NamePropertyNotDiscardPixel); /* true */ material.EnableKeyword(NamePropertyOutputPixelPMA); /* true */ + material.EnableKeyword(NamePropertyInputPixelPMA); /* true */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlend.TERMINATOR: @@ -1832,6 +1841,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.DisableKeyword(NamePropertyNotDiscardPixel); /* false */ material.EnableKeyword(NamePropertyOutputPixelPMA); /* true */ + material.EnableKeyword(NamePropertyInputPixelPMA); /* true */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlendEffect.ADD: @@ -1840,6 +1850,7 @@ bool flagZWrite material.SetFloat(IDPropertyBlendOperation, (float)UnityEngine.Rendering.BlendOp.Add); material.DisableKeyword(NamePropertyNotDiscardPixel); /* false */ material.DisableKeyword(NamePropertyOutputPixelPMA); /* false */ + material.DisableKeyword(NamePropertyInputPixelPMA); /* false */ goto default; /* Common Setting for Drawing-Shader */ case Library_SpriteStudio6.KindOperationBlendEffect.TERMINATOR: @@ -1894,6 +1905,7 @@ bool flagZWrite public const string NamePropertyNotDiscardPixel = "PS_NOT_DISCARD"; /* Sprite_SpriteStudio6 / Effect_SpriteStudio6 */ public const string NamePropertyOutputPixelPMA = "PS_OUTPUT_PMA"; /* Sprite_SpriteStudio6 / Effect_SpriteStudio6 */ + public const string NamePropertyInputPixelPMA = "PS_INPUT_PMA"; /* Sprite_SpriteStudio6 / Effect_SpriteStudio6 */ public const string NamePropertyStencilOperation = "_StencilOperation"; /* Stencil_SpriteStudio6 */ public const string NamePropertyUIColor = "_Color"; /* Sprite_UnityUI */ @@ -4399,6 +4411,10 @@ bool flagInstanceUnderControlRenew if(null == gameObject) { /* Instantiate */ + Vector3 localPosition = prefab.transform.localPosition; + Vector3 localScale = prefab.transform.localScale; + Quaternion localRotation = prefab.transform.localRotation; + #if UNITY_EDITOR gameObject = UnityEditor.PrefabUtility.InstantiatePrefab(prefab) as GameObject; if(null == gameObject) @@ -4410,17 +4426,21 @@ bool flagInstanceUnderControlRenew gameObject = Object.Instantiate(prefab) as GameObject; gameObject.name = prefab.name; /* Remove "(clone)" */ #endif - transform = gameObject.transform; - - if (null != gameObjectParent) - { - transform.parent = transformParent; - } if(null != gameObject) { - transform.localPosition = Vector3.zero; - transform.localEulerAngles = Vector3.zero; - transform.localScale = Vector3.one; + transform = gameObject.transform; + + if (null != gameObjectParent) + { + transform.parent = transformParent; + } + +// transform.localPosition = Vector3.zero; +// transform.localEulerAngles = Vector3.zero; +// transform.localScale = Vector3.one; + transform.localPosition = localPosition; + transform.localRotation = localRotation; + transform.localScale = localScale; } } diff --git a/Assets/SpriteStudio6/Material/SS6PU/Effect_SpriteStudio6_Mask_MIX.mat b/Assets/SpriteStudio6/Material/SS6PU/Effect_SpriteStudio6_Mask_MIX.mat index fb220b6..94ac2ec 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Effect_SpriteStudio6_Mask_MIX.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Effect_SpriteStudio6_Mask_MIX.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Effect_SpriteStudio6_Mask_MIX m_Shader: {fileID: 4800000, guid: a29a25a302801aa4d8e32eea378c25bb, type: 3} - m_ShaderKeywords: PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Effect_SpriteStudio6_Thru_MIX.mat b/Assets/SpriteStudio6/Material/SS6PU/Effect_SpriteStudio6_Thru_MIX.mat index 212b9a9..eb5d991 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Effect_SpriteStudio6_Thru_MIX.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Effect_SpriteStudio6_Thru_MIX.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Effect_SpriteStudio6_Thru_MIX m_Shader: {fileID: 4800000, guid: a29a25a302801aa4d8e32eea378c25bb, type: 3} - m_ShaderKeywords: PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_INV.mat b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_INV.mat index cc75f63..dd67478 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_INV.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_INV.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Sprite_SpriteStudio6_Mask_INV m_Shader: {fileID: 4800000, guid: 22fe2befb7cc0344fba213b8cdddb5b7, type: 3} - m_ShaderKeywords: PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MIX.mat b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MIX.mat index 877a8c1..372efc1 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MIX.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MIX.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Sprite_SpriteStudio6_Mask_MIX m_Shader: {fileID: 4800000, guid: 22fe2befb7cc0344fba213b8cdddb5b7, type: 3} - m_ShaderKeywords: PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MUL.mat b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MUL.mat index 0ae296e..3528a28 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MUL.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MUL.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Sprite_SpriteStudio6_Mask_MUL m_Shader: {fileID: 4800000, guid: 22fe2befb7cc0344fba213b8cdddb5b7, type: 3} - m_ShaderKeywords: PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MUL_NA.mat b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MUL_NA.mat index 8af594b..64618cb 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MUL_NA.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Mask_MUL_NA.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Sprite_SpriteStudio6_Mask_MUL_NA m_Shader: {fileID: 4800000, guid: 22fe2befb7cc0344fba213b8cdddb5b7, type: 3} - m_ShaderKeywords: PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_INV.mat b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_INV.mat index aec09b6..bd4a976 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_INV.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_INV.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Sprite_SpriteStudio6_Thru_INV m_Shader: {fileID: 4800000, guid: 22fe2befb7cc0344fba213b8cdddb5b7, type: 3} - m_ShaderKeywords: PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MIX.mat b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MIX.mat index 95aa9f2..2441564 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MIX.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MIX.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Sprite_SpriteStudio6_Thru_MIX m_Shader: {fileID: 4800000, guid: 22fe2befb7cc0344fba213b8cdddb5b7, type: 3} - m_ShaderKeywords: PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MUL.mat b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MUL.mat index d343621..490e3d4 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MUL.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MUL.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Sprite_SpriteStudio6_Thru_MUL m_Shader: {fileID: 4800000, guid: 22fe2befb7cc0344fba213b8cdddb5b7, type: 3} - m_ShaderKeywords: PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MUL_NA.mat b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MUL_NA.mat index cdef5e0..9b15763 100644 --- a/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MUL_NA.mat +++ b/Assets/SpriteStudio6/Material/SS6PU/Sprite_SpriteStudio6_Thru_MUL_NA.mat @@ -4,11 +4,12 @@ Material: serializedVersion: 6 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: Sprite_SpriteStudio6_Thru_MUL_NA m_Shader: {fileID: 4800000, guid: 22fe2befb7cc0344fba213b8cdddb5b7, type: 3} - m_ShaderKeywords: PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -71,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 @@ -83,5 +85,7 @@ Material: - _UVSec: 0 - _ZWrite: 0 m_Colors: + - _ArgumentFs00: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ParameterFs00: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_INV.mat b/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_INV.mat index 99c1c45..1e5cb21 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_INV.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_INV.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: SkinnedMesh_UnityNative_INV m_Shader: {fileID: 4800000, guid: 919c2bfa16a0a644ca5004b4feb106f1, type: 3} - m_ShaderKeywords: PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 @@ -85,9 +86,15 @@ Material: - _ZWrite: 0 m_Colors: - _BlendParam: {r: 0.01, g: 1, b: 1, a: 0} + - _CellPivot_LocalScale: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _Flip: {r: 1, g: 1, b: 1, a: 1} - _LocalScale: {r: 0, g: 0, b: 1, a: 1} - _PartsColor: {r: 1, g: 1, b: 1, a: 0} + - _PartsColor_LD: {r: 1, g: 1, b: 1, a: 0} + - _PartsColor_LU: {r: 1, g: 1, b: 1, a: 0} + - _PartsColor_Opacity: {r: 1, g: 1, b: 1, a: 1} + - _PartsColor_RD: {r: 1, g: 1, b: 1, a: 0} + - _PartsColor_RU: {r: 1, g: 1, b: 1, a: 0} - _RendererColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_MUL.mat b/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_MUL.mat index d9d1571..0ed4fd3 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_MUL.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_MUL.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: SkinnedMesh_UnityNative_MUL m_Shader: {fileID: 4800000, guid: 919c2bfa16a0a644ca5004b4feb106f1, type: 3} - m_ShaderKeywords: PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 diff --git a/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_MUL_NA.mat b/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_MUL_NA.mat index f14bd72..a106a6d 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_MUL_NA.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/SkinnedMesh_UnityNative_MUL_NA.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: SkinnedMesh_UnityNative_MUL_NA m_Shader: {fileID: 4800000, guid: 919c2bfa16a0a644ca5004b4feb106f1, type: 3} - m_ShaderKeywords: PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 @@ -85,9 +86,15 @@ Material: - _ZWrite: 0 m_Colors: - _BlendParam: {r: 0.01, g: 1, b: 1, a: 0} + - _CellPivot_LocalScale: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _Flip: {r: 1, g: 1, b: 1, a: 1} - _LocalScale: {r: 0, g: 0, b: 1, a: 1} - _PartsColor: {r: 1, g: 1, b: 1, a: 0} + - _PartsColor_LD: {r: 1, g: 1, b: 1, a: 0} + - _PartsColor_LU: {r: 1, g: 1, b: 1, a: 0} + - _PartsColor_Opacity: {r: 1, g: 1, b: 1, a: 1} + - _PartsColor_RD: {r: 1, g: 1, b: 1, a: 0} + - _PartsColor_RU: {r: 1, g: 1, b: 1, a: 0} - _RendererColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_INV.mat b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_INV.mat index adc4994..5bb22d5 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_INV.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_INV.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Sprite_UnityNative_INV m_Shader: {fileID: 4800000, guid: 778af36b1fa70ed47b074db61b2065e8, type: 3} - m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 diff --git a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_MUL.mat b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_MUL.mat index 5650baa..7d25b91 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_MUL.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_MUL.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Sprite_UnityNative_MUL m_Shader: {fileID: 4800000, guid: 778af36b1fa70ed47b074db61b2065e8, type: 3} - m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_OUTPUT_PMA + m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 diff --git a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_MUL_NA.mat b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_MUL_NA.mat index c2021ff..fb0c474 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_MUL_NA.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_MUL_NA.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Sprite_UnityNative_MUL_NA m_Shader: {fileID: 4800000, guid: 778af36b1fa70ed47b074db61b2065e8, type: 3} - m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 diff --git a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_INV.mat b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_INV.mat index 5694b5c..0d28243 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_INV.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_INV.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Sprite_UnityNative_NonBatch_INV m_Shader: {fileID: 4800000, guid: d956f09188bcf0d47a9e4991d87d7d9a, type: 3} - m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 diff --git a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_MUL.mat b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_MUL.mat index 7d9c97c..0d57e87 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_MUL.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_MUL.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Sprite_UnityNative_NonBatch_MUL m_Shader: {fileID: 4800000, guid: d956f09188bcf0d47a9e4991d87d7d9a, type: 3} - m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_OUTPUT_PMA + m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_INPUT_PMA PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 0 diff --git a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_MUL_NA.mat b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_MUL_NA.mat index 5cae657..2cea3aa 100644 --- a/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_MUL_NA.mat +++ b/Assets/SpriteStudio6/Material/UnityNative/Sprite_UnityNative_NonBatch_MUL_NA.mat @@ -9,7 +9,7 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Sprite_UnityNative_NonBatch_MUL_NA m_Shader: {fileID: 4800000, guid: d956f09188bcf0d47a9e4991d87d7d9a, type: 3} - m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_NOT_DISCARD PS_OUTPUT_PMA + m_ShaderKeywords: ETC1_EXTERNAL_ALPHA PS_INPUT_PMA PS_NOT_DISCARD PS_OUTPUT_PMA m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -72,6 +72,7 @@ Material: - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _InputPixelPMA: 1 - _Metallic: 0 - _Mode: 0 - _NotDiscardPixel: 1 diff --git a/Assets/SpriteStudio6/Script/Script_SpriteStudio6_DataProject.cs b/Assets/SpriteStudio6/Script/Script_SpriteStudio6_DataProject.cs index 2d8c9dd..fc79f5c 100644 --- a/Assets/SpriteStudio6/Script/Script_SpriteStudio6_DataProject.cs +++ b/Assets/SpriteStudio6/Script/Script_SpriteStudio6_DataProject.cs @@ -84,7 +84,6 @@ void OnDisable() CacheMaterial = null; } - /* Status Reset */ StatusIsBootup = false; } #endregion ScriptableObject-Functions diff --git a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-blur.cginc b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-blur.cginc index f572285..b7a2588 100644 --- a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-blur.cginc +++ b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-blur.cginc @@ -41,6 +41,8 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT out_color += tex2D(_MainTex, float2(tc.x, tc.y - defocused_y )); out_color /= 9.0f; /* Number of Sampling-point is 9 */ + out_color = PixelSolveColorspaceInput(out_color); + /* Blending Vertex-Color & Check Discarding-Pixel */ out_color *= input.ColorMain; PixelDiscardAlpha(out_color.a, 0.0f); @@ -49,6 +51,7 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT PixelSolvePMA(out_color, out_color.a); /* Finalize */ + out_color = PixelSolveColorspaceOutput(out_color); output = out_color; return(output); } diff --git a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-bmask.cginc b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-bmask.cginc index 5a8b564..433b903 100644 --- a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-bmask.cginc +++ b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-bmask.cginc @@ -30,7 +30,8 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT /* Texel Sampling */ fixed4 pixel = tex2D(_MainTex, input.Texture00UV.xy); PixelSynthesizeExternalAlpha(pixel.a, _AlphaTex, coord.xy, _EnableExternalAlpha); - PixelSolvePMA(pixel, pixel.a); + pixel = PixelSolveColorspaceInput(pixel); +// PixelSolvePMA(pixel, pixel.a); /* Check Discarding-Pixel */ float b = ParameterGetDiscard(fBrightness, pixel); @@ -42,7 +43,11 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT PixelSynthesizePartsColor(pixel, input); pixel.a = pixelA; + /* PreMultiplied-Alpha Solving */ + PixelSolvePMA(pixel, pixel.a); + /* Finalize */ + pixel = PixelSolveColorspaceOutput(pixel); output = pixel; return(output); } diff --git a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-circle.cginc b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-circle.cginc index 59195c0..bf535aa 100644 --- a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-circle.cginc +++ b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-circle.cginc @@ -58,7 +58,8 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT float2 texUV = float2(A_LU, A_TV) + st; fixed4 pixel = tex2D(_MainTex, texUV); PixelSynthesizeExternalAlpha(pixel.a, _AlphaTex, texUV.xy, _EnableExternalAlpha); - PixelSolvePMA(pixel, pixel.a); + pixel = PixelSolveColorspaceInput(pixel); +// PixelSolvePMA(pixel, pixel.a); /* Blending "Parts-Color" */ float pixelA = pixel.a; @@ -66,6 +67,7 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT pixel.a = pixelA; /* Finalize */ + pixel = PixelSolveColorspaceOutput(pixel); output = pixel; return(output); } diff --git a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-hsb.cginc b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-hsb.cginc index 93b44e5..44db204 100644 --- a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-hsb.cginc +++ b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-hsb.cginc @@ -73,6 +73,7 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT /* Texel Sampling */ fixed4 pixel = tex2D(_MainTex, input.Texture00UV.xy); PixelSynthesizeExternalAlpha(pixel.a, _AlphaTex, input.Texture00UV.xy, _EnableExternalAlpha); + pixel = PixelSolveColorspaceInput(pixel); PixelSolvePMA(pixel, pixel.a); /* Check Discarding-Pixel */ @@ -92,6 +93,8 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT pixel.a = pixelA; /* Finalize */ + PixelSolvePMA(pixel, pixel.a); + pixel = PixelSolveColorspaceOutput(pixel); output = pixel; return(output); } diff --git a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-move.cginc b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-move.cginc index 7aad602..c08420c 100644 --- a/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-move.cginc +++ b/Assets/SpriteStudio6/Shader/AddOn/Base/ShaderPixel_Sprite_ss-move.cginc @@ -46,13 +46,15 @@ fixed4 PS_main(InputPS input) : PIXELSHADER_BINDOUTPUT Coord -= Vel; Pixel = tex2D(_MainTex, Coord); PixelSynthesizeExternalAlpha(Pixel.a, _AlphaTex, Coord.xy, _EnableExternalAlpha); - PixelSolvePMA(Pixel, Pixel.a); + Pixel = PixelSolveColorspaceInput(Pixel); +// PixelSolvePMA(Pixel, Pixel.a); float4 PixelShift; for(int i=1; i= _pixelA_) { \ + if(0.0 >= _pixelA_) { \ _pixelRGB_ = float4(0.0f, 0.0f, 0.0f, 0.0f); \ } else { \ _pixelRGB_.xyz *= _pixelA_; \ @@ -258,3 +258,61 @@ When "PS_OUTPUT_PMA" is not defined, process empty. #else #define PixelSolvePMA_ValidAlpha(_pixelRGB_,_pixelA_) #endif + +/* ********************************************************* */ +//! [for Vertex/Pixel-Shader] Solve ColorSpace Linear to Gamma +/*! +@param _pixleA_ + [In/Out] Pixel's RGBA (float4 / fixed4) + +@retval Return-Value + Adjusted RGB (float4) + +Solves differences in Color-Space settings. +*/ +float4 PixelSolveColorspaceInput(float4 color) +{ +#if defined(UNITY_COLORSPACE_GAMMA) + return(color); +#else +#if defined(PS_INPUT_PMA) + if((1.0 / 255.0) > color.a) { +// color = float4(0.0, 0.0, 0.0, 0.0); + color = color; + } else { + color.rgb = color.rgb / color.a; + } +#endif +// // color.rgb = color.rgb; +// color.rgb = sqrt(color.rgb); + color.rgb = pow(color.rgb, 1.0/2.2); +// color.rgb = (max(1.055h * pow(max(color, float4(0.0, 0.0, 0.0, 0.0)), 0.416666667) - 0.055, 0.0)).rgb; + + return(color); +#endif +} + +/* ********************************************************* */ +//! [for Vertex/Pixel-Shader] Solve ColorSpace Gamma to Linear +/*! +@param _pixleA_ + [In/Out] Pixel's RGBA (float4 / fixed4) + +@retval Return-Value + Adjusted RGB (float4) + +Solves differences in Color-Space settings. +*/ +float4 PixelSolveColorspaceOutput(float4 color) +{ +#if defined(UNITY_COLORSPACE_GAMMA) + return(color); +#else +// // color.rgb = color.rgb; +// color.rgb = (color * color).rgb; + color.rgb = (pow(color, 2.2)).rgb; +// color.rgb = (color * (color * (color * 0.305306011h + 0.682171111h) + 0.012522878h)).rgb; + + return(color); +#endif +} diff --git a/Assets/SpriteStudio6/Shader/Effect_SpriteStudio6.shader b/Assets/SpriteStudio6/Shader/Effect_SpriteStudio6.shader index e4775b0..f93c3be 100644 --- a/Assets/SpriteStudio6/Shader/Effect_SpriteStudio6.shader +++ b/Assets/SpriteStudio6/Shader/Effect_SpriteStudio6.shader @@ -21,6 +21,7 @@ Shader "Custom/SpriteStudio6/SS6PU/Effect" [Toggle(PS_NOT_DISCARD)] _NotDiscardPixel("Not Discard Pixel", Float) = 0 [Toggle(PS_OUTPUT_PMA)] _OutputPixelPMA("Output PreMultiplied Alpha", Float) = 0 + [Toggle(PS_INPUT_PMA)] _InputPixelPMA("Input PreMultiplied Alpha", Float) = 0 [HideInInspector] _ArgumentFs00("Argument Fs00", Vector) = (0,0,0,0) [HideInInspector] _ParameterFs00("Parameter Fs00", Vector) = (0,0,0,0) @@ -59,6 +60,7 @@ Shader "Custom/SpriteStudio6/SS6PU/Effect" // #define RESTRICT_SHADER_MODEL_3 #pragma multi_compile _ PS_NOT_DISCARD #pragma multi_compile _ PS_OUTPUT_PMA + #pragma multi_compile _ PS_INPUT_PMA #include "Base/Shader_Lib_SpriteStudio6.cginc" #include "Base/Shader_Data_SpriteStudio6.cginc" #include "Base/ShaderVertex_Effect_SpriteStudio6.cginc" diff --git a/Assets/SpriteStudio6/Shader/SkinnedMesh_UnityNative.shader b/Assets/SpriteStudio6/Shader/SkinnedMesh_UnityNative.shader index b7a418b..dd03962 100644 --- a/Assets/SpriteStudio6/Shader/SkinnedMesh_UnityNative.shader +++ b/Assets/SpriteStudio6/Shader/SkinnedMesh_UnityNative.shader @@ -23,6 +23,7 @@ Shader "Custom/SpriteStudio6/UnityNative/SkinnedMesh" [Toggle(PS_NOT_DISCARD)] _NotDiscardPixel("Not Discard Pixel", Float) = 0 [Toggle(PS_OUTPUT_PMA)] _OutputPixelPMA("Output PreMultiplied Alpha", Float) = 0 + [Toggle(PS_INPUT_PMA)] _InputPixelPMA("Input PreMultiplied Alpha", Float) = 0 [HideInInspector] _RendererColor("RendererColor", Color) = (1, 1, 1, 1) [HideInInspector] _Flip("Flip", Vector) = (1, 1, 1, 1) @@ -62,9 +63,11 @@ Shader "Custom/SpriteStudio6/UnityNative/SkinnedMesh" #include "UnityCG.cginc" #define RESTRICT_SHADER_MODEL_3 - #define PS_OPTION_NOT_DISCARD - #define PS_OPTION_OUTPUT_PMA + #pragma multi_compile _ PS_NOT_DISCARD + #pragma multi_compile _ PS_OUTPUT_PMA + #pragma multi_compile _ PS_INPUT_PMA #include "Base/Shader_Data_UnityNative.cginc" + #include "Base/Shader_Lib_SpriteStudio6.cginc" #include "Base/ShaderVertex_SkinnedMesh_UnityNative.cginc" #include "Base/ShaderPixel_Sprite_UnityNative.cginc" ENDCG diff --git a/Assets/SpriteStudio6/Shader/Sprite_SpriteStudio6.shader b/Assets/SpriteStudio6/Shader/Sprite_SpriteStudio6.shader index ad38976..8907477 100644 --- a/Assets/SpriteStudio6/Shader/Sprite_SpriteStudio6.shader +++ b/Assets/SpriteStudio6/Shader/Sprite_SpriteStudio6.shader @@ -21,6 +21,7 @@ Shader "Custom/SpriteStudio6/SS6PU/Sprite" [Toggle(PS_NOT_DISCARD)] _NotDiscardPixel("Not Discard Pixel", Float) = 0 [Toggle(PS_OUTPUT_PMA)] _OutputPixelPMA("Output PreMultiplied Alpha", Float) = 0 + [Toggle(PS_INPUT_PMA)] _InputPixelPMA("Input PreMultiplied Alpha", Float) = 0 [HideInInspector] _ArgumentFs00("Argument Fs00", Vector) = (0,0,0,0) [HideInInspector] _ParameterFs00("Parameter Fs00", Vector) = (0,0,0,0) @@ -59,6 +60,7 @@ Shader "Custom/SpriteStudio6/SS6PU/Sprite" // #define RESTRICT_SHADER_MODEL_3 #pragma multi_compile _ PS_NOT_DISCARD #pragma multi_compile _ PS_OUTPUT_PMA + #pragma multi_compile _ PS_INPUT_PMA #include "Base/Shader_Lib_SpriteStudio6.cginc" #include "Base/Shader_Data_SpriteStudio6.cginc" #include "Base/ShaderVertex_Sprite_SpriteStudio6.cginc" diff --git a/Assets/SpriteStudio6/Shader/Sprite_UnityNative.shader b/Assets/SpriteStudio6/Shader/Sprite_UnityNative.shader index 2e744b3..0245f6b 100644 --- a/Assets/SpriteStudio6/Shader/Sprite_UnityNative.shader +++ b/Assets/SpriteStudio6/Shader/Sprite_UnityNative.shader @@ -45,6 +45,7 @@ Shader "Custom/SpriteStudio6/UnityNative/Sprite" [Toggle(PS_NOT_DISCARD)] _NotDiscardPixel("Not Discard Pixel", Float) = 0 [Toggle(PS_OUTPUT_PMA)] _OutputPixelPMA("Output PreMultiplied Alpha", Float) = 0 + [Toggle(PS_INPUT_PMA)] _InputPixelPMA("Input PreMultiplied Alpha", Float) = 0 [HideInInspector] _RendererColor("RendererColor", Color) = (1, 1, 1, 1) [HideInInspector] _Flip("Flip", Vector) = (1, 1, 1, 1) @@ -91,7 +92,9 @@ Shader "Custom/SpriteStudio6/UnityNative/Sprite" // #define RESTRICT_UNITY_2017_2 #pragma multi_compile _ PS_NOT_DISCARD #pragma multi_compile _ PS_OUTPUT_PMA + #pragma multi_compile _ PS_INPUT_PMA #include "Base/Shader_Data_UnityNative.cginc" + #include "Base/Shader_Lib_SpriteStudio6.cginc" #include "Base/ShaderVertex_Sprite_UnityNative.cginc" #include "Base/ShaderPixel_Sprite_UnityNative.cginc" ENDCG diff --git a/Assets/SpriteStudio6/Shader/Sprite_UnityNative_NonBatch.shader b/Assets/SpriteStudio6/Shader/Sprite_UnityNative_NonBatch.shader index d2a4839..b4a4123 100644 --- a/Assets/SpriteStudio6/Shader/Sprite_UnityNative_NonBatch.shader +++ b/Assets/SpriteStudio6/Shader/Sprite_UnityNative_NonBatch.shader @@ -45,6 +45,7 @@ Shader "Custom/SpriteStudio6/UnityNative/Sprite_NonBatch" [Toggle(PS_NOT_DISCARD)] _NotDiscardPixel("Not Discard Pixel", Float) = 0 [Toggle(PS_OUTPUT_PMA)] _OutputPixelPMA("Output PreMultiplied Alpha", Float) = 0 + [Toggle(PS_INPUT_PMA)] _InputPixelPMA("Input PreMultiplied Alpha", Float) = 0 [HideInInspector] _RendererColor("RendererColor", Color) = (1, 1, 1, 1) [HideInInspector] _Flip("Flip", Vector) = (1, 1, 1, 1) @@ -92,7 +93,9 @@ Shader "Custom/SpriteStudio6/UnityNative/Sprite_NonBatch" // #define RESTRICT_UNITY_2017_2 #pragma multi_compile _ PS_NOT_DISCARD #pragma multi_compile _ PS_OUTPUT_PMA + #pragma multi_compile _ PS_INPUT_PMA #include "Base/Shader_Data_UnityNative.cginc" + #include "Base/Shader_Lib_SpriteStudio6.cginc" #include "Base/ShaderVertex_Sprite_UnityNative.cginc" #include "Base/ShaderPixel_Sprite_UnityNative.cginc" ENDCG diff --git a/Assets/SpriteStudio6/Shader/Sprite_UnityUI.shader b/Assets/SpriteStudio6/Shader/Sprite_UnityUI.shader index f5f3bb0..cd342aa 100644 --- a/Assets/SpriteStudio6/Shader/Sprite_UnityUI.shader +++ b/Assets/SpriteStudio6/Shader/Sprite_UnityUI.shader @@ -96,6 +96,7 @@ Shader "Custom/SpriteStudio6/UnityUI/Sprite" // #define RESTRICT_SHADER_MODEL_3 // #define RESTRICT_UNITY_2017_2 #include "Base/Shader_Data_UnityUI.cginc" + #include "Base/Shader_Lib_SpriteStudio6.cginc" #include "Base/ShaderVertex_Sprite_UnityUI.cginc" #include "Base/ShaderPixel_Sprite_UnityUI.cginc" ENDCG From 57ae38b8118197a0d3b05344fa10dd7637a1c1b7 Mon Sep 17 00:00:00 2001 From: kubodera-k Date: Wed, 18 Dec 2024 14:18:13 +0900 Subject: [PATCH 06/13] Update LICENSE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 社名の変更 --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 008ce14..83e73ea 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) Web Technology Corp. +Copyright (c) CRI Middleware Co., Ltd. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 8d3eeb6835e5ff341c8e2a1b032568703507cf1d Mon Sep 17 00:00:00 2001 From: "YITSUSE, Masami" Date: Fri, 25 Apr 2025 16:57:16 +0900 Subject: [PATCH 07/13] =?UTF-8?q?[Ver.=202.1.26]=20-=20SS6=E3=81=A7?= =?UTF-8?q?=E3=83=A1=E3=83=83=E3=82=B7=E3=83=A5=E3=83=91=E3=83=BC=E3=83=84?= =?UTF-8?q?=E3=81=AB=E4=B8=8D=E6=AD=A3=E3=81=AA=E5=8F=82=E7=85=A7=E3=82=BB?= =?UTF-8?q?=E3=83=AB=E8=A8=AD=E5=AE=9A=E3=82=92=E8=A1=8C=E3=81=88=E3=82=8B?= =?UTF-8?q?=E5=A0=B4=E5=90=88=E3=81=8C=E3=81=82=E3=82=8B=E3=81=9F=E3=82=81?= =?UTF-8?q?=E3=80=81=E3=83=A1=E3=83=83=E3=82=B7=E3=83=A5=E3=83=91=E3=83=BC?= =?UTF-8?q?=E3=83=84=E3=81=AE=E3=82=A8=E3=83=A9=E3=83=BC=E6=99=82=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/SpriteStudio6/Editor/Import/SSAE.cs | 116 ++++++++++++++- .../Library/Control/AnimationParts.cs | 139 +++++++++++------- .../Library/Library_SpriteStudio6.cs | 3 +- 3 files changed, 204 insertions(+), 54 deletions(-) diff --git a/Assets/SpriteStudio6/Editor/Import/SSAE.cs b/Assets/SpriteStudio6/Editor/Import/SSAE.cs index 846638a..49059d9 100644 --- a/Assets/SpriteStudio6/Editor/Import/SSAE.cs +++ b/Assets/SpriteStudio6/Editor/Import/SSAE.cs @@ -2736,6 +2736,8 @@ public bool AttributeSolve( ref LibraryEditor_SpriteStudio6.Import.Setting setti Information informationSSAE ) { + const string messageLogPrefix = "Data Solving(Animation)"; + int countParts = TableParts.Length; Parts animationParts = null; Parts animationPartsSetup = null; @@ -2843,6 +2845,45 @@ Information informationSSAE } /* Adjust Top-Frame Key-Data */ + animationParts.FlagCancelAnimationSkeletal = false; + switch(parts.Data.Feature) + { + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.ROOT: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NULL: + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NORMAL: + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.INSTANCE: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.EFFECT: + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MASK: + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.JOINT: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONE: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MOVENODE: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.CONSTRAINT: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONEPOINT: + break; + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MESH: + /* MEMO: (In rare cases,) Invalid "Reference Cell" are possible to set to "Mesh" parts */ + /* in "SpriteStudio 6", so aboidance behavior is mimicked. */ + if(0 < animationParts.Cell.CountGetKey()) + { + animationParts.FlagCancelAnimationSkeletal = true; + } + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.TRANSFORM_CONSTRAINT: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.CAMERA: + break; + + default: + break; + } animationParts.Cell.KeyDataAdjustTopFrame((null == animationPartsSetup) ? null : animationPartsSetup.Cell); /* MEMO: In the case of "bone" parts, when no key at frame 0, necessary to set bone's information to attributes. */ @@ -3217,14 +3258,43 @@ Information informationSSAE { countVertexCell = informationSSPJ.TableInformationSSCE[indexCellMap].TableCell[indexCell].Data.Mesh.TableCoordinate.Length; int countMesh = informationSSPJ.TableInformationSSCE[indexCellMap].TableCell[indexCell].Data.Mesh.CountMesh; - if(parts.Data.CountMesh < countMesh) + if(null != animationPartsSetup) { - parts.IndexCellMapMeshBind = indexCellMap; - parts.IndexCellMeshBind = indexCell; + int indexCellMapSetup = animationPartsSetup.Cell.ListKey[0].Value.IndexCellMap; + int indexCellSetup = animationPartsSetup.Cell.ListKey[0].Value.IndexCell; + int countMeshSetup = informationSSPJ.TableInformationSSCE[indexCellMapSetup].TableCell[indexCellSetup].Data.Mesh.CountMesh; + + if((indexCellMap != indexCellMapSetup) || (indexCell != indexCellSetup)) + { + LogWarning(messageLogPrefix, "Different cell (from \"Setup\" animation) used in \"Mesh\" part. Parts[" + informationSSAE.TableParts[i].Data.Name + "]", informationSSAE.FileNameGetFullPath(), informationSSPJ); + } + + indexCellMap = indexCellMapSetup; + indexCell = indexCellSetup; + if(countMesh < countMeshSetup) + { + countMesh = countMeshSetup; + } + } + parts.IndexCellMapMeshBind = indexCellMap; + parts.IndexCellMeshBind = indexCell; + if(parts.Data.CountMesh < countMesh) + { parts.Data.CountMesh = countMesh; } } + + int countKeyCell = animationParts.Cell.CountGetKey(); + if(1 < countKeyCell) + { + LogWarning(messageLogPrefix, "Ineffective key-data (Attribute \"Reference Cell\") are set. Datas truncated. Parts[" + informationSSAE.TableParts[i].Data.Name + "]", informationSSAE.FileNameGetFullPath(), informationSSPJ); + + for(int j=(countKeyCell - 1); j>=1; j--) + { + animationParts.Cell.ListKey.RemoveAt(j); + } + } } } @@ -3447,6 +3517,42 @@ LibraryEditor_SpriteStudio6.Import.SSAE.Information informationSSAE flagInUse = false; } + /* Patching of ivalid "Reference Cell" */ + /* MEMO: SpriteStudio6's Error avoidance behavior is that skeletal-animation */ + /* is unworked when "Mesh" part has "Reference-cell" datas. */ + animationParts.StatusParts &= ~Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus.NO_ANIMATION_SKELETAL; + switch(parts.Data.Feature) + { + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.ROOT: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NULL: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NORMAL: + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.INSTANCE: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.EFFECT: + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MASK: + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.JOINT: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONE: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MOVENODE: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.CONSTRAINT: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONEPOINT: + break; + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MESH: + if(true == animationParts.FlagCancelAnimationSkeletal) + { + animationParts.StatusParts |= Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus.NO_ANIMATION_SKELETAL; + } + break; + + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.TRANSFORM_CONSTRAINT: + case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.CAMERA: + break; + } + if(false == flagInUse) { /* Not Use */ animationParts.StatusParts |= Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus.NOT_USED; @@ -3964,6 +4070,7 @@ public class Parts public bool[] TableHide; /* Expand "Hide"attribute in order to drawing state optimize. */ public int[] TableOrderDraw; public int[] TableOrderPreDraw; + public bool FlagCancelAnimationSkeletal; /* only "Mesh" part */ #endregion Variables & Properties /* ----------------------------------------------- Functions */ @@ -4068,6 +4175,7 @@ public void CleanUp() TableHide = null; TableOrderDraw = null; TableOrderPreDraw = null; + FlagCancelAnimationSkeletal = false; } public bool BootUp() @@ -4129,6 +4237,7 @@ public bool BootUp() TableHide = null; TableOrderDraw = null; TableOrderPreDraw = null; + FlagCancelAnimationSkeletal = false; return(true); } @@ -4192,6 +4301,7 @@ public void ShutDown() TableHide = null; TableOrderDraw = null; TableOrderPreDraw = null; + FlagCancelAnimationSkeletal = false; } #endregion Functions } diff --git a/Assets/SpriteStudio6/Library/Control/AnimationParts.cs b/Assets/SpriteStudio6/Library/Control/AnimationParts.cs index 4e4696c..f75cc52 100644 --- a/Assets/SpriteStudio6/Library/Control/AnimationParts.cs +++ b/Assets/SpriteStudio6/Library/Control/AnimationParts.cs @@ -2788,8 +2788,8 @@ internal bool BootUpMesh(Script_SpriteStudio6_Root instanceRoot, int idParts, bo /* MEMO: On SpriteStudio6.0, Cell's vertices count and MeshBind's vertices count may be different. */ /* (Truncate surplus information) */ int countVertex = instanceRoot.DataAnimation.TableParts[idParts].Mesh.CountVertex; - int countTableBind = instanceRoot.DataAnimation.TableParts[idParts].Mesh.TableVertex.Length; - int countTableUV = instanceRoot.DataAnimation.TableParts[idParts].Mesh.TableRateUV.Length; + int countTableBind = (null == instanceRoot.DataAnimation.TableParts[idParts].Mesh.TableVertex) ? 0 : instanceRoot.DataAnimation.TableParts[idParts].Mesh.TableVertex.Length; + int countTableUV = (null == instanceRoot.DataAnimation.TableParts[idParts].Mesh.TableRateUV) ? 0 : instanceRoot.DataAnimation.TableParts[idParts].Mesh.TableRateUV.Length; int countVertexDeform = instanceRoot.DataAnimation.TableParts[idParts].Mesh.CountVertexDeform; #if DEFORM_CALCULATE_STRICT bool flagUseSkeletalAnimation = ((0 < countTableBind) && (0 < instanceRoot.DataAnimation.CatalogParts.TableIDPartsBone.Length)); /* ? true : false */ @@ -3852,74 +3852,109 @@ ref Library_SpriteStudio6.Data.Animation.PackAttribute.ArgumentContainer argumen goto DrawMesh_ErrorEnd; } + Vector2[] tableVertexCell = cellMap.TableCell[indexCell].Mesh.TableCoordinate; + int countVertex = CountVertex; + int countVertexCell = tableVertexCell.Length; + if(countVertex > countVertexCell) + { + countVertex = countVertexCell; + } + /* MEMO: Mapping-control attributes can not be set for "Mesh" parts, so UV recalculation occurs only when "Cell" is changed or initialized. */ + bool flagMeshInvalid = (0 != (dataAnimationParts.StatusParts & Data.Animation.Parts.FlagBitStatus.NO_ANIMATION_SKELETAL)); /* ? true : false */ if(0 != (Status & FlagBitStatus.UPDATE_UVTEXTURE)) { Vector4 uvTexture = Vector4.zero; Vector4 uvMinMax = Vector4.zero; Vector4 uvAverage = Vector4.zero; + if(true == flagMeshInvalid) + { + IndexVertexDraw = cellMap.TableCell[indexCell].Mesh.TableIndexVertex; + } + else + { + IndexVertexDraw = instanceRoot.DataAnimation.TableParts[idParts].Mesh.TableIndexVertex; + } + /* Calculate UV */ if(null != UVTextureDraw) { /* MEMO: Calculate UV when change Cell. (Mesh-Bind is not changed.) */ /* MEMO: Each UV-coordinate is as ratio when original Mesh-Cell's size is 1. */ - Vector2[] tableUVRate = instanceParts.Mesh.TableRateUV; float sizeTextureX = SizeTexture.x; float sizeTextureY = SizeTexture.y; float sizeInverseTextureX = 1.0f / sizeTextureX; float sizeInverseTextureY = 1.0f / sizeTextureY; float positionCellX = PositionCell.x; float positionCellY = PositionCell.y; - float sizeCellX = SizeCell.x; - float sizeCellY = SizeCell.y; - float rateUVX; - float rateUVY; - countTableUV = tableUVRate.Length; - bool flagSetUVMinMax = false; - for(int i=0; i= countTableBindMesh) || (0 >= countBoneList) + || (true == flagMeshInvalid) ) { /* not Skeletal-Animation / Skeletal-Animation, but has no bones */ if(true == Deform.Value.IsValid) { /* Use Deform */ /* Transform including "Deform" */ /* MEMO: In this case, "DeformDraw" is coordinate after posting "Deform". */ - if(0 != (Status & FlagBitStatus.UPDATE_DEFORM)) + if((0 != (Status & FlagBitStatus.UPDATE_DEFORM)) && (countVertex == Deform.Value.TableCoordinate.Length)) { Vector2[] tableVertexDeform = Deform.Value.TableCoordinate; - for(int i=0; i Date: Sat, 26 Apr 2025 22:37:21 +0900 Subject: [PATCH 08/13] =?UTF-8?q?[Ver.2.1.26]=20-=20=E3=83=A1=E3=83=83?= =?UTF-8?q?=E3=82=B7=E3=83=A5=E3=83=91=E3=83=BC=E3=83=84=E3=81=AB=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3=E5=8F=82=E7=85=A7=E3=82=BB=E3=83=AB=E3=81=A7=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E3=82=BB=E3=83=AB=E3=82=92=E5=89=B2=E3=82=8A=E5=BD=93?= =?UTF-8?q?=E3=81=A6=E3=81=9F=E9=9A=9B=E8=B5=B7=E3=81=93=E3=82=8B=E3=80=81?= =?UTF-8?q?=E3=80=8C=E6=9C=80=E5=A4=A7=E9=A0=82=E7=82=B9=E6=95=B0=20!=3D?= =?UTF-8?q?=20=E3=83=A1=E3=83=83=E3=82=B7=E3=83=A5=E3=82=BB=E3=83=AB?= =?UTF-8?q?=E9=A0=82=E7=82=B9=E6=95=B0=E3=80=8D=E3=81=AE=E9=BD=9F=E9=BD=AC?= =?UTF-8?q?=E3=82=92=E5=90=B8=E5=8F=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/SpriteStudio6/Editor/Import/SSAE.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Assets/SpriteStudio6/Editor/Import/SSAE.cs b/Assets/SpriteStudio6/Editor/Import/SSAE.cs index 49059d9..2251ec6 100644 --- a/Assets/SpriteStudio6/Editor/Import/SSAE.cs +++ b/Assets/SpriteStudio6/Editor/Import/SSAE.cs @@ -2591,6 +2591,7 @@ public class Parts public int IndexCellMapMeshBind; public int IndexCellMeshBind; + public int CountVertexMaximum; /* "Mesh" parts only */ public float LengthBone; public float PositionXBone; @@ -2643,6 +2644,7 @@ public void CleanUp() IndexCellMapMeshBind = -1; IndexCellMeshBind = -1; + CountVertexMaximum = 0; LengthBone = 0.0f; PositionXBone = 0.0f; @@ -3263,6 +3265,7 @@ Information informationSSAE int indexCellMapSetup = animationPartsSetup.Cell.ListKey[0].Value.IndexCellMap; int indexCellSetup = animationPartsSetup.Cell.ListKey[0].Value.IndexCell; int countMeshSetup = informationSSPJ.TableInformationSSCE[indexCellMapSetup].TableCell[indexCellSetup].Data.Mesh.CountMesh; + int countVertexSetup = informationSSPJ.TableInformationSSCE[indexCellMapSetup].TableCell[indexCellSetup].Data.Mesh.CountMesh; if((indexCellMap != indexCellMapSetup) || (indexCell != indexCellSetup)) { @@ -3275,6 +3278,10 @@ Information informationSSAE { countMesh = countMeshSetup; } + if(countVertexCell < countVertexSetup) + { + countVertexCell = countVertexSetup; + } } parts.IndexCellMapMeshBind = indexCellMap; @@ -3283,6 +3290,9 @@ Information informationSSAE { parts.Data.CountMesh = countMesh; } + if(parts.CountVertexMaximum < countVertexCell) { + parts.CountVertexMaximum = countVertexCell; + } } int countKeyCell = animationParts.Cell.CountGetKey(); @@ -5503,7 +5513,9 @@ LibraryEditor_SpriteStudio6.Import.SSAE.Information informationSSAE } } } - informationParts.Data.Mesh.CountVertex = countVertexMesh; + informationParts.Data.Mesh.CountVertex = (informationParts.CountVertexMaximum < countVertexMesh) + ? countVertexMesh + : informationParts.CountVertexMaximum; /* Set(Overwrite) Bone-Parts' ID */ if(0 >= countVertexMesh) From 37ac6b596fd9388981385ffd8c61ef05c56ab093 Mon Sep 17 00:00:00 2001 From: "YITSUSE, Masami" Date: Wed, 14 May 2025 11:51:38 +0900 Subject: [PATCH 09/13] =?UTF-8?q?[Ver.2.1.27]=20-=20=E3=82=B7=E3=83=BC?= =?UTF-8?q?=E3=82=B1=E3=83=B3=E3=82=B9=E3=81=AE=E9=80=94=E4=B8=AD=E3=81=A7?= =?UTF-8?q?=E3=82=A2=E3=83=8B=E3=83=A1=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E3=81=AE=E3=83=A2=E3=83=87=E3=83=AB=E3=81=8C=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E3=81=95=E3=82=8C=E3=81=9F=E6=99=82=E3=81=AB=E3=80=81=E9=99=90?= =?UTF-8?q?=E5=AE=9A=E7=9A=84=E6=9D=A1=E4=BB=B6=E4=B8=8B=E3=81=A7=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E3=83=90=E3=83=83=E3=82=AF=E3=81=8C=E3=82=B9?= =?UTF-8?q?=E3=82=AD=E3=83=83=E3=83=97=E3=81=95=E3=82=8C=E3=82=8B=E5=A0=B4?= =?UTF-8?q?=E5=90=88=E3=81=8C=E3=81=82=E3=82=8B=E9=9A=9C=E5=AE=B3=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/SpriteStudio6/Library/Control/AnimationParts.cs | 4 ++-- Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Assets/SpriteStudio6/Library/Control/AnimationParts.cs b/Assets/SpriteStudio6/Library/Control/AnimationParts.cs index f75cc52..7832b7e 100644 --- a/Assets/SpriteStudio6/Library/Control/AnimationParts.cs +++ b/Assets/SpriteStudio6/Library/Control/AnimationParts.cs @@ -944,7 +944,7 @@ ref Library_SpriteStudio6.Control.Animation.Track controlTrack /* Get decoding top frame */ if(true == flagFirst) { - framePrevious = frame; + framePrevious = frameStart; } else { @@ -1245,7 +1245,7 @@ ref Library_SpriteStudio6.Control.Animation.Track controlTrack /* Get decoding top frame */ if(true == flagFirst) { - framePrevious = frame; + framePrevious = frameStart; } else { diff --git a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs index fda7b88..f12584a 100644 --- a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs +++ b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs @@ -18,7 +18,7 @@ public static partial class Library_SpriteStudio6 /* ----------------------------------------------- Signatures */ #region Signatures public const string SignatureNameAsset = "SpriteStudio6 Player for Unity"; - public const string SignatureVersionAsset = "2.1.26"; + public const string SignatureVersionAsset = "2.1.27"; public const string SignatureNameDistributor = "CRI Middleware Co., Ltd."; #endregion Signatures From 0ef1991a1da45710ea0392b430d622e9aa381d2c Mon Sep 17 00:00:00 2001 From: "YITSUSE, Masami" Date: Tue, 20 May 2025 16:37:33 +0900 Subject: [PATCH 10/13] =?UTF-8?q?[Ver.2.1.27]=20-=20=E3=83=A1=E3=83=83?= =?UTF-8?q?=E3=82=B7=E3=83=A5=E3=83=91=E3=83=BC=E3=83=84=E3=81=AE=E3=82=A8?= =?UTF-8?q?=E3=83=A9=E3=83=BC=E5=87=A6=E7=90=86=E3=81=AB=E6=BC=8F=E3=82=8C?= =?UTF-8?q?=E3=81=8C=E3=81=82=E3=81=A3=E3=81=9F=EF=BC=88=E5=8F=82=E7=85=A7?= =?UTF-8?q?=E3=82=BB=E3=83=AB=E3=82=92=E6=95=B4=E7=90=86=E3=81=97=E3=81=9F?= =?UTF-8?q?=E7=B5=90=E6=9E=9CSetup=E3=81=A8=E5=90=8C=E3=81=98=E3=81=AB?= =?UTF-8?q?=E3=81=AA=E3=82=8B=E3=82=B1=E3=83=BC=E3=82=B9=EF=BC=89=E6=99=82?= =?UTF-8?q?=E3=81=AE=E5=AF=BE=E5=BF=9C=E3=81=8C=E4=B8=8D=E5=AE=8C=E5=85=A8?= =?UTF-8?q?=E3=81=A7=E8=B5=B7=E3=81=93=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F?= =?UTF-8?q?=E9=9A=9C=E5=AE=B3=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/SpriteStudio6/Editor/Import/SSAE.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Assets/SpriteStudio6/Editor/Import/SSAE.cs b/Assets/SpriteStudio6/Editor/Import/SSAE.cs index 2251ec6..cfc324c 100644 --- a/Assets/SpriteStudio6/Editor/Import/SSAE.cs +++ b/Assets/SpriteStudio6/Editor/Import/SSAE.cs @@ -2847,7 +2847,6 @@ Information informationSSAE } /* Adjust Top-Frame Key-Data */ - animationParts.FlagCancelAnimationSkeletal = false; switch(parts.Data.Feature) { case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.ROOT: @@ -2871,12 +2870,6 @@ Information informationSSAE case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONEPOINT: break; case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MESH: - /* MEMO: (In rare cases,) Invalid "Reference Cell" are possible to set to "Mesh" parts */ - /* in "SpriteStudio 6", so aboidance behavior is mimicked. */ - if(0 < animationParts.Cell.CountGetKey()) - { - animationParts.FlagCancelAnimationSkeletal = true; - } break; case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.TRANSFORM_CONSTRAINT: @@ -3250,6 +3243,9 @@ Information informationSSAE /* MEMO: Since Mesh's cell is set in "Setup" animation, can not be changed for each animation. */ /* But just in case, get mesh count each animation. */ + /* MEMO: (In rare cases,) Invalid "Reference Cell" are possible to set to "Mesh" parts */ + /* in "SpriteStudio 6", so aboidance behavior is mimicked. */ + animationParts.FlagCancelAnimationSkeletal = false; if(0 < animationParts.Cell.CountGetKey()) { int indexCellMap = animationParts.Cell.ListKey[0].Value.IndexCellMap; @@ -3270,6 +3266,7 @@ Information informationSSAE if((indexCellMap != indexCellMapSetup) || (indexCell != indexCellSetup)) { LogWarning(messageLogPrefix, "Different cell (from \"Setup\" animation) used in \"Mesh\" part. Parts[" + informationSSAE.TableParts[i].Data.Name + "]", informationSSAE.FileNameGetFullPath(), informationSSPJ); + animationParts.FlagCancelAnimationSkeletal = true; } indexCellMap = indexCellMapSetup; From 610df6c285a21177ea2b7a046157fa8a19719b9d Mon Sep 17 00:00:00 2001 From: "YITSUSE, Masami" Date: Tue, 22 Jul 2025 14:37:18 +0900 Subject: [PATCH 11/13] =?UTF-8?q?[Ver.2.1.28]=20-=20=E4=B8=80=E9=83=A8?= =?UTF-8?q?=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=81=A7=E3=80=81?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=B9=E3=83=9A=E3=82=AF=E3=82=BF=E3=81=8C?= =?UTF-8?q?=E4=B8=8D=E6=AD=A3=E6=8F=8F=E7=94=BB=E3=81=AE=E3=82=A8=E3=83=A9?= =?UTF-8?q?=E3=83=BC=E3=82=92=E5=87=BA=E5=8A=9B=E3=81=99=E3=82=8B=E5=A0=B4?= =?UTF-8?q?=E5=90=88=E3=81=8C=E3=81=82=E3=82=8B=E7=97=87=E7=8A=B6=E3=82=92?= =?UTF-8?q?=E8=A7=A3=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Inspector/Inspector_SpriteStudio6_Root.cs | 61 +++++++++++++++++++ .../Library/Library_SpriteStudio6.cs | 2 +- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/Assets/SpriteStudio6/Editor/Inspector/Inspector_SpriteStudio6_Root.cs b/Assets/SpriteStudio6/Editor/Inspector/Inspector_SpriteStudio6_Root.cs index a558df1..09c50df 100644 --- a/Assets/SpriteStudio6/Editor/Inspector/Inspector_SpriteStudio6_Root.cs +++ b/Assets/SpriteStudio6/Editor/Inspector/Inspector_SpriteStudio6_Root.cs @@ -524,6 +524,10 @@ public override bool RequiresConstantRepaint() return(FlagPlayAnimationPreview); } +#if false +#else + private bool FlagChangeIcons = true; +#endif public override void OnPreviewSettings() { if(null == InstanceRootPreview) @@ -536,10 +540,45 @@ public override void OnPreviewSettings() } /* "Fold-out" Buttoons */ +#if false FlagFoldOutInterfaces = UnityEngine.GUILayout.Toggle( FlagFoldOutInterfaces, (true == FlagFoldOutInterfaces) ? EditorGUIUtility.IconContent("ArrowNavigationLeft") : EditorGUIUtility.IconContent("ArrowNavigationRight"), (UnityEngine.GUIStyle)"preButton" ); +#else + /* MEMO: Avoid rendering stages other than "Layout" when icons are changing. */ + if(true == FlagChangeIcons) + { + if(Event.current.type != EventType.Layout) + { + return; + } + + FlagChangeIcons = false; + } + + /* MEMO: (Some versions of Unity) may raise an exception when there is branchs or dynamic elements in parameters of "GUILayout.XXX" (???)). */ + /* Would be safer to describe evaluating as definitive as possible. */ + bool flagFoldOutInterfaces = FlagFoldOutInterfaces; + GUIContent iconFoldOut; + if(true == flagFoldOutInterfaces) + { + iconFoldOut = EditorGUIUtility.IconContent("ArrowNavigationLeft"); + } + else + { + iconFoldOut = EditorGUIUtility.IconContent("ArrowNavigationRight"); + } + FlagFoldOutInterfaces = UnityEngine.GUILayout.Toggle( flagFoldOutInterfaces, + iconFoldOut, + (UnityEngine.GUIStyle)"preButton" + ); + if(FlagFoldOutInterfaces != flagFoldOutInterfaces) + { +// FlagChangeIcons |= true; + FlagChangeIcons = true; + } +#endif if(false == FlagFoldOutInterfaces) { /* Show Interfaces */ if(null != InstanceRootPreview) @@ -547,10 +586,32 @@ public override void OnPreviewSettings() const int indexTrackAnimation = 0; /* force */ /* "Play" Button */ +#if false FlagPlayAnimationPreview = UnityEngine.GUILayout.Toggle( FlagPlayAnimationPreview, (true == FlagPlayAnimationPreview) ? EditorGUIUtility.IconContent("preAudioPlayOn") : EditorGUIUtility.IconContent("preAudioPlayOff"), (UnityEngine.GUIStyle)"preButton" ); +#else + bool flagPlayAnimationPreview = FlagPlayAnimationPreview; + GUIContent iconPlay; + if(true == flagPlayAnimationPreview) + { + iconPlay = EditorGUIUtility.IconContent("preAudioPlayOn"); + } + else + { + iconPlay = EditorGUIUtility.IconContent("preAudioPlayOff"); + } + FlagPlayAnimationPreview = UnityEngine.GUILayout.Toggle( flagPlayAnimationPreview, + iconPlay, + (UnityEngine.GUIStyle)"preButton" + ); + if(FlagFoldOutInterfaces != flagFoldOutInterfaces) + { +// FlagChangeIcons |= true; + FlagChangeIcons = true; + } +#endif /* "Animation" Select */ int indexAnimation = -1; diff --git a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs index f12584a..3eddd10 100644 --- a/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs +++ b/Assets/SpriteStudio6/Library/Library_SpriteStudio6.cs @@ -18,7 +18,7 @@ public static partial class Library_SpriteStudio6 /* ----------------------------------------------- Signatures */ #region Signatures public const string SignatureNameAsset = "SpriteStudio6 Player for Unity"; - public const string SignatureVersionAsset = "2.1.27"; + public const string SignatureVersionAsset = "2.1.28"; public const string SignatureNameDistributor = "CRI Middleware Co., Ltd."; #endregion Signatures From df8d962d4d4348f8da10731a20708326416b7900 Mon Sep 17 00:00:00 2001 From: SpriteStudio Date: Tue, 18 Nov 2025 16:54:11 +0900 Subject: [PATCH 12/13] Update SS6PlayerForUnity version to v2.1 --- plugins/player_settings/SS6PlayerForUnity.ss-playersettings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/player_settings/SS6PlayerForUnity.ss-playersettings b/plugins/player_settings/SS6PlayerForUnity.ss-playersettings index e67b61f..fc1f8a9 100644 --- a/plugins/player_settings/SS6PlayerForUnity.ss-playersettings +++ b/plugins/player_settings/SS6PlayerForUnity.ss-playersettings @@ -3,7 +3,7 @@ 1 SS6PlayerForUnity - SS6PlayerForUnity v1.1 + SS6PlayerForUnity v2.1 any sspj ssae From d11af6b5d6abe22b844dde9ecd8c72b5b5857571 Mon Sep 17 00:00:00 2001 From: SpriteStudio Date: Tue, 18 Nov 2025 16:59:57 +0900 Subject: [PATCH 13/13] Modify SS6PlayerForUnity settings and version Updated player settings for SS6PlayerForUnity, including version change and added notifications about incompatibilities. --- .../SS6PlayerForUnity.ss-playersettings | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/plugins/player_settings/SS6PlayerForUnity.ss-playersettings b/plugins/player_settings/SS6PlayerForUnity.ss-playersettings index fc1f8a9..82f179a 100644 --- a/plugins/player_settings/SS6PlayerForUnity.ss-playersettings +++ b/plugins/player_settings/SS6PlayerForUnity.ss-playersettings @@ -1,9 +1,17 @@ - + 1 - SS6PlayerForUnity + SS6PlayerForUnity_v2 SS6PlayerForUnity v2.1 + + このプレイヤーでは表示結果が異なるものがあります。\n +詳しくは下記のページをご覧ください。\n +https://github.com/SpriteStudio/SS6PlayerForUnity + This player has some incompatibilities.\n +Please see the following page for the detail.\n +https://github.com/SpriteStudio/SS6PlayerForUnity + any sspj ssae @@ -48,6 +56,7 @@ IPRM EFCT DEFM + SHDR mix @@ -80,9 +89,26 @@ bone mesh + + default + ss-blur + ss-bmask + ss-circle + ss-hsb + ss-move + ss-noise + ss-outline + ss-pix + ss-scatter + ss-sepia + ss-spot + ss-step + ss-wave + 0 0 0 0 + official