TORQUE引擎里如何生成一个在天空中移动的太阳(How to create a sun moving on the sky in the Torque)

来源:互联网 发布:国外法律硕士 知乎 编辑:程序博客网 时间:2024/04/30 15:34

Note:The block about How to create a sun moving on the sky in the Torque.
Torque游戏引擎QQ群成员文章:(←程泊☆晓→  QQ:154141370)

TORQUE里的任务文件,又叫场景文件,它是一个以.mis为后缀文件,一般你可以在data/missions文件夹下找到游戏所需的所有场景文件,场景文件顾名思义,它定义了游戏里有什么东西,以及这些东西所处的位置,包括这些东西的属性,比如水和房子等东西的属性。下面定义一个能模拟真实太阳移动的一个SUN BLOCK,具体如下:

打开任务文件,加入以下代码:
new fxSunLight(sunflare1) {
      LockToRealSun=1;     //是否锁住不动。若为动态的则不要锁住。
      position = "98.5277 -289.053 188.13";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      Enable = "1";     //
      LocalFlareBitmap = "common/lighting/corona"; //近处闪耀图文件
      RemoteFlareBitmap = "common/lighting/corona"; //远处的闪耀图文件
      SunAzimuth = "193";
      SunElevation = "10";    //海拔
      FlareTP = "1";     //是否闪耀
      Colour = "1.000000 1.000000 1.000000 1.000000"; //颜色
      Brightness = "1";     //亮度
      FlareSize = "1.5";    //闪耀尺寸
      FadeTime = "0.1";     //淡入时间
      BlendMode = "0";     //混合模式,0表示黑色为透明。
      AnimColour = "0";     //是否动画颜色,若是则在所设颜色和最低色        //值(黑色间转换)效果不大好。
      AnimBrightness = "1";    //是否动画亮度,否,太阳亮度不变,不闪。
      AnimRotation = "1";    //是否旋转,太阳外围光线旋转。
      AnimSize = "1";     //是否动画尺寸,太阳闪耀尺寸变化。
      AnimAzimuth = "0";    //是否动画方位,太阳在同一高度水平移动。
      AnimElevation = "0";    //是否高度动画。太阳高度不断变化,东升西        //落
      LerpColour = "1";
      LerpBrightness = "1";
      LerpRotation = "1";
      LerpSize = "1";     //是否渐渐放大,取消则太阳尺寸突变。当然        //如果设置动画尺寸为真的话。其它lerp开头        //的属性都类似这个意思
      LerpAzimuth = "1";
      LerpElevation = "1";
      LinkFlareSize = "0";    //是否链接闪耀尺寸    
      SingleColourKeys = "1";    //是否单一关键色
      MinColour = "0.000000 0.000000 0.000000 1.000000";//最小颜色值
      MaxColour = "1.000000 1.000000 1.000000 1.000000";//最大颜色值
      MinBrightness = "0.4";    //最小亮度
      MaxBrightness = "1";    //最大亮度
      MinRotation = "0";    //最小旋转角
      MaxRotation = "359";    //最大旋转角
      minSize = "1";     //最小尺寸
      maxSize = "2";     //最大尺寸
      MinAzimuth = "0";     //最小方位角
      MaxAzimuth = "359";    //最大方位角
      MinElevation = "-30";    //最小高度-90为最底,0为左水平,90为头上,180为右水平,270为最底。
      MaxElevation = "210";    //最大高度,一般和其z轴高度相同最好。
      RedKeys = "AZA";     //红色键
      GreenKeys = "AZA";    //绿色键
      BlueKeys = "AZA";     //蓝色键
      BrightnessKeys = "JAZJTAJ";   //亮度键
      RotationKeys = "ZA";    //旋转键,zA表示逆时针转,若为zaz则转到一定程度还会再顺时转。
      SizeKeys = "ATAZA";    //尺寸键
      AzimuthKeys = "AZ";    //方位角键
      ElevationKeys = "AZ";    //高度键,az表示不再返过来,例如太阳从西边升起?
      ColourTime = "5";     //颜色时间
      BrightnessTime = "10";    //亮度时间
      RotationTime = "40";    //旋转时间
      SizeTime = "30";     //缩放时间
      AzimuthTime = "5";    //调整方位时间
      ElevationTime = "5";    //调整高度时间
   };

原创粉丝点击