Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
2
Question by wolferey · Apr 18, 2011 at 12:15 PM · animationshadereffectfx

Aura effect, need tips/advice

Hi, I am trying to create a sort of smoke-effect around the character, sort of like an evil aura very much like this (with perhaps a little distortion to make it appear like a flame):

alt text

I was wondering how to go about doing this. The character will be animated and moving around. We tried doing it with the unity particle system, but the effect is very static (texture outline of the figure) and hard to control, with the effect sort of following him around like a trail instead of being around him at all times.

We also tried doing particles in 3dsmax which was connected to his bones, but its not really good-looking, plus it generates a lot of geometry for the particle sprites.

My thought was, if it would be possible to do a shader that creates a sort of animated, transparent material, and the material would be applied to 4-6 animated planes around him, creating something like the screenshot above. Are there any better ways?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
7

Answer by taoa · Apr 18, 2011 at 12:56 PM

From what we can see of that picture, it's a combination of particle effects (pinky smoke around the thighs) and multiple redraws of the character's silhouette.

No need to explain how to make the particle effects.

As for the silhouette, it's more complicated. Therefore more interesting :)

I would first make use of Unity's RenderWithShader feature on the character. Combined with a shader that would only draw the silhouette's color, you'd end up with a render texture containing nothing but that silhouette (Make sure you don't try to use the game's camera for this, just make a new one in your script and use the nice Camera.CopyFrom function. I once tried to do that on the same camera and almost got crazy).

After that it's just a matter of drawing a series of quads around the character (I'd suggest drawing them before the character but turning ZWrite off and then draw the character over that), quads that you'd have textured with your render texture. By making the quads more and more distorted on the top (higher and larger) while keeping the base the same for all quads, you should end up with something very similar to your screenshot. Using a traditional alpha blending in this series of transparent quad should give you this accumulation effect.

If you want this effect to be like a trail, you'll have to draw your quads at previous positions of the character. Positioning and properly texturing all those quads will be probably the most annoying part of all this :p

And if you also want each silhouette of the character to be of a particular time before the present frame (say you want the 7th silhouette to be of 7 frames - or fixed fractions of a second - before), then you'll have to store as many render textures as you want different silhouettes. So you will probably want to consider to not do your RenderWithShader on the entire screen but just on the bit where the character is, so that you can use much smaller render textures.

I probably scared you to death with all that. But this is all feasible ^^ Just ask if you have more questions.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image wolferey · Apr 18, 2011 at 05:15 PM 0
Share

$$anonymous$$ore like excited me to death xD Let's see, where to start. The particle part is ok, no need to delve deeper there.

Getting the silhouette color is the part I don't quite see yet. How would I go about doing that? I am thinking a separate camera attached to the character pointing at it at all times, putting the character on a layer so the camera can cull everything else besides the char, and then do a render texture, but then what?

avatar image taoa · Apr 19, 2011 at 08:08 AM 0
Share

Then apply your render texture on a quad (billboard) that is drawn at the same place than the character (placement will require some fine tuning, but you'll manage! ^^). Of course, you'll have to stretch the quad a bit towards up, and move away the top two corners a little bit to obtain a result like in the picture. Or do whatever you want if you want another result. Rince and repeat a few times to get the accumulation effect. Done. Sell. Win billions.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

How can i divide mesh into single polygons(tris) and then just make them fly randomly out(making like breakup effect) 1 Answer

Shaders: Overwrite something? 1 Answer

Force Field Texture/Shader? 1 Answer

Vertex based screen deformation fx 0 Answers

Vortex Image Effect 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges