4 * License : The MIT License
5 * Copyright(c) 2011 MikuToga Partners
8 package jp.sfjp.mikutoga.vmd.model;
10 import java.text.MessageFormat;
11 import jp.sfjp.mikutoga.math.MkVec3D;
12 import jp.sfjp.mikutoga.vmd.AbstractNumbered;
17 * ワールド座標原点から伸びる方向ベクトルとして記述される。
18 * この方向ベクトルに向けて、無限遠の光源から照明が当たる。
20 * 方向ベクトル各軸成分の定義域は-1.0以上+1.0以下だが、
21 * さらに絶対値の大きな値を指定することも可能。
22 * <p>方向ベクトルの長さは演出上の意味を持たないが、
23 * キーフレーム間の照明方向の補間に影響を及ぼすかもしれない。
24 * <p>方向ベクトルが零ベクトル(0,0,0)の場合、MMDでは全ポリゴンに影が落ちる。
26 public class LuminousMotion extends AbstractNumbered {
29 public static final double DEF_VECX = -0.5;
31 public static final double DEF_VECY = -1.0;
33 public static final double DEF_VECZ = +0.5;
35 private static final String MSG_TXT =
36 "#{0} luminous color : {1} direction : {2}";
39 private final LuminousColor color = new LuminousColor();
40 private final MkVec3D direction = new MkVec3D();
46 public LuminousMotion(){
48 this.direction.setVector(DEF_VECX, DEF_VECY, DEF_VECZ);
57 public LuminousColor getColor(){
65 public MkVec3D getDirection(){
66 return this.direction;
71 * @return {@inheritDoc}
74 public String toString(){
76 msg = MessageFormat.format(MSG_TXT,
77 getFrameNumber(), this.color, this.direction );