• 日本語
  • 【要望】表示順序にフォルダの概念と、スロット毎の表示深度指定キーが欲しいです

  • Editado
Related Discussions
...

こんにちは。いつもSpineにお世話になってます。
β版でウェイトスワップ機能が実装されとても嬉しいです。

https://github.com/EsotericSoftware/spine-editor/issues/635

以前から表示順にフォルダがほしいなと思っていたのですが、
最近それがロードマップに追加されたことを知ったので、改めてスロットの表示順序に要望を提出したいと思いました。
上記のロードマップに+1を入れるとともに、下記の2つを将来的な機能実装として要望したいと思います。

■表示順にフォルダの概念


 ※画像は想像の産物です

ツリーの視認性を上げるとともに、表示順序アニメ中にフォルダ単位でスロット表示順をまとめて操作したいです。
例えば、「前腕フォルダ」を作成し、この中に「前腕」と「腕輪」スロットを入れた場合、
アニメ中の「前腕フォルダ」の表示順操作は、前腕と腕輪の2スロットをまとめて操作することになります。
また制作したフォルダには後から必要に応じてセットアップ画面などでスロットを追加したいです。

■スロット毎の表示深度指定キー

現在、表示順序は全スロット順をキー1つで管理する仕様のため、
スロット1つの表示順変更は相対的な記録ではなく、全スロットの表示順決定という絶対値を示しています。
この仕様は部位ごとの表示順序に小回りがきかないため、後述するスキンの追加などで、表示順の修正が大変になるケースがあります。

そこでスロット1つ1つが表示深度(z値)を持ち、それをドープシートでキーとして打てる仕様を要望します。
イメージとしてはドープシートに表示深度のキーフレームがスロット名で追加され、
ツリーのスロット表示順操作はz値の増減を意味します。

■要望の背景と機能実装で解決できる点

この要望は、後から衣装パーツの追加などで新規スロットが必要になった際、
現状の表示順の仕様だと、既存アニメの修正が非常に大変という背景から来ています。

例えばこのような腕を腰の後ろに回して動かない男性と、それと関係なく剣が10フレームごとに盾の後ろと手前を行き来する100フレームの既存アニメがあります。
そこへ先程のような「腕輪」の衣装差分のために新規スロットが必要になりました。
腕輪スロットのセットアップ上の配置は前腕スロットのひとつ上に置きます。

セットアップでは前腕は腰より前面にあるため、新規に作成した腕輪スロットは改めて腰より後ろに表示順を修正する必要があります。

腕の表示順を修正し、この腕は以後動かしていないので、よし、これで修正完了…

とはなりません…。剣の手前移動と共に次の10フレーム目で再び腕輪がデフォルトの表示順に戻るので、
同様の修正を、腕以外でも表示順を操作したフレーム全てに手作業が発生します。
この一連の作業が全既存アニメに必要となり、衣装追加で新スロットが必要になる度にまた全既存アニメに修正が発生します。
予め表示順序別にスロットを用意して、セットアップから表示順を動かさずオンオフで賄う…という手法もありますが、部位によって適さないケースも多いので悩ましいです。
このように表示順の全スロットをキー1つで管理する仕様は、プロジェクトの途中でスキンを追加する際、新規スロットが必要になった場合かなり大変になると感じていました。

上記の背景から、
スロット表示順にフォルダの概念があれば、予め 手や前腕など部位ごとにフォルダを用意してアニメ中の表示順操作はフォルダ単位で行い、後から部位別に新規スロットが必要になった際には、フォルダへ追加することで、
表示順の指定をスロット毎にZ値を指定する形でキーを打てれば、キーフレームのコピー&ペーストで表示順の修正が大幅に削減されると思います。
スロット複製の際、アニメ中のアタッチ操作キーを複製するかダイアログが出るようにz値の複製もできたら捗りそうです。

個人的で拙い要望提案となってしまい恐縮ですが、ご一考いただければ幸いです。

~Translated from DeepL~

I would like to have the concept of folders in the display order and a key to specify the display depth for each slot.
Hello. Thank you very much for your support of Spine.
I am very happy to see the weight swap feature implemented in the beta version.

https://github.com/EsotericSoftware/spine-editor/issues/635

I've been wanting folders in the display order for a while now.
I recently learned that that has been added to the roadmap, so I wanted to submit a request again for the display order of the slots.
In addition to adding +1 to the roadmap above, I would like to request the following two items as future feature implementations.

■The concept of folders in the display order


 *The image is a figment of my imagination.

I would like to improve the visibility of the tree and also to collectively manipulate the slot display order by folder in the display order animation.
For example, if I create a "forearm folder" and put "forearm" and "bracelet" slots in this folder
The display order of the "forearms folder" in the animation will be manipulated by grouping the two slots, forearms and bangles, together.
I would also like to add slots to the produced folder later on the setup screen, etc., if necessary.

■Display depth designation key for each slot

Currently, the display order is controlled by a single key for all slots.
Changing the display order of one slot is not a relative record, but an absolute value of determining the display order of all slots.
Since this specification does not allow for small changes in the display order for each part, it can be difficult in some cases to modify the display order when adding skins, etc., as described below.

Therefore, I would like to request a specification where each slot has a display depth (z-value) and can be keyed on the dope sheet.
The image is that a keyframe of the display depth is added to the dopesheet with the slot name.
The order in which the slots are displayed in the tree means that the z-value can be increased or decreased.

■Background of the request and what can be solved by implementing the feature

This request was made because the current display order specification does not allow for the addition of new slots when new costume parts are added later.
This request comes from the background that it is very difficult to modify existing animations with the current display order specification.

For example, there is an existing 100-frame animation of a man with his arm behind his waist and not moving, and a sword that moves back and forth between behind and in front of a shield every 10 frames, regardless of the arm's position.
Then a new slot is needed for the "bracelet" costume differential as described above.
The placement of the bracelet slot in the setup is one above the forearm slot.

Since the forearms are in front of the hips in the setup, the newly created bracelet slots will need to be reordered to appear behind the hips.

Corrected the display order of the arms, and this arm has not been moved since then, so okay, that's the fix...

This is not the case.... Since the bracelet reverts back to its default display order in the next 10 frames, along with the sword moving to the front, I'm going to make a similar correction for the rest of the arms.
The same modification will have to be done manually for all frames where the display order was manipulated, except for the arms.
This series of work is required for all existing animations, and every time a new slot is needed for an additional costume, all existing animations will need to be modified again.
There is a method to prepare slots by display order in advance, and then turn them on and off without moving the display order from the setup...but this is not suitable in many cases depending on the part, so it is a problem.
We felt that such a specification in which all slots in the display order are managed with a single key would be difficult to improve by adding more skins in the middle of a project.

With the above background in mind
If the concept of folders for slot display order is available, it would be possible to prepare folders for each part of the body, such as hands and forearms, in advance, and use each folder to control the display order during animation, and when new slots for each part are needed later, add them to the folder.
If the display order can be keyed in the form of specifying the Z value for each slot, the modification of the display order would be greatly reduced by copying and pasting key frames.
It would be progressive if we could also duplicate z-values so that when duplicating slots, a dialog box appears asking whether to duplicate the attached operation key during animation.

I am sorry that this is a personal and poor request proposal, but I would appreciate your consideration.

Not at all, they are very nice requests! We appreciate the clear presentation and the separate explanation for why you want the new features.

For draw order folders, I agree with their usefulness. The main issue is the complexity for manipulating them. Creating and deleting folders needs to modify existing animations in a way that makes sense.

Currently when you add a new slot it goes to the top of the draw order. When you move the new slot in the draw order, it also moves in the draw order keys for all animations. You can often avoid changing every draw order key in every animation by placing the slot in the setup mode draw order.

There are situations where this isn't possible, for example when some animations need a draw order different from setup mode. This will be a problem even with draw order folders


Spine can't know what you want to do with the draw order when you add a new slot, so sometimes animations need to be modified.

For a z-index value for draw order, being able to key each slot's z-index means that the dopesheet would have many timelines. This isn't great for performance, though the timelines could be collapsed into a single timeline when exported.

I think z-index is also not great for usability. The many timelines don't directly correspond to the draw order, they set the z-index and the draw order is computed as a result. Looking at z-index values doesn't make it clear what the result will be.

I think draw order folders may make z-index unnecessary. One idea for folders is to allow keying the folder instead of the entire draw order. That means folders reduce the number of slots in a draw order key to a much smaller number. The current approach to draw order works pretty well for a small number of slots.


そんなことはありません、とても素晴らしい要望です! 分かりやすい表現と、なぜその新機能が必要なのかを個別に説明していただき感謝します。

表示順序フォルダーについては、その有用性には同意します。主な問題は、それらを操作するための複雑さです。フォルダの作成と削除は、既存のアニメーションを納得できる方法で修正する必要があります。

現在、新しいスロットを追加すると、表示順序の一番上に置かれます。新しいスロットを表示順序で移動させると、すべてのアニメーションの表示順序キーにも移動が反映されます。設定モードの表示順序でスロットを配置することで、多くの場合、すべてのアニメーションの表示順序キーを変更せずに済みます。

しかし、あるアニメーションが設定モードと異なる表示順序を必要とする場合など、これが不可能な状況もあります。ただそれは表示順序フォルダーを使用した場合でも同じです。新しいスロットを追加したときにユーザーが表示順序をどうしたいのかをSpineが判断することはできないため、アニメーションを修正する必要が発生する場合はありえます。

ただ、表示順序のz-indexの値については、各スロットのz-indexをキーにできるということは、ドープシートが多くのタイムラインを持つことになってしまいます。エクスポート時にタイムラインを1つに折りたたむことはできると思いますが、パフォーマンス上あまり良いことではありません。

また、z-indexは使い勝手の面でもあまり良くありません。多くのタイムラインは表示順序に直接対応しているわけではなく、z-indexを設定し、その結果として表示順序が計算されるのです。z-indexの値を見ただけでは、その結果がどうなるのかが明確ではありません。

表示順序フォルダーを使えば、z-indexは不要になるのではないかと思っています。フォルダーの一つのアイデアとして、表示順序全体ではなく、フォルダーのキー設定を可能にするというものがあります。フォルダーは1つの表示順序キーで扱うスロット数をかなり少なくすることができます。そして現在の表示順序のアプローチは、少ないスロット数においてはうまく機能します。

こんにちはNateさん。要望を見てくださってありがとうございます。
意見が聞けて嬉しく思います!

>Spine can't know what you want to do with the draw order when you add a new slot, so sometimes animations need to be modified.
そうですね。この点こそが今回の要望で私が最も重視している改善点です。
新規スロットを作った際に既存アニメに発生する描画順の修正を容易にしたい、
そのためにアニメ中の描画順序をスロットからスロットへ継承したりコピー&ペーストするなんらかの手段が欲しいと思っています。



例えば先程の腕輪の例では、このように装飾を増やしたいと、後からオーダーが入ることがあります。
描画順フォルダが、アニメ中の描画順をフォルダ単位で操作できる仕様であれば、
セットアップ画面で先の例のArm & Bangle フォルダ内に新規装飾スロットを入れるだけで、既存アニメーションの描画順修正はほとんど削減されます。
これは予めarmフォルダを作成し、5フレーム目にarmフォルダを腰の後ろに描画する、といったフォルダ単位の操作でアニメを作っていた場合に機能します。

しかし描画順フォルダは一つの対処法ではありますが、完全ではありません。
描画順を操作できるフォルダは、衣装の装飾など、予めスロットが増える事を予期し、用意した場合は良い予防法になりますが、
実際の開発上ではどこの部位に新規スロットが必要になるか、予め想定しきれないケースも多いと思います。

また、袖と袖の裏側2つのスロットを使った衣装などは、袖の裏側は手首より後ろ側に描画する必要があるため、同じフォルダに入れたくないケースもあります。
このように描画順フォルダだけでは対応できない状況が出てくることが予想されます。

Z値の提案はその解決法の一案ですが、
スロット複製の際、アニメ中の描画順操作を継承するか選べる、
フォルダを作る際、新規フォルダ作成だけでなく、既存スロットの描画順を継承して作成する、といったアプローチもあると思います。

ただし、「描画順の修正を容易にする」という目的を、多様な状況に柔軟に対応できる形で、実現するには、
描画順操作をスロット単位でキーを指定できて、コピー&ペーストする手段があれば一番便利なのではないでしょうか。

現在はアニメ中の描画順序をスロットからスロットへ継承したりコピー&ペーストする手段がないので
アニメーションが量産される開発後期になるほど、新規スロットを作る際の描画順修正コストが上がります。
将来的にこれらが解消されるより良い機能が実装されたら私はとても嬉しく思います!どのようなアプローチでも構いません!

ここまで読んでくださってありがとうございます。


Translated from DeepL


Hello Nate. Thanks for taking a look at the request.
Glad to hear your opinion!

Spine can't know what you want to do with the draw order when you add a new slot, so sometimes animations need to be modified.
Yes, I agree. This is the improvement I am most interested in in this request.
I want to make it easier to modify the draw order that occurs in existing animations when you create a new slot, and
I would like to have some way to inherit or copy/paste the drawing order from slot to slot in the animation.


For example, in the previous example of the bracelet, we may receive a later order to add more decorations like this.
If the drawing order folder has a specification that allows folder-by-folder manipulation of the drawing order in the animation, we would like to be able to
If the setup screen allows for the creation of new decoration slots in the Arm & Bangle folder of the previous example, the modification of the drawing order of existing animations can be reduced to a minimum.
This would work if the animation was created in a folder-by-folder operation, such as creating an arm folder in advance and drawing the arm folder behind the hips on the fifth frame.

However, while folders in drawing order is a workaround, it is not perfect.
Folders that allow manipulation of the drawing order are a good preventive measure if the number of slots is prepared in advance, such as for costume decoration, but they are not perfect.
However, in actual development, there are many cases where it is not possible to anticipate in advance which part of the body will require a new slot.

In addition, there are cases where costumes using two slots for sleeves and the backside of sleeves need to be drawn on the back side of the sleeves behind the wrists, and therefore should not be placed in the same folder.
It is anticipated that there will be situations like this that cannot be handled by the drawing order folder alone.

The z-value suggestion is but one possible solution to that problem.
When duplicating a slot, the user can choose whether to inherit the drawing order operation during the animation.
Another approach would be to create folders not only by creating new folders, but also by inheriting the drawing order of existing slots.

However, in order to realize the goal of "making it easy to modify the drawing order" in a way that can flexibly respond to a variety of situations, it is necessary to
It would be most convenient if there were a way to specify keys for drawing order operations on a slot-by-slot basis, and a way to copy and paste them.

Currently, there is no way to copy and paste or inherit the drawing order from slot to slot during animation.
The later the animation is mass-produced, the higher the cost of modifying the drawing order when creating a new slot becomes.
I would be very happy if in the future a better feature could be implemented that would solve these problems! Any approach would be appreciated!

Thanks for reading this far.