3d/blbman40/croft.cdf

469 lines
21 KiB
Mathematica

/*******************************************************
POV-Ray - BlobMan People Costume Definition File
File Name : croft.cdf
BM_Version: 4.0
Desciption: Costume Definition File - Lara ?
Date : April 2000
Author : Peter Houston
Email : houston.graphics@iname.com
WWW : http://welcome.to/HoustoGraphics
Notes :
This CDF only works for Female Figures.
This CDF includes a hair setting. To test render
scenes without hair enter the following code
after the CDF is included
#decalre BM_HairStyle=0;
Then just remove it when you want the hair.
The Boots do not sit on y0 so if you transform
the figure using the Foot or Toe Origins you will need
to add the following translation after the
transformation
translate <0,1.0>*BM_Scale
The Toes of the Boot will bend to match the Toe Angle
however you need to specify the Toe Angle before the
CDF is called, even if you are using arrays.
#declare BM_Toe_Angle=<0,0,0>;
********************************************************/
#include "bm_hair.inc"
/********************************************************
Image Maps & Textures
********************************************************/
#declare BM_Skin_Tex=
texture {
pigment{rgb <0.96,0.80,0.69>}
}
#declare BM_Lip_Tex = texture {pigment {rgb x*.75}}
#declare BM_Nail_Tex = texture {pigment {rgb <.2,.5,.5>} finish {phong 1}}
#declare BM_Eye_Shadow= texture {pigment {rgb <.2,.5,.5>}}
#declare BM_Map_Normal = normal {wrinkles 0.15 scale <.5,10,.5>}
#include "glass.inc"
#declare BuckleTex = texture {
pigment {
rgb <0.70, 0.56, 0.37>
}
finish {
metallic
ambient 0.1
diffuse 0.65
specular 0.85
roughness 0.01
reflection 0.45
brilliance 1.5
}
}
#declare SockTex=
texture {
pigment {rgb 1}
normal {quilted .5 scale .1}
}
#declare BootTex= texture {
pigment {rgb .05}
finish {phong .5 reflection .1}
}
#declare SoleTex= texture {
pigment {rgb .15 }
normal {ripples 1 scale .5}
}
#declare LaceTex=texture {pigment {rgb <0.556863, 0.137255, 0.137255>}
normal {quilted 1 scale .1 rotate z*45}
}
#declare SpecFrames = texture {
pigment {
rgb <0.2, 0.2, 0.2>
}
finish {
ambient 0.1
diffuse 0.7
brilliance 6.0
reflection 0.2
phong 0.8
phong_size 120
}
}
#declare BagTex=texture {pigment {rgb <0.35, 0.20, 0.1>}
normal {quilted .5 scale .05 rotate z*45}
}
#declare Torso_IMap = "croft1.png"
#declare Abdomen_IMap = "croft2.png"
#declare Hand_R_IMap = "croft5.png"
#declare Hand_L_IMap = "croft5.png"
#declare Thigh_R_IMap = "croft3.png"
#declare Thigh_L_IMap = "croft3.png"
#declare Calf_R_IMap = "croft4.png"
#declare Calf_L_IMap = "croft4.png"
#declare Foot_R_IMap = "croft5.png"
#declare Foot_L_IMap = "croft5.png"
/********************************************************
Body Part Options
********************************************************/
#declare BM_EyeCol=<.25,.25,0>
#declare BM_Hair_Col=<0.35, 0.20, 0.1>;
#declare BM_HairStyle=2;
#declare BM_Map_R_Finger=0;
#declare BM_Map_L_Finger=0;
#declare BM_TShirt=1;
#declare Specs=
union {
sphere {0,1 scale <1,.75,.25> translate <-1.75,0,0> texture {T_Ruby_Glass}}
torus {1.15,.15 rotate x*90 scale <1,.75,.1> translate <-1.75,0,0> }
cylinder {<0,0,0><-1.9,0,4>.15 translate <-2.75,0,0>}
torus {1,.15 rotate z*90 scale <1,1,1> clipped_by {plane {z,0 inverse}}translate y*-1 rotate z*15 translate <-4.75,0,4>}
sphere {0,1 scale <1,.75,.25> translate <1.75,0,0> texture {T_Ruby_Glass}}
torus {1.15,.15 rotate x*90 scale <1,.75,.1> translate <1.75,0,0>}
cylinder {<0,0,0><1.9,0,4>.15 translate <2.75,0,0>}
torus {1,.15 rotate z*90 scale <1,1,1> clipped_by {plane {z,0 inverse}}translate y*-1 rotate z*-15 translate <4.75,0,4>}
torus {1,.15 rotate x*90 translate y*-.5 clipped_by {plane {y,0 inverse}} }
texture {SpecFrames}
}
#declare Bag=
union {
blob {threshold .5
cylinder {<0,0,0><0,-12,0> 3,1 translate <2,0,0>}
cylinder {<0,0,0><0,-12,0> 3,1 translate <1,0,0>}
cylinder {<0,0,0><0,-12,0> 3,1 translate <0,0,0>}
cylinder {<0,0,0><0,-12,0> 3,1 translate <-1,0,0>}
cylinder {<0,0,0><0,-12,0> 3,1 translate <-2,0,0>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <2,0,2>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <1,0,2>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <0,0,2>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <-1,0,2>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <-2,0,2>}
scale <1.1,.5,.75>
}
blob {threshold .5
cylinder {<0,0,0><0,-12,0> 3,1 translate <2,0,0>}
cylinder {<0,0,0><0,-12,0> 3,1 translate <1,0,0>}
cylinder {<0,0,0><0,-12,0> 3,1 translate <0,0,0>}
cylinder {<0,0,0><0,-12,0> 3,1 translate <-1,0,0>}
cylinder {<0,0,0><0,-12,0> 3,1 translate <-2,0,0>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <2,0,2>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <1,0,2>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <0,0,2>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <-1,0,2>}
cylinder {<0,-1,-1><0,-12,0> 3,1 translate <-2,0,2>}
scale <1.1,.5,.75>
clipped_by {plane {y,0 inverse rotate x*30 rotate z*15 translate y*-1 }}
clipped_by {plane {y,0 inverse rotate x*30 rotate z*-15 translate y*-1 }}
scale <1.1,1.05,1.1>
rotate x*-5
}
torus {.5,.25 translate <0,-1.2,2.75> texture {SpecFrames}}
}
/********************************************************
Body Part Objects
********************************************************/
#declare BM_Head_Object= union {object{BM_Head_Object}
object {Specs
rotate x*-30
translate <0,-2,-4.5>
}
}
//#declare BM_Neck_Object=object {BM_Neck_Object}
#declare BM_Torso_Object=union {
object{BM_Torso_Object}
union {
object {Bag}
object {Bag scale <.2,.5,.5> rotate y*90 translate <3.5,-3,1> }
object {Bag scale <.6,.5,.5> translate <0,-3,2.5> }
object {Bag scale <.2,.5,.5> rotate y*-90 translate <-3.5,-3,1> }
torus {3,.5 scale <1.2,2,1> rotate y*-15 rotate z*80 rotate y*30 translate <-4.5,-2.5,-2>}
torus {3,.5 scale <1.2,2,1> rotate y*-15 rotate z*80 rotate y*30 translate <-4.5,-2.5,-2> scale <-1,1,1>}
translate <0,-8,4>
texture {BagTex}
}
}
#declare BM_Abdomen_Object=union {
object{BM_Abdomen_Object}
cone {<0,0,0>,5.3,<0,-2,0>5.5
scale <1.1,1,.8>
translate <0,-23.25,-.5>
pigment { rgb <0.25, 0.10, 0.0> }
}
difference {
box {<-1.5,-1.5,0><1.5,1.5,.5>
translate <0,-24.25,-5>
texture {BuckleTex}
}
box {<-1,-1,0><1,1,.25>
translate <0,-24.25,-5>
texture {BuckleTex
finish {ambient -.15}}
}
}
box {<-.5,0,0><.5,-4,1>
rotate x*-5
translate <0,-24.25,-4.6>
}
}
//#declare BM_Upperarm_R_Object=object {BM_Upperarm_R_Object}
//#declare BM_Upperarm_L_Object=object {BM_Upperarm_L_Object}
//#declare BM_Forearm_R_Object=object {BM_Forearm_R_Object}
//#declare BM_Forearm_L_Object=object {BM_Forearm_L_Object}
//#declare BM_Hand_R_Object=object {BM_Hand_R_Object}
//#declare BM_Hand_L_Object=object {BM_Hand_L_Object}
#declare BM_Thigh_R_Object=union {
object {BM_Thigh_R_Object}
torus {3.5,.5 scale <1,2,1>
translate <-2,-4,-.5>
}
}
#declare BM_Thigh_L_Object=union {
object {BM_Thigh_L_Object}
torus {3.5,.5 scale <1,2,1>
translate < 2,-4,-.5>
}
}
#declare BM_Calf_R_Object=union {
object {BM_Calf_R_Object}
blob {threshold .5
cylinder {<0,1.5,0><0,-1.5,0>,4.2,1.1
scale <1,.5,1.1>
translate <-.05,-10,.4>
}
texture {SockTex}
}
cone {<0,0,.5>2.1,<0,-8,0>1.75
scale <1,1,1>
translate <0,-11,0>
texture {BootTex}
//pigment {rgb x}
}
#local Laces=0
#while (Laces<7)
torus {1,.2
texture {LaceTex}
rotate z*30
translate <0,-12-Laces,-1>
rotate x*-1
}
torus {1,.2
texture {LaceTex}
rotate z*-30
translate <0,-12-Laces,-1.1>
rotate x*-1
}
#declare Laces=Laces+1
#end
torus {2.2,.2
texture {LaceTex}
rotate z*10
translate <0,-12,.25>
}
torus {2.2,.2
texture {LaceTex}
rotate z*-13
translate <0,-12,.25>
}
}
#declare BM_Calf_L_Object=union {
object {BM_Calf_L_Object}
blob {threshold .5
cylinder {<0,1.5,0><0,-1.5,0>,4.2,1.1
scale <1,.5,1.1>
translate <-.05,-10,.4>
}
texture {SockTex}
}
cone {<0,0,.5>2.1,<0,-8,0>1.75
scale <1,1,1>
translate <0,-11,0>
texture {BootTex}
//pigment {rgb x}
}
#local Laces=0
#while (Laces<7)
torus {1,.2
texture {LaceTex}
rotate z*30
translate <0,-12-Laces,-1>
rotate x*-1
}
torus {1,.2
texture {LaceTex}
rotate z*-30
translate <0,-12-Laces,-1.1>
rotate x*-1
}
#declare Laces=Laces+1
#end
torus {2.2,.2
texture {LaceTex}
rotate z*10
translate <0,-12,.25>
}
torus {2.2,.2
texture {LaceTex}
rotate z*-13
translate <0,-12,.25>
}
scale <-1,1,1>
}
#declare BM_Foot_R_Object=union {
object {BM_Foot_R_Object}
difference {
union { // Sole
cylinder {<0,0,0><0,-.75,0> 2.2
translate <0,-2.5,0>
}
cylinder {<0,0,0><0,-.75,0> 2.9
rotate x*BM_Toe_Angle.z
translate <-.3,-2.5,-5.7>
clipped_by {plane {z,-5.7}}
}
prism { linear_sweep linear_spline
0,-0.75,5,
<-2,0>,<2,0>,<2.5,-5.7>,<-3.4,-5.7>,<-2,0>
translate <0,-2.5,0>
}
}
box {<-4,-8,0><4,0,-8>
rotate x*-14
rotate y*8
translate <0,-2.6,-2>
}
texture {SoleTex}
}
union { //Uppers
union {sphere {<0,.5,0>,2.6}
cylinder {<0,.5,0><0,0,0>2.6}
clipped_by {plane{y,0 inverse}}
clipped_by {plane {z,0 rotate x*45}}
rotate x*BM_Toe_Angle.z
translate <-.3,-2.5,-5.7>
}
cone {<0,0,0>1.75,<0,-2.5,0>1.9}
sphere {0,1.75}
cone {<0,-.5,0>1.75,<-.3,-2.5,-5.7>2.6
clipped_by {plane {y,-2.5 inverse}}
}
cone {<0,-2,0>1.75,<-.3,-2.5,-5.7>2.6
clipped_by {plane {y,-2.5 inverse}}
}
texture {BootTex}
}
#local Laces=0
#while (Laces<4)
torus {1,.2
texture {LaceTex}
rotate z*30
translate <0,-1-Laces,-.2>
rotate x*80
}
torus {1,.2
texture {LaceTex}
rotate z*-30
translate <0,-1-Laces,-.3>
rotate x*80
}
#declare Laces=Laces+1
#end
}
#declare BM_Foot_L_Object=union {
object {BM_Foot_R_Object}
difference {
union { // Sole
cylinder {<0,0,0><0,-.75,0> 2.2
translate <0,-2.5,0>
}
cylinder {<0,0,0><0,-.75,0> 2.9
rotate x*BM_Toe_Angle.z
translate <-.3,-2.5,-5.7>
clipped_by {plane {z,-5.7}}
}
prism { linear_sweep linear_spline
0,-0.75,5,
<-2,0>,<2,0>,<2.5,-5.7>,<-3.4,-5.7>,<-2,0>
translate <0,-2.5,0>
}
}
box {<-4,-8,0><4,0,-8>
rotate x*-14
rotate y*8
translate <0,-2.6,-2>
}
texture {SoleTex}
}
union { //Uppers
union {sphere {<0,.5,0>,2.6}
cylinder {<0,.5,0><0,0,0>2.6}
clipped_by {plane{y,0 inverse}}
clipped_by {plane {z,0 rotate x*45}}
rotate x*BM_Toe_Angle.z
translate <-.3,-2.5,-5.7>
}
cone {<0,0,0>1.75,<0,-2.5,0>1.9}
sphere {0,1.75}
cone {<0,-.5,0>1.75,<-.3,-2.5,-5.7>2.6
clipped_by {plane {y,-2.5 inverse}}
}
cone {<0,-2,0>1.75,<-.3,-2.5,-5.7>2.6
clipped_by {plane {y,-2.5 inverse}}
}
texture {BootTex}
}
#local Laces=0
#while (Laces<4)
torus {1,.2
texture {LaceTex}
rotate z*30
translate <0,-1-Laces,-.2>
rotate x*80
}
torus {1,.2
texture {LaceTex}
rotate z*-30
translate <0,-1-Laces,-.3>
rotate x*80
}
#declare Laces=Laces+1
#end
scale <-1,1,1>
}
// End of Costume Definition File