inbetween revamping my resume and portfolio, been painting more on this orthographic.
I had an idea today, and I don't believe I've seen any complex voxel character rigs with PBR textures yet... wonder how this is gonna turn out! Planning on putting a windy scarf attached to his neck, made of voxel particles that pull toward a point in local space. When the character moves, the emitter can be rotated in worldspace to oppose the player's movement direction (and perhaps rotating to a specific direction during idle). Going to be putting this guy in tomorrow and setting up the rest of his textures~ wish me luck
well there goes today. Waiting on my free trial of 3DS Max to come in email from Autodesk
tomorrow, 3D cannon balls using Substance Designer for textures and DDO for additional normal map adjustments (such as crater holes), placing the cannonball in front of the camera with animated smoldering FX via Cascade
// solid color for the background
vec4 backcolor = vec4(0.22, 0.22, 0.22, 1.0);
// generate scanlines from noise image, by stretching UV coordinates along Y-axis
vec4 scanlines = texture2D(iChannel0, uv / iResolution.xy * vec2(0.0,1.0));
// use an 'Overlay' function similar to Photoshop's, to blend the scanlines and backcolor together
vec4 firstpass = BlendOverlay(backcolor, scanlines);
/////////////////////////////
// generate animated noise
float n = snoise(vec2(pixelCoord.x*cos(iGlobalTime),pixelCoord.y*tan(iGlobalTime)));
// blend animated noise with the firstpass, using 'Overlay' function defined at the beginning of shader-code
vec4 secondpass = BlendOverlay(firstpass, vec4(n, n, n, 1.0));
/////////////////////////////
// calculate the distance between: the current pixel location, and the mouse position
float d = dist(fragCoord.xy,iMouse.xy);
// change the size of the gradient-distance over time, multiplied by
d = d*(sin(iGlobalTime)+7.0)*0.003;
// control the falloff of the gradient with a power/exponent, and multiply 'd' by the animated noise
d = pow(d*n,0.5);
// clamp the values of 'd', so that gradientgen cannot go below a 0.05 value
d = min(d,1.0);
// list the max,min gradient values, and linearly interpolate between the values using 'd' as a scale
vec4 gradientgen = mix(vec4(0.1, 0.1, 0.1, 1.0), vec4(0.05, 0.05, 0.05, 1.0), d);
// blend the second pass and the mouse-controlled gradient together
vec4 thirdpass = BlendAdd(secondpass, gradientgen);
void mainImage( out vec4 color, in vec2 fragCoord )
{
// solid color for the background
vec4 sandcolor = vec4(0.9606, 0.6601, 0.1445, 1.0);
// textured noise, greyscale at a low resolution 64x64 pixels
vec4 sandtexture = texture2D(iChannel1, fragCoord / iResolution.xy);
// specular noise, colored at a higher resolution 256x256 pixels
vec4 sandspecular = texture2D(iChannel0, fragCoord / iResolution.xy);
// make extra specular maps and push their UVs around, to create a jittered fade between chunks of overlapping RGB colors.
vec2 plusuv = floor(fragCoord-sin(iMouse.yy*0.03));
vec2 reverseuv = floor(fragCoord+cos(iMouse.yy*0.018));
vec4 sandspecular2 = texture2D(iChannel0, reverseuv / iResolution.xy);
vec4 sandspecular3 = texture2D(iChannel0, plusuv / iResolution.xy);
// bump highlights on sand specular where RBG values meet, and cut out the rest
sandspecular.xyz = sandspecular.xxx*sandspecular3.yyy*sandspecular2.zzz*vec3(2,2,2);
// calculate the distance between: the current pixel location, and the mouse position
float d = dist(fragCoord.xy,iMouse.xy);
// reduce the scale to a fraction
d = d*0.003;
// control the falloff of the gradient with a power/exponent
d = pow(d,0.6);
// clamp the values of 'd', so that we cannot go below a 0 value
d = min(d,1.0);
// blend together the sand color with a low opacity on the sand texture
vec4 sandbase = BlendAddtenth(sandcolor,sandtexture);
// let's prep the glistening specular FX, by having it follow the diffuse sand texture
vec4 darkensand = mix(sandtexture,vec4(0,0,0,0), d);
// have the specular map be reduced by the diffuse texture (ingame: replace mouse cursor with player camera)
vec4 gradientgen = mix(sandspecular, darkensand, d);
// blend the diffuse texture and the mouse-controlled hypothetical-specular gradient together
vec4 finalmix = BlendAddthird(sandbase, gradientgen);
Replies
While I seek a job with a studio, I've decided to start a project using PBR shaders and UE4 to create an airship battle game. More details to come~
First attempt at clouds ~ trying out plane-meshes next
[ame]https://www.youtube.com/watch?v=ldn--0EVstE[/ame]
Day #4: Polish, adding lighting... cloud mesh is 200 polys. Next up, customizable scripted day/night cycle
Day #5 : learning more about lighting, orthographic second draft~
Day #6 : picking airship colors
inbetween revamping my resume and portfolio, been painting more on this orthographic.
I had an idea today, and I don't believe I've seen any complex voxel character rigs with PBR textures yet... wonder how this is gonna turn out! Planning on putting a windy scarf attached to his neck, made of voxel particles that pull toward a point in local space. When the character moves, the emitter can be rotated in worldspace to oppose the player's movement direction (and perhaps rotating to a specific direction during idle). Going to be putting this guy in tomorrow and setting up the rest of his textures~ wish me luck
windy scarf and custom animations coming up next
well there goes today. Waiting on my free trial of 3DS Max to come in email from Autodesk
tomorrow, 3D cannon balls using Substance Designer for textures and DDO for additional normal map adjustments (such as crater holes), placing the cannonball in front of the camera with animated smoldering FX via Cascade
Still seeking job~~~
improperly mapped bones causes scarf to whirl in a tornado. Bug, or feature?
Updating project from 4.8.3 to 4.9, to fix solved broken wind -> cloth bug.
off to make this hero a mount!
changed gravity from 0.7 to 1.5 to great effect, along with inverting the bend resistance (I was interpreting it backwards from the documentation)
An art director is needed in Troveland! wish me luck~
https://www.shadertoy.com/view/ltjSDm
Still seeking employment.
Here is another GLSL shader, Sand Sparkling Irregularly in Sunlight (Incl. tutorial)
[use mouse to move sun/focus]:
https://www.shadertoy.com/view/llSXzc