Hi everyone! I’m gonna try out the Portal theme. I always loved Portals and I thought I’d give it a try. I’ll be using Unity and ShaderForge, and I’ll be aiming at making a magic-themed portal, with some parallax effects.
So now that I have a good base, I’ll start working on the timing. Here’s what I have so far.
Beware, this is HEAVILY WIP:
So, yup. Feedback is greatly welcome, as always! I’ll keep updating this thread with more WIPs as they come.
And if you have any questions regarding my process, feel free to ask!
Wowww! Beautiful colors man! Nice work so far. I’d love to see a breakdown of the nice caustic ripples you got in the center. Maybe a sneak at the texture too ^^. Can’t wait to see where you take this!
And sure, here’s the mesh I’m using for it. Basically made a sphere, cut it in half, put 0 in Y scale, then modified the geometry a bit to have some turbulences in it. Then adjusted the UVs a bit too, and that’s it.
For the texture, I simply made a caustics texture (Awesome Caustics Generator Here), then added a 50% opacity white layer over it so that it is not entirely transparent outside of the shapes.
As for the result for this effect alone so far, here it is. It is basically just two textures moving at different speeds and with different tilings, with a mask and with alpha/colors controllable through vertex colors (I animate it with shuriken).
I then have another similar mesh for the outside caustics:
Aaaaand that’s basically it for the caustics. Feel free if you have any other questions.
For the rune circle, I’m using a dissolve shader (similar to what you can see here, but messier https://www.youtube.com/watch?v=qCkdVX1RhJ4). I have those two textures for it:
The shader will go through the gradient and make the other texture appear progressively.
Not sure what that glowing thing is, but if that’s the small light that goes through the rune circle as it appears, then it’s simply a quad with a glow texture and some sparks, rotating from the center of the portal. Currently working on this.
Thanks for the fast answer,
your workflow is how I would have done it also, but are you tweaking the timing through a animator component or something else?
I just find it quite a mess when trying to do timing with shaders in unity.
All the timing (except for that glow at the beginning and probably a few others soon) is done through particles in Shuriken only.
All my meshes are in fact particle meshes. That’s what I got used to those last few months, so I thought that’s how I’d do it. I find it easier to simply say “Okay, you last 0.1s, and you last 0.5s. You there should last a bit less, so let’s give you a lifetime of 1.5s”.
ah, I can really see how the clockwork is working now! neat!
Also would you mind share how your displacement shader works, like a screengrab in shaderforge or similar? I assume its a displacement material when the portal opens at least
I thought about using it, but in the end, I didn’t.
I do use a distortion one for the runes once the portal is open, though. It is an ultra-shader (I use it on almost all my particles) I set up across my League fan arts, so it got very messy along the way. I should clean it up at some point. >_>
Basically what I do is this: I have a switch node that allows me to choose between two branches. Either just taking one distortion texture or taking the result of my emissive nodes. Then I only take the R/G result and multiply it by a value (so that I can tweak it later on). Here’s how that thing looks like:
I decided to shift the approach a tiny bit and give it a more unique feel. I’ll go into the “broken mirror” and “polygonal” style, inspired from the Italian comic “Lumina” (www.worldoflumina.com). Had the chance to meet the amazing authors back when I was working in Italy, and I just fell in love with their style. So, I’ll try this approach.
For this update, I mainly focused on refining the timing a bit (not perfect yet, but it’s better), and I started testing out the polygonal idea. Took me several hours to get the right shader for it (vertex offset in SF). I’ll also be using @ShannonBerke’s amazing process she used for Taric’s shield in League of Legends (more here: Taric - Bastion).
And also, there’s some parallax for the inner darkness of the portal. Subtle, but hey… Parallax is good. :^]
I’ll keep refining all of this. If you have any feedback, ideas or questions, feel free to leave a reply.
Thank you, Kasra! Hopefully I’ll have some time to work on this later on. I’d like to make something emerge from the portal, but not sure yet how I’ll do that. I’d like to have some kind of polygonal met to restrain the object coming out of it, then shatter when it breaks free. It’s a pretty big challenge and I don’t have any solid ideas on how to make it happen, but well… I still have time anyway.
EDIT: Hmm I won’t try this now, since it might be a bit too much, and I’m afraid it would deviate from the core of the effect too much. But I might try it later on as a separate effect.
Basically, I upgraded the timing a bit again, changed the values a bit, added some distortion to the polygonal effects… aaaand made that tunnel effect. It’s simply a cylinder with a front-face culling, a fresnel and some panning masks. I then created two new layers in Unity, and created three different cameras that will render each layer separately, each on a different depth. And that tunnel is basically sandwiched between the ground and the rest of the effect (I also have a fourth layer for the overlay particles).
So once again, feel free to leave a reply, especially if you have ideas, feedback or questions. I’ll reply as soon as I can.
How exactly did you do the crystal effect? Is each face broken, scaled and aligned vertically with a vertical moving mask? I’m having some trouble visualizing it.
Really pretty portal by the way. I love the distortion.
And yup, each face is broken down on the UV map. I then simply pan a texture over it (a simple glow texture) and tadaaa~. I also use that one texture’s values to offset the vertices by a bit and I use the same value as a distortion.
Lovely … That tunnel effect is amazing. Can you break it down in a video I am having trouble understanding “created three different cameras that will render each layer separately, each on a different depth” sorry for Noob question.
Looking really good man! Your values and hues are amazing, really well done. While I do like the crystal shards they feel slightly off, to me. They’re currently popping on and off seemingly randomly and feel a bit disconnected from the other elements. Perhaps having them glimmer in a nice directional manner would help. Hmmm. Anyhow, looking forward to more!