One of a Qind
Crawling and walking, jumping and running,
This is how we travel and chart the world.
Babbling and laughing, crying and grinning,
We claim out loud we will never grow old.
Watching nature, we see life, we marvel:
A seed we treasure, today to feed us.
Tomorrow to please us: It grew as a bluebell!
It gets better, there’s something to discuss.
We make friends, we kill foes, we seize,
We wage war, we make love, as we please,
And when comes the due time to release,
We have nothing to trade, only tears.
We feel alone, and curse a starry sky,
Throwing silly questions, we don’t want to die.
As we do, comes the odd realisation:
The universe is too vast, for only one civilisation.
Out there there are people, we will never find,
Who like us, to an earthly journey, have been signed.
Who like us, may have been born weak and blind,
But soon enough, they’ll question what’s hidden behind.
Now I feel it deeply, within all my mind:
Across the cosmos, we are all one of a Qind!
It all started with an urge to model my logo in 3D, and cloth it with a nice animated lava texture. This proved rather straightforward in Cinema4D, although I struggled a bit with the rendering. I used UV Mapping offsetting to animate the texture, which happened to be largely generated from noise shaders. And as it turns out, noise based shaders do not properly animate in rendering mode, UNLESS the noise generator is set on the UV Map (2D) mode. You always learn something along the way, don’t you?
Quite happy with the outcome, I thought I would try it in a Unity scene, just to see how the animated texture would transfer. And that’s were I hit a small roadblock. I naively thought that animated textures would be just natively supported in Unity3D, but that’s not the case, and you have to use one of the few available techniques, as explained here. Dismissing the brute force use of sprite sheets, I chose to have a closer look at the more elegant surface shader-based option, and in doing so, I found a very easy tutorial in this good recipe book: Unity Shaders and Effects Cookbook, available from Packt Publishing. In a nutshell, it’s all about setting a UV scrolling over time on both X and Y axis. You end up creating a shader thats looks like this:
And the Mono code looks like this:
Shader "Custom/NewSurfaceShader" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_Metallic ("Metallic", Range(0,1)) = 0.0
_ScrollXSpeed ("X Scroll Speed", Range(0,10)) = 2
_ScrollYSpeed ("Y Scroll Speed", Range(0,10)) = 2
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
// Physically based Standard lighting model, and enable shadows on all light types
#pragma surface surf Standard fullforwardshadows
// Use shader model 3.0 target, to get nicer looking lighting
#pragma target 3.0
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
};
half _Glossiness;
half _Metallic;
fixed4 _Color;
fixed _ScrollXSpeed;
fixed _ScrollYSpeed;
void surf (Input IN, inout SurfaceOutputStandard o) {
// Albedo comes from a texture tinted by color
//fixed4 c = tex2D (_MainTex, IN.uv_MainTex) _Color;
fixed2 scrolledUV = IN.uv_MainTex;
fixed xScrollValue = _ScrollXSpeed _Time;
fixed yScrollValue = _ScrollYSpeed * _Time;
scrolledUV += fixed2(xScrollValue, yScrollValue);
half4 c = tex2D (_MainTex, scrolledUV);
o.Albedo = c.rgb;
// Metallic and smoothness come from slider variables
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
}
ENDCG
}
FallBack “Diffuse“
}
Eventually, I am inspired by a winter atmosphere and scenery, and using rock, boulders and winter trees, I set the scene for an encounter of the Quad kind. Credits to Manufactura K4 for a beautiful Winter Pack I used as a starting point.
Techniques: Cinema4D, Unity3D, Pixemaltor