デモページ
■目的
この機能を使えば一つのアニメーションを複数のキャラクターで使いまわす事ができ大分作業量を減らせられますね。
個人的にはこういうところがSSの真骨頂だと思ってます。
SSのプロジェクトはアニメーションファイルが1つ
unity のhierarchyはこんな感じ
Viewにスクリプトを追加、内容は下記
using UnityEngine; using System.Collections; public class view : MonoBehaviour { Script_SpriteStudio_Root unichan; int currentCellMapNo = 0; void Start () { unichan = GameObject.Find("unitychan_3head").GetComponent(); myCellMapChange(unichan, 1); } void myCellMapChange(Script_SpriteStudio_Root trgt, int cellNo) { Library_SpriteStudio.Control.CellChange[][] myCellMap; myCellMap = Library_SpriteStudio.Utility.TableCellChange.Create(trgt); Library_SpriteStudio.Control.CellChange[] before = myCellMap[0]; Library_SpriteStudio.Control.CellChange[] affter = myCellMap[cellNo]; for (int i = 0; i < before.Length; i++) { string partsName = before[i].DataCell.Name; for (int s = 0; s < affter.Length; s++) { if (partsName == affter[s].DataCell.Name) { before[i] = affter[s]; } } } trgt.CellMapChange(myCellMap); } } |
■問題
フレームの途中で参照セルを変更していたりすると対応できないので注意が必要です。
差し替え後のセルマップの状態を意識しながら行えば問題なくできます。
最近のコメント