Mathew Varkki: Sketch #18 WIP

unity
shaders
sci-fi

#1

Hey guys and gals!
I had the idea to make some sort of “Holo Deck” and the effects that come with it.

For now, I just started playing around with the “generate environment” effect.

HoloDeck1

Updates will come at the end of the week.


#2

Looks good so far! It’d be neat to see the wall panels start glowing or something before the projection appears, to make it seem like it’s emerging out of them. Looking forward to seeing more of this.


#3

Nice idea! I’m also very curious what is coming next :smiley:


#4

Thanks!
The walls are on my To-Do list. I have different ideas what to with them. Thought about putting projectors in the scene that turn on.
Furthermore I want to let the walls fade away, and having the hologram world expand “the room”.


#5

Looks really nice! :smiley:
Did something a bit like this years ago though the tech might be a bit outdated by now. Just in case you’re interested in my approach feel free to check it out and I’m happy to explain it a bit :slight_smile:


#6

Looks neat!
I will continue to work on this sketch this weekend. I try to take the time for a little breakdown of my approach.

Sidenote: quite a few german devs here! :slight_smile:


#7

Looking forward to it! :slight_smile:


#8

Sadly I had to use my time for other things that popped up (good things!).

But I promised a little rundown what I did before:

Most of the things are made via Shader. I used Shader Forge, because iterating with it is faster than just using code. (I am using version 2017.3)

First of, I made a script that tells the Shader two things.

  1. position of the object that has this script. (naming it Init isn’t right though, because it still updates)
  2. a float to control the scale of the “imaginary” sphere.

The Shader Setup is quite forward as well:

I use the “Falloff” as extra fine tune control.

As for the vertex offset I use a noisetexture as mask and use the “imaginary sphere” as time component for the lerp. I have 3 variables for each direction. (Thinking about making it more dynamic/automated)

The Emission works quite similar. I lerp between the noisetexture and 0 like above and use it as U. I then assign a ramp texture to it and it’s done.

At last I animated the public variable “radiusScale” with Unity’s Animation Tool. (Yes you can "animate almost anything with it, even just simple values)

This is not really a tutorial. Just a little look at how I tackled it. Probably there are better ways. And if so tell me and all the others!