How to get around Stretched BIllboard Bug?

Hi,

Could anyone tell me how to non-uniform scale a particle without it offsetting from the emitters origin? It seams that “stretched billboard” also offsets the center of the particle by the “Length Scale” I’ve been unable to non-uniform scale a particle without its position offsetting which sort of defeates the purpous.

Thanks for any help!
-Matt

Looks like someone had this problem in the developer preview as well, EhsanNeo posted on page 20 with a pic:
http://forum.unity3d.com/threads/116833-Shuriken-the-new-particle-system/page20

Notice how the particles when stretched are not emitting from the origin of the emitter but are offset by the length value. Any ideas how to fix?

Any help on this. Unity support told me its not a bug but I’d be supprised if this is working as intended. Does anyone have a way to non-uniform sclae a particle without having it offset from emiter center?

Thanks for any Help.

It is not a bug and this works as intended.

Stretched billboard is well…stretched and does what it says it does. The length value is the amount it will be stretched by.

The reason it looks as it if offsets, is simple. Your texture has transparent space at the bottom, so when it stretches the particle, that space will be stretched as well. The more you stretch it, the more that transparent space becomes larger making you believe that it doesn’t spawn in the right place when in reality it does.

You can see for yourself by turning on the wireframe option while playing around with it you will see what is happening. You can also use a texture that has no transparence and it will be really clear.

I don’t know what you are trying to achieve but I think what you’re looking for is to stretch only the top part of the particle without affecting a certain portion of the bottom part. This is not possible with the particle system. A particle is just a quad and the stretched rendering option is already only moving 2 out of the 4 vertices. Thats how it makes it look stretched.

A simple non-shuriken solution would be to just use a skinned plane to do this and uv map your image on there.

Thanks for the reply Django,

According to the documentation:
Stretched Billboard Particles are stretched using the following parameters

  • Camera Scale How much the camera speed is factored in when determining particle stretching
  • Speed Scale Defines the length of the particle compared to its speed
  • Length Scale Defines the length of the particle compared to its width

I am using Length scale. Length scale should define the particle’s length compared to its width. With the current implementation as far as I can tell their is no way to non-uniform scale a particle without the offset. I understand that only two verts are being moved but would assume the particle would offset from its origin to compensate.

The simplest example of an fx that would use non uniform scaled particles are slashes. Check out 39-43 sec in on this video of a game I made previously for an example:

Notice how the slash stretches but stays at the emitter origin?

With a simple slash fx I could easily write some code to scale a mesh over time but with a huge number of other fx non uniform scaling particles is hugely important. Looking through my old demo real posted below (I’ve moved on from doing fx professionally) their are a lot of places I non-uniform scale large numbers of particles in a way that I’d need the particle to scale around their origin. These fx could not be converted into meshes in a practical way.
http://www.mhoesterey.com/demo/Demo.AVI

What I’m getting is this may have been intended functionality and I may be in fact asking for a new feature. Shuriken has a ton of great features I never had when working on other games and I just assumed such a core feature of most particle systems would be included. Not finding it I figured I was either missing something or it was a bug. I’ll make a feature request for particles to scale non-uniformly around their origin.

Thanks,
-Matt

I agree I would love the functionality to change the pivot point or center point of the stretched particle. I don’t think this is a bug, but rather its missing a feature.

My current work around is to use the normal billboard and add additional padding on the particle’s texture to allow the pixel information to look rectangular.

I have experimented with offsetting the material in the material editor but that doesn’t help with the stretched object’s axis point so for now I am stuck wasting pixels and sticking with the normal billboard.

Sorry for bringing back that old topic, but where exactly do you add additional padding and how much? Because I tried several things and couldn’t get it to look fine.

Personally I’ve moved completely away from using Shuriken. With padding I would guess you would pad by the amount the particle is scaled. E.g. if your doubling the length double the texture resolution with the actual fx only on one side. (this is horrible) Some of the new features they added in 5.3 help but they still have not implemented core features that would make this system more usable.

I highly recommend Particle Playground as an alternative. They don’t have non-uniform scale yet either, but the trail particles are absolutely fantastic for achieving many of these FX.