出自Terraria Wiki
前往: 導覽搜尋

泰拉瑞亞中的一種機制,會影響各種物體的運動以及大風天沙塵暴的發生。

風速的範圍是在 0 到 40 mph 之間。風可以從東面或西面吹來。諸如天氣收音機之類的信息配飾所顯示的風向指的是風哪邊從來,而非哪邊吹去(因此,例如「25 mph 西風」意味著風以 25 mph 風速從西邊吹來)。

主要影響不會影響遊戲玩法事物,比如雲的移動速度、暴雪和沙塵暴的背景效果、和面與樹的動畫。不過,它偶爾也會對遊戲玩法有影響,比如它對爆炸泡泡的影響和對遭受強風折磨的玩家的影響。宇宙車鑰匙所召喚的UFO坐騎似乎也會稍微被風所推動,但很難察覺到,除非長時間對著某個角落發射會反彈的武器。

電腦版 風速為 20 mph 或更高時會發生大風天事件,在風速降低到 17 mph 以下時結束。驗證

天氣收音機探魚器個人數字助手、和手機全都能在屏幕右上角列出風速。

功能 電腦版[編輯 | 編輯原始碼]

代碼中有兩個控制風速的核心值:windSpeedCurrentwindSpeedTarget,二者均每嘀嗒[1]更新一次。windSpeedCurrent 的變化速率由以下公式確定:

speed = |windSpeedTarget/50 * (1 + 降雨强度 * 5/9) - windSpeedCurrent/50| * 0.0015;

其中 windSpeedTarget 和 windSpeedCurrent 值的單位為遊戲所使用的 mph。遊戲將兩個值都存儲為浮點值,當 < 0 時是東風,> 0 時是西風。 世界在創建時,會帶有不超過 20 mph 的風,並且會設置變量 windCounter 來防止風速在接下來的 15 - 45 秒內有變化。這段時間結束後,會有一些隨機幾率會在一定量以內加強或減弱風,每 15 - 45 秒就會這麼循環一次(「陣風」)。[2]

幾率 目標風速變化
25% -1.25 mph 到 1.25 mph
37.5% -2.5 mph 到 2.5 mph
37.5% -5 mph 到 5 mph

有第二個計數器(extremeWindCounter),它在每一次陣風出現時都會減一。當它到達零時,會引發「極端陣風」。在世界生成過程中和發生極端陣風時都會重置這個計數器。

幾率 發生
21.66% 目標風速設置為 0,接下來 2 - 8 分鐘內不會出現陣風。
21.66% 目標風速會增加 -10 mph 到 10 mph
36.83% 目標風速會增加 -20 mph 到 20 mph
19.85% 目標風速會增加 -40 mph 到 40 mph

當極端陣風出現時,目標風速將決定經過多少次陣風后會發生下一次極端陣風。

目標風速 出現極端陣風所需的陣風數量
0 - 15 mph 10 - 30 次陣風
> 15 mph 15 - 40 次陣風
> 25 mph 20 - 50 次陣風
> 35 mph 25 - 60 次陣風

最後,如果某次陣風讓風向改變,則目標風速有 66% 幾率會翻轉回到原來的方向。 完成所有這些步驟之後,目標風速會被限制為不超過 40 mph。

影響[編輯 | 編輯原始碼]

風會有以下影響:

對象 效果
大風天 當風速在任意方向上為 20 mph 或更高時會發生此事件。
沙塵暴 當風速在任意方向上為 30 mph 或更高時有幾率發生。
Windy BalloonWindy Balloon電腦版 影響移動方向和生成位置。生成速度會隨著風速提高而提高。
憤怒蒲公英憤怒蒲公英電腦版 影響所發射射彈的方向、動畫和運動,以及敵怪自身的動畫。敵怪只能在風所吹的方向上發射。生成速度會隨著風速提高而提高。
瓢蟲瓢蟲電腦版 影響移動方向;只在風在任意方向上超過 20 mph 時才會生成。
靈霧電腦版 影響移動方向。
Release DovesRelease Doves電腦版 影響移動方向。
風箏風箏電腦版 不在牆後面時會推動之。
水 影響動畫,當水波質量啟用時還會影響扭曲。
八音盒八音盒電腦版、主機版、前代主機版、和移動版 影響音符的飄動方向。
呆萌氣球機呆萌氣球機電腦版主機版 影響氣球移動。
降水(暴雪沙塵暴、等等) 影響微粒運動。
影響飄動方向。
泡泡機泡泡 影響飄動方向。
爆炸泡泡爆炸泡泡 影響飄動方向。
憤怒翻滾怪憤怒翻滾怪電腦版主機版 推動。
派對派對背景氣球電腦版主機版 影響氣球飄動方向。
強風電腦版主機版減益的玩家 推動。
北極北極的雪花 影響飄動方向。
紙飛機紙飛機電腦版 帶走。
Snake Charmer's FluteSnake Charmer's Flute電腦版 影響使用長笛所產生的音符。
背景氛圍 影響背景中斷線風箏、蝴蝶群、天馬、妖精群、禿鷹、鳥群、海鷗群、腹足怪群、氣球史萊姆群、地獄蝙蝠群、蝙蝠群、飛龍、熱氣球和飛艇的移動。
煙囪煙囪電腦版、主機版、和移動版 電腦版 推動其所冒出的煙霧微粒。
螢火蟲螢火蟲 / 螢光蟲螢光蟲 當風在任意方向上超過 20 mph 時不會生成。
蝴蝶蝴蝶 當風在任意方向上超過 20 mph 時不會自然生成或通過搖樹生成。
Witch's BroomWitch's Broom電腦版 會推動把手頂部的小燈。
樹葉塊樹和生命樹樹葉塊 隨著風速增加葉子也會更頻繁地掉落。掉落的葉子也會受風所影響。
樹Treetops 長著樹葉的樹梢會有動畫。
蔓藤蔓藤 推動。
Lantern NightLantern Night時的背景燈籠電腦版 影響飄動方向。
Release LanternRelease Lantern電腦版 影響飄動方向。
風的氛圍曲子 影響音量。僅當風速大於 20 mph 時才會播放。
瀑布 影響動畫。
風車風車電腦版 影響旋轉動畫。
三角旗三角旗電腦版 影響動畫速度。
Weather VaneWeather Vane電腦版 影響動畫。

家具[編輯 | 編輯原始碼]

一些家具,當其處於地表上,位於以下任意牆前面、或者其後面根本沒有牆時,會受風影響。

滿足以上條件時,以下家具會受風影響。

強風 電腦版[編輯 | 編輯原始碼]

  • 強風默認情況下每秒會推動玩家 mph * 0.0012 像素。如果風速 > 25mph,此數值還會增加 37%。如果玩家正在墜落或跳躍,此數值會提高 50%。最後,如果玩家向左或向右移動,此數值會降低 20%,並且最後會被限制為不超過 0.072 像素/幀。
  • 以足夠的速度迎風奔跑會讓玩家出現類似於穿著赫爾墨斯靴奔跑時的那種效果的微粒。
  • 騎著坐騎在固定高度上向左或向右移動時會抵消強風的影響。

備註[編輯 | 編輯原始碼]

  • 當正好為 0 mph 時,遊戲會將其視為西風,但由於風速使用的是小數系統,此值通常只是接近但不會正好是 0。
  • 在標題屏幕上,會初始化出一個最高 40 mph 的風速。但這並不會帶入生成的世界中,世界內會以最高 20 mph 的風速開始。
    • 由於這些初始速度,世界有 1/400 幾率生成時就處於大風天狀態。
  • 旅遊模式中,如果玩家控制風速,那麼在Lantern Night期間風速會降到零。
  • 只有目標風速會隨同世界存檔,加載這個世界時,當前風速會被設置為目標風速。這會使得玩家退出又重新進入世界後風速上會有輕微不同。

花絮[編輯 | 編輯原始碼]

在較低的風速時,每嘀嗒內葉子從樹上掉落的頻率較低(5 mph → 1/2000 幾率、10 mph → 1/1000、15 mph → 1/450、……40 mph → 1/50)。雖然最大風速是 40mph,但卻有針對 55 mph 及更高風速情況的代碼,幾率為每嘀嗒 1/10。

廢棄的射彈物理[編輯 | 編輯原始碼]

在遊戲代碼中,有一個布爾值 Main.windPhysics 可以開關一個特性:射彈會受風影響。因為它處于禁用狀態,因此目前遊戲中並沒有這樣的特性。以下是關於此特性效果的詳細描述。

值得注意的是,此特性會試圖在北極上禁用風的效果,但不清楚這是為了防止和現有代碼衝突還是為了徹底移除此特性。

當此特性被激活時,以下所有射彈,當其位於地表上且未卡債圖格中或在牆後時,都會受風影響。這僅當它們沿當前風向移動且其 x 速度低於 wind mph * 0.36 時才會發生。這會讓它們的 x 速度每嘀嗒改變 wind mph * 0.002 像素,或者說每秒 wind mph * 0.12 像素。

在這種情況下,射彈的 x 速度不能超過 16,但實際上永遠不會達到此限制,因為可能的最大風速,40 mph,只能將射彈吹到每嘀嗒 14.4 像素。

  • 功能 主機版移動版[編輯 | 編輯原始碼]

    遊戲在決定風速時會用到兩個基準值:「windSpeed」和「windSpeedSet」。windSpeedSet 這個值用來決定 windSpeed 應當逐漸變化成為的值,但在整個代碼中實際上交錯地使用兩個值來影響某些對象。遊戲採取以下步驟來決定確定風速:

    • 如果 windSpeed 不等於 windSpeedSet,讓其接近 0.001
    • 改變 windSpeedSpeed,變化幅度為 -.001 到 .001 (夜晚時是 -.002 到 .002)
    • 將 windSpeedSpeed 限制到 -.002 到 .002 內
    • 改變 windSpeedTemp,幅度為 windSpeedSpeed (如果下則為 windSpeedSpeed * 2)
    • 將 windSpeedTemp 限制到 0.3 + 0.5 * (云覆盖率百分比 / 100)
    • 將 windSpeedSet 的值設為 windSpeedTemp
    • 循環

    總的來說,這意味著夜間及下雨時風速會更強。然而,由於沙塵暴並不算做下雨,所以沙塵暴實際上並不會導致風速增加。同樣值得注意的是,天空中更多的雲意味著更高的風速,無論是否下雨。

    參考[編輯 | 編輯原始碼]

    1. 嘀嗒是可由軟體計數的時間單位。泰拉瑞亞的大多數更新邏輯都會每嘀嗒發生一次。一個嘀嗒的長度為 1/60 秒,因此一秒鐘內有 60 嘀嗒,一分鐘內有 3600 嘀嗒。
    2. 信息來自電腦版 電腦版 1.4.0.5 原始碼,Terraria.Main.cs 中的 UpdateWeather() 函數