Visual Development

A Fateful Night

A Fateful Night, Concept Style A - Procreate, 2023
Ethan Richards

A Fateful Night, Concept Shot

A Fateful Night, Style A

A Fateful Night, Style A Development Videos

A Fateful Night, Concept Style B - Procreate, 2023
Ethan Richards

A Fateful Night, Style B

A Fateful Night, Style B Development Videos

Programs Used:

  • Maya: Modeling

  • Substance Painter: Color maps, shader masks, and baking Normal/AO maps.

  • Unreal Engine 5: Shader Development, Post Processing Development, Rendering

Creating Custom Shaders

Shader Stills

  • Integrates Mathematical Systems including:

    • Fractional Brownian Motion

    • Random Noise

    • Cellular Noise

    • Trigonometry

Shadertoy Adaptions for Visualization

Main Code

    vec2 st = gl_FragCoord.xy/u_resolution.xy;
    st.x *= u_resolution.x/u_resolution.y;

    vec3 color = vec3(0.0);


    vec2 q = vec2(0.);
    q.x = fbm( st - 0.03*(u_time));
    q.y = fbm( st + 0.05*(u_time));

    vec2 r = vec2(0.);
    r.x = fbm(st*6.008 + 4. * noise(st) + q + vec2(8.3,2.8)
             + .1 * sin(u_time));
    r.y = fbm(st*10.0 + 4. * noise(st) + q + vec2(8.3,2.8)
             + .1 * cos(u_time));

    color += vec3(fbm(5.0 * st*fbm(r)), fbm(5.0 * st*fbm(q)),
                fbm(5.0 * st*fbm(r + q)));
    color -= vec3( 1.0 - distance(vec2(0,1), vec2(st.x, st.y)))
                * .1;
    color -= vec3( 1.0 - distance(vec2(1,0), vec2(st.x, st.y)))
                * .2;

    gl_FragColor = vec4(color,1.0);

Main Code

  vec2 st = gl_FragCoord.xy/u_resolution;

  float stripes = .2 + sin(st.x * 3.14 * smoothstep(-5., 1., 
                      sin(st.x * 4.0 + fbm(st.xx * vec2(1000., 20.)) * 6.)));
  vec3 color = vec3(fbm(stripes * st.yy - .07), fbm(stripes * st.yy + .01),
                  fbm(stripes * st.yy + .03));

  st *= 5.0;
  float v = cellular(st) * .2;

  color += vec3(v) * vec3(.8,.8,1.0);

  gl_FragColor = vec4(color,1.0);

Procedural Ship Modeling

Tools Used:

  • Houdini

  • Substance Painter

  • Unreal Engine

Unreal Engine 5.2

Houdini Controller Settings For Above Ship

Demo

Example Ships

Robot Model

Unreal Engine 5.2

Tools Used:

  • Maya

  • Adobe Substance Painter

  • Unreal Engine 5.2