3d/blbman40/Blob_Man_Studio.pov

291 lines
13 KiB
POVRay

/***************************************************************
___ _ _ __ __
| _ ) |___| |__| \/ |__ _ _ _
| _ \ / _ \ '_ \ |\/| / _` | ' \ v4.0
|___/_\___/_.__/_| |_\__,_|_||_|
/ __| |_ _ _ __| (_)___
\__ \ _| || / _` | / _ \
|___/\__|\_,_\__,_|_\___/
For use with "bmpeople.inc"
Refer to "bmmanual.txt" for full usage details
****************************************************************
B L O B M A N S A M P L E P O S E S
Set Pose_Studio to 'no' to see pre-defined poses set PoseNo
for the pose you wish to try.
PoseNo PoseNo
0 = Standing Relaxed 6 = "We're Not Worthy"
1 = Standing Hands on Hips 7 = Hand Stand
2 = Meditation 8 = Sun Bathing
3 = Sitting at Table/Piano etc 9 = Surfer
4 = Gunfighter 10 = Reclined (Male)
5 = Praying on Knees 11 = Reclined (Female)
If you wish to experiment with Blob Man Studio (below) set
Pose_Studio to 'yes'.
****************************************************************/
#declare Pose_Studio=yes;
#declare BM_PoseNo=0; // If Pose_Studio is set to "no" set this to
// a Pose Number from the list above.
/****************************************************************
General Settings used for Pose Studio and Pre-Defined Poses
*****************************************************************/
#declare BM_Gender = 1; // Male=0, Female=1
#declare BM_EyeCol = <.22,.69,.87>; // Iris Colour of eye (<r,g,b>) - ie. <.22,.69,.87> = Blue
#declare BM_Hair_Col = <.6,.5,.4>; // Hair Colour <r,g,b>
#declare BM_Nose = 0.5; // Nose Size. Range: 0 - 1.25 Default : 0.5
#declare Costume = "lft.cdf" // Name of Costume Definition File eg. "sample.cdf"
#declare Background = <.5,.5,.5>; // <r,g,b> for Studio Background colour.
#declare BM_DeBug = off; // Puts Visible Locators at ends of Limbs
// useful for object positioning.
/****************************************************************
B L O B M A N S T U D I O
Change the settings below to create your own poses.
****************************************************************/
#include "bmpeople.inc"
#if (Pose_Studio=yes)
/****************************************************************
Head Settings
*****************************************************************/
#declare BM_Head_Rot = <0,0,0>; // x = Head position Front to Back
// y = Head rotation Left to Right
// z = Head position Right Side to Left Side
/****************************************************************
Torso Settings
Arm Rotation Vectors <X,Y,Z>
<0,0,0> is pointing straight down
X= Back(-) to Front(+)
Y= Twist Left(-), Right (+)
Z= Side to Side Lift Right(-), Left(+)
*****************************************************************/
#declare BM_Neck_Rot = <-10,0,0>; // Rotation vector for the neck (Note: "y" is not used)
#declare BM_Torso_Rot= <-10,0,0>; // Rotation vector for the Upper Torso
#declare BM_RA_S2E = <-20,0,-8>; // Right Upperarm
#declare BM_RA_E2W = <-20+20,0,-3>; // Right Forearm
#declare BM_RH_Rot = <0,0,0>; // Right Hand
#declare BM_LA_S2E = <20,0,8>; // Left Upperarm
#declare BM_LA_E2W = <20+20,0,3>; // Left Forearm
#declare BM_LH_Rot = <0,0,0>; // Left Hand
#declare BM_RL_H2K = <30,0,-5>; // Right Thigh
#declare BM_RL_K2A = <15,0,0>; // Right Lower Leg
#declare BM_RF_Rot = <0,0,0>; // Right Foot
#declare BM_LL_H2K = <0,0,5>; // Left Thigh
#declare BM_LL_K2A = <-30,0,0>; // Left Lower Leg
#declare BM_LF_Rot = <15,0,0>; // Left Foot
/****************************************************************
Hand Settings
Hand Rotation Vectors <X,Y,Z>
<0,0,0> - fingers pointing down with thumbs foward.
*****************************************************************/
// Right Hand
#declare BM_RFP_Pos = < 5, 45, 5, 0>; // Pinky Finger
#declare BM_RFR_Pos = < 10, 30, 5, 0>; // Ring Finger
#declare BM_RFM_Pos = < 5, 15, 5, 0>; // Middle Finger
#declare BM_RFI_Pos = < 0, 10, 0, 0>; // Index Finger
#declare BM_RFT_Pos = < 0,-10, 5, 10>; // Thumb
// Left Hand
#declare BM_LFP_Pos = < 5, 45, 5, 0>; // Pinky Finger
#declare BM_LFR_Pos = < 10, 30, 5, 0>; // Ring Finger
#declare BM_LFM_Pos = < 5, 15, 5, 0>; // Middle Finger
#declare BM_LFI_Pos = < 0, 10, 0, 0>; // Index Finger
#declare BM_LFT_Pos = < 0,-10, 5, 10>; // Thumb
/****************************************************************
Foot Settings
Foot Rotation Vectors <X,Y,Z>
<0,0,0> - toes pointing forward
*****************************************************************/
#declare BM_Toe_Angle =<15,0,0>; // x = Left Foot
// y = ** Not Used **
// z = Right Foot
/****************************************************************
Hair Settings
Note: Hair drastically increases the parse time !
*****************************************************************/
#declare BM_Hair_On = 1; // Hair (1) - No Hair (0)
#declare BM_Hair_Rot = <-20,0,0>; // Hair Rotation - Standard <0,0,0>
#declare BM_Hair_Arch = 0; // Arch hairline over head in line with ears (1) or Not (0)
#declare BM_Hair_Thck = 0.20; // Hair Thickness <0.15 to 0.5> - Standard: 0.25
#declare BM_Hair_Line = 4; // Hair Line Height (Best Settings 3 to 6) - Standard: 5
#declare BM_Hair_LDpth = 0.3; // Hairline profile Depth (Range: 0-Straight Fringe to 1-Widows Peak) - standard: 0.7
#declare BM_Hair_Wght = 0.015; // Hair Weight (Range 0.005 to 0.05) - Standard: 0.01
#declare BM_Hair_Hght = 1.5; // Hair Height (Range 1 to 2) - Standard: 1
#declare BM_Hair_Length= 15; // Hair Length (1 to 20) - Standard: 10
#declare BM_Hair_Curl = 0.00; // Curliness (Range 0-Straight to 0.1-Curly) - Standard: 0.05
/****************************************************************
*****************************************************************
*****************************************************************
Write settings to external files.
*****************************************************************/
#fopen file "bmarray.txt" write
#write (file, "/************************************************************\n",
" Blob Man Pose File for use with Blob_Man.inc\n",
" This file was created automatically by Blob_Man_Studio.POV\n",
"*************************************************************/\n\n")
#write (file, "#declare BM_Pose=array[1][17]\n",
" {\n",
" { ",BM_Head_Rot,",",BM_Neck_Rot,",",BM_Torso_Rot,",",BM_RA_S2E,",",BM_RA_E2W,",",BM_LA_S2E,",",BM_LA_E2W,",",BM_RL_H2K,",",BM_RL_K2A,",",BM_LL_H2K,",",BM_LL_K2A,",",BM_RF_Rot,",",BM_LF_Rot,",",BM_Toe_Angle,",",BM_RH_Rot,",",BM_LH_Rot,", <0,0,1> },\n",
" }\n\n")
#write (file, "#declare BM_Hands=array[2][5]\n",
" {\n",
" { ",BM_LFP_Pos,",",BM_LFR_Pos,",",BM_LFM_Pos,",",BM_LFI_Pos,",",BM_LFT_Pos," },\n",
" { ",BM_RFP_Pos,",",BM_RFR_Pos,",",BM_RFM_Pos,",",BM_RFI_Pos,",",BM_RFT_Pos," },\n",
" }\n\n")
#write (file, "#declare BM_Pose_Hair_1=array[1][1]\n",
" {\n",
" { ",BM_Hair_Rot," },\n",
" }\n\n")
#write (file, "#declare BM_Pose_Hair_2=array[1][9]\n",
" {\n",
" { ",BM_Hair_On,",",BM_Hair_Arch,",",BM_Hair_Thck,",",BM_Hair_Line,",",BM_Hair_LDpth,",",BM_Hair_Wght,",",BM_Hair_Hght,",",BM_Hair_Length,",",BM_Hair_Curl," },\n",
" }\n")
#write (file, "// End of File")
#fclose file
#fopen file "bmdeclar.txt" write
#write (file, "/************************************************************\n",
" Blob Man Pose File for use with bmpeople.inc\n",
" This file was created automatically by Blob_Man_Studio.POV\n",
"*************************************************************/\n\n")
#write (file, " #declare BM_Head_Rot = ",BM_Head_Rot,";\n")
#write (file, " #declare BM_Neck_Rot = ",BM_Neck_Rot,";\n")
#write (file, " #declare BM_Torso_Rot = ",BM_Torso_Rot,";\n")
#write (file, " #declare BM_RA_S2E = ",BM_RA_S2E,";\n")
#write (file, " #declare BM_RA_E2W = ",BM_RA_E2W,";\n")
#write (file, " #declare BM_LA_S2E = ",BM_LA_S2E,";\n")
#write (file, " #declare BM_LA_E2W = ",BM_LA_E2W,";\n")
#write (file, " #declare BM_RL_H2K = ",BM_RL_H2K,";\n")
#write (file, " #declare BM_RL_K2A = ",BM_RL_K2A,";\n")
#write (file, " #declare BM_LL_H2K = ",BM_LL_H2K,";\n")
#write (file, " #declare BM_LL_K2A = ",BM_LL_K2A,";\n")
#write (file, " #declare BM_RF_Rot = ",BM_RF_Rot,";\n")
#write (file, " #declare BM_LF_Rot = ",BM_LF_Rot,";\n")
#write (file, " #declare BM_Toe_Angle = ",BM_Toe_Angle,";\n")
#write (file, " #declare BM_RH_Rot = ",BM_RH_Rot,";\n")
#write (file, " #declare BM_LH_Rot = ",BM_LH_Rot,";\n\n")
#write (file, "// If you wish to use a predefined hand be sure to include\n",
"// bm_hands.inc and then set BM_Pose_RHand/LHand to the array\n",
"// entry number (0 being the first entry). Otherwise set them \n",
"// to -1 and use the finger positions defined below\n\n")
#write (file, " #declare BM_Pose_RHand = ",BM_Pose_RHand,";\n")
#write (file, " #declare BM_Pose_LHand = ",BM_Pose_LHand,";\n\n")
#write (file, " #declare BM_RFP_Pos = ",BM_RFP_Pos,";\n")
#write (file, " #declare BM_RFR_Pos = ",BM_RFR_Pos,";\n")
#write (file, " #declare BM_RFM_Pos = ",BM_RFM_Pos,";\n")
#write (file, " #declare BM_RFI_Pos = ",BM_RFI_Pos,";\n")
#write (file, " #declare BM_RFT_Pos = ",BM_RFT_Pos,";\n")
#write (file, " #declare BM_LFP_Pos = ",BM_LFP_Pos,";\n")
#write (file, " #declare BM_LFR_Pos = ",BM_LFR_Pos,";\n")
#write (file, " #declare BM_LFM_Pos = ",BM_LFM_Pos,";\n")
#write (file, " #declare BM_LFI_Pos = ",BM_LFI_Pos,";\n")
#write (file, " #declare BM_LFT_Pos = ",BM_LFT_Pos,";\n")
#write (file, " #declare BM_Hair_Rot = ",BM_Hair_Rot,";\n")
#write (file, " #declare BM_Hair_Arch = ",BM_Hair_Arch,";\n")
#write (file, " #declare BM_Hair_Thck = ",BM_Hair_Thck,";\n")
#write (file, " #declare BM_Hair_Line = ",BM_Hair_Line,";\n")
#write (file, " #declare BM_Hair_LDpth = ",BM_Hair_LDpth,";\n")
#write (file, " #declare BM_Hair_Wght = ",BM_Hair_Wght,";\n")
#write (file, " #declare BM_Hair_Hght = ",BM_Hair_Hght,";\n")
#write (file, " #declare BM_Hair_Length = ",BM_Hair_Length,";\n")
#write (file, " #declare BM_Hair_Curl = ",BM_Hair_Curl,";\n\n")
#write (file, " #declare BM_PoseNo = -1;\n\n")
#write (file, "// End of File")
#fclose file
#ifdef (Costume)
#include Costume
#end
#declare BM_PoseNo=-1;
Blob_Man(BM_Gender,0)
#else
/****************************************************************
Use Pre-Defined Poses
*****************************************************************/
#include "bm_pose.inc"
#ifdef (Costume)
#include Costume
#end
Blob_Man(BM_Gender,0)
#end
/****************************************************************
Lights, Camera and Setting
*****************************************************************/
camera{location <0,-40,-100> orthographic look_at <0,-40,0> }
light_source{<-200,200,-200> rgb <1,.9,.5> }
light_source{< 400,400,-200> rgb <.2,.4,.8> shadowless }
light_source{<-200,200,-200> rgb .7 shadowless }
light_source{< 100, 50,-150> rgb .5 shadowless }
light_source{< 100,-50,-150> rgb .3 shadowless }
light_source{<-100,-50,-150> rgb .1 shadowless }
background {rgb Background}
/****************************************************************
The Models
****************************************************************/
object {BlobMan translate x*-15 no_shadow}
object {BlobMan rotate y*180 translate x* 45 no_shadow}
object {BlobMan rotate y* 90 translate x*-45 no_shadow}
object {BlobMan rotate y*-90 translate x* 15 no_shadow}
object {BlobMan rotate x*-90 translate y*-75 translate x*-15 no_shadow}
object {BlobMan rotate y*180 rotate x*90 translate y*-75 translate x* 45 no_shadow}
text {
ttf
"crystal.ttf",
#if (BM_Gender=0)
#ifdef (Costume)
concat ("Blob Man v4.0 - ",Costume),
#else
"Blob Man v4.0",
#end
#else
#ifdef (Costume)
concat ("Blob Lady v4.0 - ",Costume),
#else
"Blob Lady v4.0",
#end
#end
.1,
0
translate <-11.5,1.5,0>
pigment {rgb 1}
finish {ambient 1}
no_shadow
scale 6
}
// EOF