Search Unity

Rotate texture particle system locally when using horizontal billboard

Discussion in 'General Graphics' started by varshit, Feb 15, 2018.

  1. varshit

    varshit

    Joined:
    Dec 6, 2016
    Posts:
    4
    i have a particle system created using a texture and kept it as horizontal billboard in the render settings but when i try to assign this to an empty parent object and rotate the parent it is not rotating towards the parent. but if i set it to billboard i am not getting the desired output. please help me how to emit particle towards the parent rotation when using horzontal billboard or make it billboard and get the desired way of output.
    1. first image: desired output but doesnt rotate when the parent object rotates
    2. second image: rotates but the emmission of the particles is not like in the first image
     

    Attached Files:

  2. Torbach

    Torbach

    Joined:
    Jan 3, 2013
    Posts:
    10
    in order to have rotation inheritance you can do two things

    older unity -> renderer "Mesh" > quad

    OR

    Unity 2017.x+ you can assign in render view to "Local"
     
  3. varshit

    varshit

    Joined:
    Dec 6, 2016
    Posts:
    4
    renderer "Mesh"> quad doesnt give me the same result. and i am in latest unity but cant find render view any where. please help
     
  4. Torbach78

    Torbach78

    Joined:
    Aug 10, 2013
    Posts:
    296
    Renderer > Render_Alignment > Local
     
    Egemean likes this.
  5. varshit

    varshit

    Joined:
    Dec 6, 2016
    Posts:
    4
    seems like there is no option as such in 2017.2 and i am installing 2017.3 and hope there is option available and it works as i wished. thanks for your reply though
     
  6. alizeb

    alizeb

    Joined:
    Sep 11, 2017
    Posts:
    3
    i have unity 2017.3.1, but still there is no renderer allignment option neither billboard allignment option. So what i should do. Capture.PNG
     
  7. Torbach78

    Torbach78

    Joined:
    Aug 10, 2013
    Posts:
    296
    "Horizontal Billboard" won't give you the options. Switch to render > "Billboard"
     
    richardkettlewell likes this.
  8. alizeb

    alizeb

    Joined:
    Sep 11, 2017
    Posts:
    3
    After switching to "Billboard", still it is not rotating.
    Capture.PNG
     
  9. alizeb

    alizeb

    Joined:
    Sep 11, 2017
    Posts:
    3
    By selecting the local in Render Alignment, it works. thank you so much for your help
     
  10. veluri

    veluri

    Joined:
    Feb 21, 2018
    Posts:
    5
    I had this issue aswell. when we are using particle renderer with billboard, the rendered particle direction is always the same despite in which direction the particles were emitted. After searching a bit, i found that, we can use a script to set the rotation everyframe.

    "In very short : your need a monobehaviour script on your player, in this script get a reference to your particle system, in the Update update the start rotation of the main module of your particlesystem with the player rotation."

    https://www.reddit.com/r/Unity3D/co..._horizontal_billboard_rotation_based/e8om9oz/

    This worked for me! hope it helps others.
     
  11. Torbach78

    Torbach78

    Joined:
    Aug 10, 2013
    Posts:
    296
    unity out of the box handles this but you must have non-zero speed.
    renderer > render alignment -> velocity
    • horizontal billboard has no render alignment override
    • billboard has render alignment (velocity),
    • start speed set it to .0001 (this establishes the vector)
    • use 3D start rotation (90x or -90x lacal cone shape this turns a billboard into the plane of existence you want (e.g. horizontal)
    • for world_based you compensate for the world Up and any local shape/emitter rotations
    • note : world_based often needs cull:none to see both sides of the particles
    velocityParticles.gif
    world based vs local
     
    Last edited: Oct 12, 2019