I'm working on a project and I stumbled upon a problem, to make things short, I have to make a procedural portal with the Chrono Trigger style.

Example of the portal

My approach was using a wave texture with polar coordinates to achieve that effect where lines merge with others and split apart again. But it doesn't come close.

The shader I have right now

My current nodetree

The main problem is probably the texture coordinates, I know it must be polar coordinates, but it has to be offset so it's not only converging lines in the middle, like a secondary center point, preferably multiple.

  • 1
    $\begingroup$ Sadly, the method that they used to make the original effect in Chrono Trigger is basically no longer available on modern computers. It only works in a 256 color graphics environment, by use of palette swapping. (You'll notice that the pattern remains fixed, it's only the colors that rotate through the pattern.) I used the technique quite a bit myself back in the day, but it can't be done that way in 24-bit graphics. $\endgroup$ Mar 4, 2022 at 18:04

2 Answers 2


Here's my try - There are several sections added together:


First start with a Normalized Object Texture Co-ordinate, offset by a mapping node. This will make the lines of the wave point towards the "center", but be offset like the reference image.

The next section uses the Distance output of a Voronoi texture node to make the "Vortex points" so to speak - more than one turbulent area.


The next section "Warps" the lines slightly with a noise texture so they look more "flowing"

The section after that adds a pixilation look to the waves (optional, depending on how low-fi you're going for).


This all goes into a wave texture, that is then "Quantized" by using several constant steps in a ColorRamp for the colors.


Lastly, there is a "Movement" Section (if you plan on animating), I used a value node to control the location of a Mapping Node connected to the input of the Voronoi texture. I used a math node to slow it down a little. If you want this to move as you animate, type #frame into the Value box.



(actual animation looks quite a lot better - I had to cut it way down to meet upload file-size requirements)

  • 2
    $\begingroup$ Ah this is awesome $\endgroup$ Mar 4, 2022 at 0:19

I had to give this one a shot since it's one of my favorite games.

My solution is far from complete and comes down to masking and messing around with different MixRGB settings. Screen and Soft Light both gave interesting results.

enter image description here

Animate the Value node to see the motion.

  • $\begingroup$ wave texture scale is set to pi $\endgroup$ Mar 3, 2022 at 23:37
  • $\begingroup$ Looks good.... still trying to re-create the graph to try it out. $\endgroup$ Mar 3, 2022 at 23:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .