2 * luminous direction vector
4 * License : The MIT License
5 * Copyright(c) 2011 MikuToga Partners
8 package jp.sourceforge.mikutoga.vmd.model;
13 * ワールド座標原点から伸びる方向ベクトルとして記述される。
14 * この方向ベクトルに向けて、無限遠の光源から照明が当たる。
15 * <p>MMDのスライダUI上では各軸成分の定義域は-1.0以上+1.0以下だが、
16 * さらに絶対値の大きな値を指定することも可能。
17 * <p>方向ベクトルの長さは演出上の意味を持たないが、
18 * キーフレーム間の照明方向の補間に影響を及ぼすかもしれない。
19 * <p>方向ベクトルが零ベクトル(0,0,0)の場合、MMDでは全ポリゴンに影が落ちる。
21 public class LuminousVector {
24 public static final float DEF_VECX = -0.5f;
26 public static final float DEF_VECY = -1.0f;
28 public static final float DEF_VECZ = +0.5f;
31 private float vecX = DEF_VECX;
32 private float vecY = DEF_VECY;
33 private float vecZ = DEF_VECZ;
39 public LuminousVector(){
47 * @param vecX ベクトルのX成分
49 public void setVecX(float vecX) {
56 * @param vecY ベクトルのY成分
58 public void setVecY(float vecY) {
65 * @param vecZ ベクトルのZ成分
67 public void setVecZ(float vecZ) {
76 public float getVecX() {
84 public float getVecY() {
92 public float getVecZ() {
98 * @return {@inheritDoc}
101 public String toString(){
102 StringBuilder result = new StringBuilder();
104 result.append("x=").append(this.vecX);
105 result.append(" y=").append(this.vecY);
106 result.append(" z=").append(this.vecZ);
108 return result.toString();