|
|
"Chris R" <car### [at] comcastnet> wrote:
> I decided to start a project with more of a story line, and was thinking back on
> Stanislaw Lem's book "Cyberiad" as inspiration. I melded that with the
> sculpture, "The Thinker", and cogito ergo sum, and came up with this scene.
>
> My robot, "Cogito", has been imprisoned on a planet in Lem's world and has been
> contemplating his errors for so long that he has rusted in place and doesn't
> even notice that the door is standing open.
>
> The model for Cogito is completely parameterized (using dictionaries!) so I can
> pose him however I want if I decide to let him get up from his stoop and escape.
>
> I started modeling the rust using macros I created for modeling painted
> surfaces, where the paint may show part of the underlying surface and has its
> own surface texture independent of the object. (This technique uses an
> isosurface function for the object, and then extends that function with a paint
> thickness function for the paint as a separate object.) Since the rust had more
> open space, the renders were expensive and I didn't like how they looked.
>
> So, I started modeling the rusted areas using a pigment pattern applied to the
> basic shape function to get the raised areas, and then using that same pigment
> pattern in the object's texture{} to differentiate the base object texture from
> the rust texture. I used this on Cogito himself, all of the iron bars, the
> chain, and the lock.
>
> I also used the pigment_pattern approach to apply texture to the walls and the
> stoop to model where the stone was wet from a leaky roof and the window opening.
>
> The attached render is using a moderate anti-aliasing setting, which seems to
> work fine given the rough nature of the scene surfaces, and is not using
> radiosity. (I will need a few long days to do that, so maybe later.)
>
> -- Chris R
Nice job Chris,
I love scene and the back story. The rust material is great. Did you post the
scene code? I'd love to see the parameterized / dictionary setup for posing. I'm
just getting back to this forum so sorry for the late replies on all the cool
work being done here.
Mike.
Post a reply to this message
|
|
|
|
"Mike Miller" <mil### [at] gmailcom> wrote:
> "Chris R" <car### [at] comcastnet> wrote:
> > I decided to start a project with more of a story line, and was thinking back on
> > Stanislaw Lem's book "Cyberiad" as inspiration. I melded that with the
> > sculpture, "The Thinker", and cogito ergo sum, and came up with this scene.
> >
> > My robot, "Cogito", has been imprisoned on a planet in Lem's world and has been
> > contemplating his errors for so long that he has rusted in place and doesn't
> > even notice that the door is standing open.
> >
> > The model for Cogito is completely parameterized (using dictionaries!) so I can
> > pose him however I want if I decide to let him get up from his stoop and escape.
> >
> > I started modeling the rust using macros I created for modeling painted
> > surfaces, where the paint may show part of the underlying surface and has its
> > own surface texture independent of the object. (This technique uses an
> > isosurface function for the object, and then extends that function with a paint
> > thickness function for the paint as a separate object.) Since the rust had more
> > open space, the renders were expensive and I didn't like how they looked.
> >
> > So, I started modeling the rusted areas using a pigment pattern applied to the
> > basic shape function to get the raised areas, and then using that same pigment
> > pattern in the object's texture{} to differentiate the base object texture from
> > the rust texture. I used this on Cogito himself, all of the iron bars, the
> > chain, and the lock.
> >
> > I also used the pigment_pattern approach to apply texture to the walls and the
> > stoop to model where the stone was wet from a leaky roof and the window opening.
> >
> > The attached render is using a moderate anti-aliasing setting, which seems to
> > work fine given the rough nature of the scene surfaces, and is not using
> > radiosity. (I will need a few long days to do that, so maybe later.)
> >
> > -- Chris R
>
> Nice job Chris,
> I love scene and the back story. The rust material is great. Did you post the
> scene code? I'd love to see the parameterized / dictionary setup for posing. I'm
> just getting back to this forum so sorry for the late replies on all the cool
> work being done here.
> Mike.
Thanks, Mike. I haven't posted the scene yet. I have such a network of nested
tools I include that it takes a while to get everything together into a package.
I can post the code for setting up the posing, as that is pretty simple:
//=============================================================================
// Cogito Configurations
//
#declare Cogito_side_left = 1;
#declare Cogito_side_right = -1;
#macro Finger_config_create()
#local _config = dictionary {
.distal_rot: <0,0,0>,
.middle_rot: <0,0,0>,
.proximal_rot: <0,0,0>
}
;
_config
#end
#macro Hand_config_create(Side)
#local _config = dictionary {
.side: Side,
.thumb: Finger_config_create(),
.thumb_metatarsil_rot: <0,0,0>,
.index: Finger_config_create(),
.middle: Finger_config_create(),
.ring: Finger_config_create(),
.pinkie: Finger_config_create()
}
;
_config
#end
#macro Arm_config_create(Side)
#local _config = dictionary {
.side: Side,
.arm_rot: <0,0,Side*90>,
.elbow_rot: <0,0,0>,
.wrist_rot: <0,0,0>,
.hand: Hand_config_create(Side)
}
;
_config
#end
#macro Leg_config_create()
#local _config = dictionary {
.leg_rot: <0,0,0>,
.knee_rot: <0,0,0>,
.ankle_rot: <0,0,0>
}
;
_config
#end
#macro Torso_config_create()
#local _config = dictionary {
.waist_rot: <0,0,0>
}
;
_config
#end
#macro Head_config_create()
#local _config = dictionary {
.neck_rot: <0,0,0>,
.head_rot: <0,0,0>,
.left_eye_glow: 0,
.right_eye_glow: 0,
.left_ear_rot: <0,0,0>,
.right_ear_rot: <0,0,0>
}
;
_config
#end
#macro Cogito_config_create()
#local _config = dictionary {
.left_leg: Leg_config_create(),
.right_leg: Leg_config_create(),
.left_arm: Arm_config_create(Cogito_side_left),
.right_arm: Arm_config_create(Cogito_side_right),
.torso: Torso_config_create(),
.head: Head_config_create()
}
;
_config
#end
// End Cogito Configurations
//=============================================================================
#local _config = Cogito_config_create();
#local _config.head.neck_rot = <0, 45, 0>;
One of the side projects that will pull me away from this for a while is to
clean up some of my most-used libraries so I can post them with tutorials here
without needing my entire tree of POV code.
-- Chris R.
Post a reply to this message
|
|
|
|
"Chris R" <car### [at] comcastnet> wrote:
> This is a slight improvement on the test render after adding in another copy of
> the light bulb behind the camera. I think the depth of the rust on the closest
> bars is more apparent here. It's not perfect, as I have not played with the
> location of that second light, or if other lights might add more interest.
>
> Also, note, that the absence of Cogito and his seat changes the reflection of
> lighting, so that will make a slight difference in the full scene as well.
>
> Sorry for the change in aspect ratio, I realized I hit the wrong selection when
> it was an hour into the render and didn't feel like starting over again.
>
> I'm off to do some more tests on rust patterns and then will get back to the
> walls, I promise.
>
> -- Chris R
I have a couple of side projects to clean up some of my libraries and the annual
Christmas scene to work on for a bit, so I'm showing the most recent update now
and will post a new thread when I get back to it again.
Cogito has noticed the door; the rust has been improved, IMHO, and the walls
have some more detail and grunge to them. Still haven't done anything with the
floor, and the drips from the ceiling are not visible, so I need to work on
that. The lights probably need to be adjusted, and Cogito's body texture needs
some work, too.
-- Chris R
Post a reply to this message
Attachments:
Download 'scene-v1.2-mq-20231104.png' (1818 KB)
Preview of image 'scene-v1.2-mq-20231104.png'
|
|