#Making a portal clone with Three.js

39 messages · Page 1 of 1 (latest)

jade granite
#

I started this project some time ago with the objective to make a clone of the portal 2 editor with three.js, this is what I was able to emulate so far. I am having some ideas to turn this into my own game using the portal games mechanics which I have already implemented as well as some abilities from other games like zelda botw/totk and metroid prime.

wet axle
#

Once again, your work is immaculate. It's been awesome to see your progress over the last few weeks. Super cool!

jade granite
#

Some updates of the portal clone made with three.js, now items can go through portals, I also started to work with gels.

wet axle
#

Awesome work, I love seeing your updates

jade granite
jade granite
molten oasis
#

This is cool, but do you want the public to be able to play with this eventually?
If so, you may want to change the design somewhat, so you don't have to worry about IP-related issues.
Doesn't mean the core mechanics can't stay the same, though.

jade granite
jade granite
#

Three.js portal project weekly update: light bridges now have collisions, go through portals, and there can be many in a level.

wet axle
#

Nice! Was adding their interaction with portals difficult?

jade granite
jade granite
#

Whenever the player walks through a Tractor Beam they will float through the beam it emits.

wet axle
#

Are you doing your own shaders for the bridge and tractor beam?

jade granite
#

The blue beam pushes the player forward, away from the receptacle, and the orange beam pulls the player in towards it.

jade granite
#

Making a portal clone with Three.js

quasi quartz
#

when goin thru portal you are resetting player's position right? how about the shoot?
how does it interact when i open portal to my back, and tryin to shoot the portal?

brave trench
jade granite
halcyon depot
jade granite
# halcyon depot how do u make portals like that

I am using screen-space shader, each portal mesh had a special screen-space shader and associated texture uniform which mapped each pixel to its screen-space coordinates, and then used those screen-space coordinates to get the pixel in its associated texture uniform. They also included screen dimension uniforms in order to keep rendering correctly even after screen resizes.

I am planning to release a resumed version of the portal rendering in the future, but this helped me a lot with it: https://github.com/barnabasbartha/Threejs-Portal

GitHub

Experiment with WebGL, Three.js, OffscreenCanvas with Web Worker, stencil buffer and an event-driven architecture using RxJs with a DI lib. - GitHub - barnabasbartha/Threejs-Portal: Experiment with...

#

Implemented a sonar effect to scan the world while the player chooses which object to recall in time.

halcyon depot
terse tide
#

Hello @jade granite

#

nice to meet u
i am looking for a senior three.js developer who can join our team

wet axle
#

@jade granite , you're on fire! Your consistent progress is super impressive.

jade granite
#

Speedy thing goes in, speedy thing comes out.

jade granite