Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

How do I achieve these effects?

Discussion in 'General Graphics' started by InsaneGoblin, Mar 18, 2019.

  1. InsaneGoblin

    InsaneGoblin

    Joined:
    Jun 2, 2013
    Posts:
    239
    Been working for several days, watching every guide possible, and cannot understand it. I want to achieve this: https://www.behance.net/gallery/53941765/Tiny-Rooms

    The pastel/waxy feel of the walls, mixed with that warm glow everything receives from the light, unknown amount of lights, possibly baked GI...

    I'm a bit lost, as I am technically-minded, and artsy stuff really escapes me.

    If possible, would like to know the closest way to achieve this without GI (ideally nothing in the scene is static, not even the walls. I assume the closest example would be The Sims, where you can edit and move everything, and yet it goes feel like there's some kind of GI (http://prntscr.com/mzkg0n)

    Thanks!
     
  2. Sh-Shahrabi

    Sh-Shahrabi

    Joined:
    Sep 28, 2018
    Posts:
    56
    This looks ray traced. You can't achieve this on a regular polygon real time lighting without doing any baking. With clever light baking, you might get something else with the same feel, but not exactly this. That also depends on how big your scene is, and how much resolution you can give your bakes, and how much time you are willing to spend on baking your scene.
    If you want a realtime solution (which doesn't exist), is a arty combination of screen space Ambient occlusion (way to exaggerated, not a fan) and bloom, and soft particles, and with realtime screen space reflection you might be able to fake abit of the ray traced feel too, but again, it can never compete with a ray tracer that has been rendering an image for 9 hours.
     
  3. InsaneGoblin

    InsaneGoblin

    Joined:
    Jun 2, 2013
    Posts:
    239
    I see. Many thanks for your input. Back to the drawing board
     
  4. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    4,365
    Well, actually, I think this is purely a technical problem, so maybe you're in luck. You don't need an artistic eye because you already have a model that you are trying to imitate. All you need is the technical knowledge to replicate what you see there.

    To a shader, light is nothing but a direction(3 numbers), a color(3 numbers), an attenuation (1 number) etc. What you do these values is up to you and you can get any result you want, as long as you can come-up with a formula for it.

    I'm speaking high-falutin philosophy here, but it might be a fun experiment to try: Write a straightforward diffuse surface shader with a custom light model, like the second example on this page:
    https://docs.unity3d.com/Manual/SL-SurfaceShaderLightingExamples.html

    Apply that to your walls and try recreating your example scene in Unity. try to replicate the lighting as best as possible.

    Then compare your scene with the example and maybe you can come-up with a transformation function to get from one to the other. If you actually get it to work, I suppose the next step is to see if the same shader will work in other lighting situations.

    I attempted to do the same thing in Unity 4 with some limited success. It was really a mind-opening experience. This was mostly because I hated the built-in shaders at the time (now they're the legacy shaders). They just seemed to lose all color saturation the darker or lighter they got (We didn't have linear color space back then, either).But saturation is just a number that can be manipulated, multiplied, etc. so really I could make it anything I wanted.

    I might be even easier now, with the new shader graph editor.
     
  5. Catonovato

    Catonovato

    Joined:
    Mar 24, 2014
    Posts:
    5
    The easiest way to get this effect would be to texture bake the raytracing. Love the unity light baking but sometimes it's easier to throw down some lights in blender or your preferred 3d application... then the shadow resolution is tied to your texture map and not a separate map holding the baked light data from unity.

    I used to do this on mobile all the time. You could have that whole scene running in Unity at 2 draw calls :p.