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"; //調整高度時間
};