陳 明,覃 坤
(1.核動力運行研究所,武漢 430223;2.中核武漢核電運行技術股份有限公司,武漢 430223)
核電廠全范圍模擬機是一個數字化的核電廠實時仿真系統,通過對核電廠設備、系統的模擬,實現了核電廠的虛擬運行,其主要以二維曲線式的信息及參數化的內容為展示主體,不能完全滿足非專業技術人員對核電運行原理的培訓需求。同時非專業人員參觀模擬機時,每次均需要專業人員進行大量講解,且效果不佳,為了解決以上問題,增強核電廠模擬機培訓的立體感及真實感,開發了基于Unity3D的模擬機二維及三維可視化展示系統。
Unity3D是一個用于開發三維展示、模擬場景等類型互動內容的專業游戲級開發引擎。其開發技術體系主要包含3D展示技術、UI技術、特效技術、數據庫技術、互動交互技術等。其圖像渲染引擎采用OpenGL、API和Direct3D,能支持Max、Maya、Pro/e等多種常用建模軟件輸出的模型文件。另外,具有強大易用的著色系統、物理特效、粒子特效、三維效果、項目發布和光影渲染等功能支撐,使得Unity具有簡單易學、靈活便捷、高效快速等特性。

圖1 系統實施流程Fig.1 System implementation process
Unity支持3種腳本語言:C#、Java和Boo,用戶可以通過編寫腳本附加到特定對象上以實現各種功能。Unity內置一個強大的光影貼圖烘焙工具及相關的物理引擎,通過Unity3D平臺可以逼真地展示核電廠房及廠房內設施的結構形狀和運行特點。
本系統后端與模擬機相連,能夠讀取模擬機的實時數據,并通過前端二維/三維可視化場景進行動態展示。系統前端采用二維及三維建模技術構建核電廠的主要系統設備和管網,通過場景交互技術實現展示圖形化的系統設備,采用動態特效技術展示管網的水流、霧化等效果;通過該系統,能夠直觀形象地觀察和了解核電廠機組和設備狀態。
本系統采用專業三維軟件Pro/e進行初步建模,在建立好的模型基礎上采用MAYA軟件進行優化處理調整模型的布線、頂點拓撲結構。主要部件使用三維模型表現,次要部件及二維效果使用貼圖表現。在模型處理階段,將所有物體進行模塊化處理和優化,在不影響數據精度的前提下,大幅減少模型頂點數,模型數據規范,清除游離點、法線翻轉的面、錯誤的光滑組、未清除的歷史等,對模型命名進行規范統一。最終保證模型可以在引擎中流暢運行和編輯,并且能夠高度還原實際場景。模型處理流程如圖2所示。
使用UVLayout軟件和Maya自帶工具合理分配UV(貼圖坐標),在這個階段合理制作共享貼圖,按照次時代游戲制作的標準,避免UV空間的浪費,保證使用率在70%以上。

圖2 模型處理流程Fig.2 Model processing flow

圖3 材質實例化示意圖Fig.3 Material instantiation diagram
該環節需要制作兩套UV,用作烘焙燈光貼圖的UV空間,使用Quixel Suite、Substance Painter、Photoshop等專業軟件結合制作貼圖,整個制作流程完全按照PBR(基于物理的渲染)要求制作,PBR流程采用Metallic-Roughness(金屬度——粗糙度)流程,一套貼圖包括Albedo(固有色),Metallic(金屬度),Roughness(粗糙度),Normal(法線貼圖),Ambient Occlusion(環境閉塞貼圖)等相關要求進行制作。
貼圖制作的素材按照統一路徑和命名導入引擎,在引擎中制作材質球并賦予物體。制作材質將使用Material Instance(材質實例化)對材質的最終渲染進行優化和美化。
場景中的所有金屬貼圖都經過精確設計,只使用同一個材質球,將各種貼圖以及屬性進行參數化,這樣所有的金屬材質都使用同一個材質球的不同實例(Instance)。因此,渲染效率會得到大幅地提高。
如圖3所示,最左側的為普通材質球(作為其他材質的“父”材質),中間和右邊的為材質實例,可以看出,經過精心設計,同一個材質通過更換貼圖和參數,可以達到效果完全不同的材質實例效果。該圖中3個物體的渲染實質使用的是同一個材質,比起使用3個材質,性能上得到了提升。通過將該技術的合理運用,在大量模型和材質的場景中,會大幅提高運行效率,美化場景效果,采用細節貼圖,能夠以較少的資源達到較高的精度和畫面品質。

圖4 接口系統組成圖Fig.4 Interface system composition diagram

圖5 系統二維展示界面Fig.5 System two-dimensional display interface
數據接口系統是連接可視化系統和模擬機系統的中轉系統,由如下兩個模塊組成,兩個模塊通過共享內存區實現數據共享。
CNPO3DServer模塊:從模擬機獲取數據。
本模塊依照模擬機的程序框架編寫并被模擬機調度,本模塊和模擬機其它系統的加載、卸載方式一致。調度頻率可根據實際使用需求進行修改,在模擬機運行、凍結狀態都被調度。
TCPCOM模塊:從模擬機獲取的數據通過網絡協議發送到3D顯示系統。
本模塊在CNPO3DServer被加載時,開始獨立運行,當CNPO3DServer被卸載時終止運行。
三維引擎中需要展示的主要包括二維展示、三維展示及特效展示。

圖6 閥門二維動態展示符號(左為電動閥,右為手動閥)Fig.6 Two-Dimensional dynamic display of the valve (Electric valve on the left, manual valve on the right)

圖7 主要廠房及內部主要系統布局Fig.7 Main plant and internal main system layout
可視化系統中的所有的二維展示及特效,如包括管道內部介質流速、溫度、方向及閥門開度等,都與模擬機數據進行實時對接,并與模擬機數據呈相關性表現。
可視化系統對二維管道內的流體進行了分類,區分了不同的流體類型,如液態水、汽態水、空氣等,同時采用不同形狀的圖標進行差異化展示。
可視化系統對不同的閥門進行了分類,如電動閥、氣動閥、單向閥、手動閥,同時采用不同形狀的圖標進行差異化展示,使得用戶能夠一目了然區分不同類型的閥門。
三維展示內容主要包括廠房結構展示及主要設備結構展示。系統的動態特效也附著在三維模型上,并與模擬機數據進行實時對接,包括特效的開啟、關閉、增大、減小等。主要特效包括安全殼溫度場、壓力場;中子注量率;壓力容器水位、溫度;蒸汽發生器水位、溫度;主泵轉速;一回路破口大小;噴淋系統開啟及大小等。
粒子特效展示系統是一種用于模擬不規則物體或自然場景的方法,這些不規則物體的特點是具有一定規律,但又呈動態性和隨機性。粒子系統中的每個粒子都具有形狀、大小、顏色、透明度、運動速度、運動方向、生命周期等多種屬性,而且這些粒子隨時間的推移不斷變化,在時間和空間上具有動態分布特性,從而能夠真實地模擬出具有復雜運動規律的動態特效[1]。

圖8 一回路主設備及破口特效展示Fig.8 Primary circuit main equipment and break special effects display

圖9 粒子特效處理過程Fig.9 Particle effect process

圖10 核島廠房內部溫度場粒子特效Fig.10 Nuclear island plant internal temperature field particle effects
粒子系統是用來模擬不規則現象和動畫生成的高效技術,目前已經被廣泛的應用于各大游戲引擎及三維軟件之中,相比于其他的算法如林頓梅伊爾系統、分形構圖系統等,粒子系統的適當使用能夠很好地兼顧顯示質量和運算效率,是目前為止用來模擬不規則模糊現象和物體的較為成功的圖形生成算法。粒子系統在總體上會有一定確定屬性的表現規律,但是對于單獨的個體卻會有一定隨機屬性表現出不同的特點。
Unity3D 中的粒子系統由Ellipsoid Particle Emitter(橢圓粒子發射器)、Particle Animator(粒子動畫器)、Particle Renderer(粒子渲染器)3個部分所組成。橢圓粒子發射器是用來生成粒子的組件,該模塊定義了粒子有規律或者無規律的大小、速度、顏色、持續時間、初始角度等屬性來模擬所需要產生的粒子效果,橢圓粒子發射器的所在的坐標便是粒子初始化的坐標。粒子動畫器是將粒子發射器產生的粒子進行二次定義,一般是粒子屬性隨時間或距離改變的變化規律,如增加粒子的發射速度,改變粒子的旋轉角度,改變粒子的顏色,改變粒子的形狀等。粒子渲染器的主要工作是將粒子效果渲染到可視化系統中,將粒子產生的效果直接顯示在輸出設備上,讓用戶直觀地看到效果,并且這個組件還可以決定粒子的材質、光影等[2]。
本系統中的三維特效,如安全殼溫度場、壓力場;中子注量率;壓力容器水位、溫度;蒸汽發生器水位、溫度、破口;主泵轉速;一回路破口大小;噴淋系統開啟及大小等都采用了動態粒子擴散手段進行展示,能夠高效快捷形象生動地展示這些復雜的三維現象,并降低系統運行壓力,保證系統流暢運行;同時動態粒子擴散特效展示方法能夠方便地和模擬機參數進行關聯,并呈一致性關聯,即實現了動態特效展示的參數化表現。
在本系統中向場景中添加一個包含粒子發射器、粒子動畫器、粒子渲染器等組件的煙霧粒子系統并設置每個粒子系統的形狀大小和持續時間以及單位時間內可以產生的粒子數量、粒子的運動特點、粒子的材質貼圖等屬性。粒子系統與模擬機進行實時對接,粒子系統的形狀大小和時間壽命等都由模擬機的實時參數驅動,能夠實時展示系統的工況特點。以溫度場為例,粒子系統顏色值由模擬機給出的廠房內部的溫度值來實時驅動,不同溫度之間的過渡則做插值計算。
通過在Unity3D中設置粒子特效,配合實時模擬機數據進行機組狀態的展示,可以更加直觀、形象地展示核電廠的運行特點和當前模擬機的運行狀態,能夠增加培訓手段,提升培訓效果。