Eye Position Setup:jp

From Valve Developer Community
Jump to: navigation, search
English

実行形式のキャラクターモデルをコンパイルする前に、目の位置のデータ設定を行う必要があります。後でモデルを編集したときでも、目の位置が変わらなければこれらの設定を変更する必要はありません。 これは女性モデルの1つにおける目のデータです:

//start eye/face data
$eyeposition 0 0 70

// head controllers
$attachment "eyes" "ValveBiped.Bip01_Head1" 0.002 -3.6165 65.0652 absolute
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.10 -5.70 0.00 rotate 0 -80 -90
$attachment "chest" "ValveBiped.Bip01_Spine2" 4.00 4.00 0.00 rotate 0 95 90

$model female_06 "female_06_reference.smd"{
     eyeball righteye "ValveBiped.Bip01_Head1" -1.2783 -3.6165 65.0663 "eyeball_r" 1 4 "pupil_r" 0.63
     eyeball lefteye "ValveBiped.Bip01_Head1" 1.2823 -3.6165 65.0642 "eyeball_l" 1 -4 "pupil_l" 0.63

     eyelid  upper_right "female_06_expressions" lowerer 1 -0.2275 neutral 0 0.1475 raiser 2 0.2559 split 0.1 eyeball righteye
     eyelid  lower_right "female_06_expressions" lowerer 3 -0.2879 neutral 0 -0.2046 raiser 4 -0.0462 split 0.1 eyeball righteye
     eyelid  upper_left "female_06_expressions" lowerer 1 -0.2275 neutral 0 0.1475 raiser 2 0.2559 split -0.1 eyeball lefteye
     eyelid  lower_left "female_06_expressions" lowerer 3 -0.2879 neutral 0 -0.2046 raiser 4 -0.0462 split -0.1 eyeball lefteye

     mouth 0 "mouth" "ValveBiped.Bip01_Head1" 0 1 0     // mouth illumination

     flexfile "Female_06_expressions" {
          $include "../../standardflex_xsi.qci"
     }

     $include "../../facerules_xsi.qci"
     $include "../../bodyrules_xsi.qci"
}
//end eye/face data

QCEyesアプレットを使って目のデータの出力を行うことも、以下の説明をみて自分で計算することもできます。 注意: 手順をはじめるまえに、目のために用意した球体を正しい位置に移動させて全ての変換をフリーズ(Freeze All Transforms)してください。 モデルの目の位置データを得るには、以下のようにしてください: 1. それぞれの目の中心点の座標をの3軸全てについて調べてください。(まず目の球体の全ての変換をフリーズ(Freeze All Transforms)するのを忘れないでください)

Righteye_center_X
Righteye_center_Y
Eye XY R.jpg
Righteye_center_Z Eye Z R.jpg
Lefteye_center_X
Lefteye_center_Y
Eye XY L.jpg
Lefteye_center_Z Eye Z L.jpg

2. それぞれの目のまぶたの初期状態、上がった状態、下がった状態の位置のY座標を調べてください。(キャラクタが対称の場合、1つの目の位置のデータをもう片方の目に適用できます。)

Right_upper_def (上まぶた、初期状態、フレーム0) Eye upper mid.jpg
Right_upper_lo (上まぶた、上がった状態、フレーム1) Eye upper lo.jpg
Right_upper_hi (上まぶた、下がった状態、フレーム2) Eye upper hi.jpg
Right_lower_def (下まぶた、初期状態、フレーム0) Eye lower mid.jpg
Right_lower_lo (下まぶた、上がった状態、フレーム3) Eye lower lo.jpg
Right_lower_hi (下まぶた、下がった状態、フレーム4) Eye lower hi.jpg
Left_upper_def (上まぶた、初期状態、フレーム0) Eye upper mid.jpg
Left_upper_lo (上まぶた、上がった状態、フレーム1) Eye upper lo.jpg
Left_upper_hi (上まぶた、下がった状態、フレーム2) Eye upper hi.jpg
Left_lower_def (下まぶた、初期状態、フレーム0) Eye lower mid.jpg
Left_lower_lo (下まぶた、上がった状態、フレーム3) Eye lower lo.jpg
Left_lower_hi (下まぶた、下がった状態、フレーム4) Eye lower hi.jpg

3. Once you've acquired the position data for the eyeballs and eyelids, as listed above, you'll need to do some simple arithmetic to get the following values: 上のリストにあるような眼球とまぶたのデータを記録したら、簡単な計算をして、以下の値を求めてください:

X_avg_pos Righteye_center_XとLefteye_center_Xの平均
Y_avg_pos Righteye_center_YとLefteye_center_Yの平均
Z_avg_pos Righteye_center_ZとLefteye_center_Zの平均
R_lid_up_hi Right_upper_hi - Righteye_center_Y
R_lid_up_def Right_upper_def - Righteye_center_Y
R_lid_up_lo Right_upper_lo - Righteye_center_Y
R_lid_low_hi Right_upper_hi - Righteye_center_Y
R_lid_low_def Right_upper_def - Righteye_center_Y
R_lid_low_lo Right_upper_lo - Righteye_center_Y
L_lid_up_hi Left_upper_hi - Lefteye_center_Y
L_lid_up_def Left_upper_def - Lefteye_center_Y
L_lid_up_lo Left_upper_lo - Lefteye_center_Y
L_lid_low_hi Left_upper_hi - Lefteye_center_Y
L_lid_low_def Left_upper_def - Lefteye_center_Y
L_lid_low_lo Left_upper_lo - Lefteye_center_Y

4. 目の位置のデータを以下の書式にまとめます:

//start eye/face data
$eyeposition 0 0 70

// head controllers
$attachment "eyes" "ValveBiped.Bip01_Head1" X_avg_pos Z_avg_pos Y_avg_pos absolute
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.10 -5.70 0.00 rotate 0 -80 -90
$attachment "chest" "ValveBiped.Bip01_Spine2" 4.00 4.00 0.00 rotate 0 95 90

$model female_06 "female_06_reference.smd" {
     eyeball righteye "ValveBiped.Bip01_Head1" Righteye_center_X Righteye_center_Z Righteye_center_Y "eyeball_r" 1 4 "pupil_r" 0.63
     eyeball lefteye "ValveBiped.Bip01_Head1" Lefteye_center_X Lefteye_center_Z Lefteye_center_Y "eyeball_l" 1 -4 "pupil_l" 0.63
    
     eyelid  upper_right "female_06_expressions" lowerer 1 R_lid_up_lo neutral 0 R_lid_up_def raiser 2 R_lid_up _hi split 0.1 eyeball righteye
     eyelid  lower_right "female_06_expressions" lowerer 3 R_lid_low_lo neutral 0 R_lid_low_def raiser 4 R_lid_low _hi split 0.1 eyeball righteye
     eyelid  upper_left "female_06_expressions" lowerer 1 L_lid_up_lo neutral 0 L_lid_up_def raiser 2 L_lid_up _hi split -0.1 eyeball lefteye
     eyelid  lower_left "female_06_expressions" lowerer 3 L_lid_low_lo neutral 0 L_lid_low_def raiser 4 L_lid_low split -0.1 eyeball lefteye
    
     mouth 0 "mouth" "ValveBiped.Bip01_Head1" 0 1 0     // mouth illumination
    
     flexfile "Female_06_expressions" {
          $include "../../standardflex_xsi.qci"
     }
    
     $include "../../facerules_xsi.qci"
     $include "../../bodyrules_xsi.qci"
}
//end eye/face data

参考ページ