Nate

Blog: 3.6 beta has clipping



Feedback is welcome! :clap:
User avatar
Nate

Nate
  • Posts: 9656

Abelius

Great!

My only doubt is... could this be used to hide another skeleton's attachment? (being both skeletons in the same project)

That's the main use I'd have from this feature. Something like, erm... an enemy sword dissapearing behind a character's stomach (the center of it, not the border).
User avatar
Abelius
  • Posts: 150

mfedorov

Wow! Amazing!
User avatar
mfedorov
  • Posts: 261

Mario

Abelius: no, the clipping is limited to the skeleton the clipping attachment belongs to.
User avatar
Mario

Mario
  • Posts: 2271

Abelius

badlogic wrote:Abelius: no, the clipping is limited to the skeleton the clipping attachment belongs to.
Fair enough. Mmm... and what about when we have skeleton attachments? Would it be possible then? :happy:
User avatar
Abelius
  • Posts: 150

Mario

Very likely. But that first requires skeleton attachments to be implemented :)
User avatar
Mario

Mario
  • Posts: 2271

majzim

I have a question. Will we be able to put a clipping mask on each image, or each bone, or will this be one clipping per skeleton?
User avatar
majzim
  • Posts: 29

Mario

You can have multiple clipping areas per skeleton. Each clipping area is "active" from its place in the draw order to the "end slot", also defined on the clipping attachment. You can have multiple clipping areas as long as they do not overlap in the draw order.

Please note that clipping is a heavy calculation at runtime. Use it judiciously.
User avatar
Mario

Mario
  • Posts: 2271

Shiv

is there any way to put some feather effect in clipping or making the clipping from a path which gives a much smoother and round edges ?
User avatar
Shiv
  • Posts: 51

Nate

No, this clipping must be a polygon, sorry. Clipping with feathering would probably be done using an image mask and require shader support.
User avatar
Nate

Nate
  • Posts: 9656

Shiv

requirement of this is highly unlikely but is there a way to invert masking ?
User avatar
Shiv
  • Posts: 51

Nate

No, unfortunately inverting the clipping polygon introduces too many complexities to be able to support it. However, runtimes are free to implement clipping how they like. We may add an option to runtimes that can support it to perform clipping using the stencil buffer. This has other downsides (affects shader pipeline, breaks batching, etc) but does allow for inverting the clip polygon.
User avatar
Nate

Nate
  • Posts: 9656

soni31884

Hi Nate,

I tried to use clipping in cocos2dx with spine-beta runtime branch. I tried to use the alien example exporting in 3.6.16-beta . Upto 4 points in clipping it was working in cocos2dx , after 5-6 points the alien does not load to the scene. I think may be the computation might be the problem.Let me know if it can work.

Regards
Soni
soni31884
  • Posts: 5

Mario

Could you send your modified alien example to contact@esotericsoftware.com?
User avatar
Mario

Mario
  • Posts: 2271

soni31884

I sent.
soni31884
  • Posts: 5

Mario

User avatar
Mario

Mario
  • Posts: 2271

Mario

The issue has been fixed, thanks for reporting!
User avatar
Mario

Mario
  • Posts: 2271

EvilEntity

Ive been playing with clipping with libgdx backend, works great! Very useful.
EvilEntity
  • Posts: 36

Channfree

Is it possible to say you wanted to animated a painting and you wanted a subject to move off of the frame. Could you mask the whole painting or rig so that works and you not working with a lot of extra space.
User avatar
Channfree
  • Posts: 33

Erika

Channfree wrote:Is it possible to say you wanted to animated a painting and you wanted a subject to move off of the frame. Could you mask the whole painting or rig so that works and you not working with a lot of extra space.
Sure, but isn't it better to "mask" the subject through mesh creation so that they can move and then clip just the exceeding part of the painting that needs to not be shown outside?
User avatar
Erika

Erikari
  • Posts: 2417

Channfree

Very true
User avatar
Channfree
  • Posts: 33

Erika

I was wondering, I was testing Spineboy creating a random clipping around him, I exported it and then imported it in the web widget test file I had, the animation is working, but there's no clipping at all, is it unsupported?

Also I noticed that when Spineboy shoots it looks like the additive blending is affecting the body but not the background even if it's set up as a color inside the widget.
User avatar
Erika

Erikari
  • Posts: 2417

Nate

Clipping is supported with all runtimes. Did you update your runtime to the latest 3.6?

I'm not sure about what you are seeing with additive. Got a screenshot?
User avatar
Nate

Nate
  • Posts: 9656

Erika

I previously used the file Badlogic sent me a couple weeks ago,
I just updated and yes, clipping is supported, tint black isn't supported though, and that's what I see:
test-webwidget.png


Also in case you need it, here's all the files


---

And If I change the color of the tint:
test2.png


---

Testing the additive setting with grey instead of red proves additive blending works also perfectly fine. It's just the tint black that has a funny behaviour...
You do not have the required permissions to view the files attached to this post.
User avatar
Erika

Erikari
  • Posts: 2417

Mario

Whoops, there was a bug. I fixed the bug. Please get the latest spine-widget.js from here spine-runtimes/spine-ts/build at 3.6
User avatar
Mario

Mario
  • Posts: 2271


Return to Editor