• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Unity3D的斷路器教學(xué)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2019-05-24 14:17杜猛王大虎
      軟件導(dǎo)刊 2019年5期
      關(guān)鍵詞:交互性斷路器

      杜猛 王大虎

      摘 要:電氣設(shè)備培訓(xùn)中,因電氣設(shè)備結(jié)構(gòu)復(fù)雜、工作過程抽象,導(dǎo)致學(xué)生不易理解,一直是教學(xué)難點(diǎn)。為此,以斷路器為例,基于Unity3D開發(fā)引擎,運(yùn)用C#腳本語(yǔ)言和UI框架設(shè)計(jì),對(duì)斷路器培訓(xùn)系統(tǒng)進(jìn)行設(shè)計(jì)與開發(fā),對(duì)斷路器分類、結(jié)構(gòu)、拆裝和工作原理進(jìn)行了展示。該系統(tǒng)交互性好,培訓(xùn)人員理解方便,且可隨時(shí)隨地進(jìn)行培訓(xùn),重復(fù)利用成本低廉。

      關(guān)鍵詞:Unity3D;斷路器;交互性;UI框架設(shè)計(jì)

      DOI:10. 11907/rjdk. 182163

      中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2019)005-0102-04

      Abstract: In the current training of electrical equipment, it has been the teaching hard point that students can hardly understand the complex structure of electrical equipment and abstract work process. In view of this difficulty, this paper takes the circuit breaker as an example, and uses the C# scripting language and UI framework design to design and develop the circuit breaker training system based on the Unity3D development engine. The classification, structure, disassembly and assembly and working principles of the circuit breaker and demonstrated. The system is of good interactivity, convenient for trainers to understand, and can be trained anytime and anywhere, and it has low recycling cost.

      Key Words: Unity3D; circuit breaker; interactivity; UI framework design

      0 引言

      斷路器作為電力系統(tǒng)不可或缺的設(shè)備之一,其作用是對(duì)電力系統(tǒng)中的各種設(shè)備進(jìn)行保護(hù),當(dāng)某一部分突發(fā)故障時(shí),啟動(dòng)其它裝置(如保護(hù)裝置等),將故障部分快速?gòu)南到y(tǒng)中切除,使事故損失降到最低[1-3]。但是當(dāng)前對(duì)斷路器的培訓(xùn)還是傳統(tǒng)教學(xué),以書本知識(shí)、教師講解為主。這樣的教學(xué)缺乏生動(dòng)、形象性,不能很好地對(duì)斷路器內(nèi)部結(jié)構(gòu)、動(dòng)作原理進(jìn)行展示,而且有些斷路器頻繁拆開會(huì)導(dǎo)致其密封性下降,影響開斷性能。

      針對(duì)傳統(tǒng)斷路器教學(xué)存在的問題,由伊永飛、朱遠(yuǎn)達(dá)[4]提出的斷路器多媒體教學(xué)軟件,以文字、圖片、聲音、視頻、二維、三維動(dòng)畫形成教學(xué)流程,實(shí)現(xiàn)了理論講解整體和內(nèi)部結(jié)構(gòu)講解、實(shí)際操作錄像相結(jié)合的培訓(xùn)功能,但是該方法交互性較差,培訓(xùn)人員難以產(chǎn)生身臨其境的感覺。王永生[5]將SF6斷路器應(yīng)用在實(shí)訓(xùn)教學(xué)中,結(jié)合實(shí)物、掛圖和三維動(dòng)畫對(duì)斷路器進(jìn)行講解,但費(fèi)用較高。

      本文設(shè)計(jì)的斷路器培訓(xùn)系統(tǒng),基于Unity3D開發(fā)引擎,通過3Ds Max軟件和Photoshop軟件建立三維場(chǎng)景,采用C#腳本語(yǔ)言作為開發(fā)交互語(yǔ)言,對(duì)斷路器的結(jié)構(gòu)和工作原理實(shí)現(xiàn)了動(dòng)態(tài)展示,不僅動(dòng)態(tài)展示效果好,而且交互性強(qiáng),培訓(xùn)效果良好[6-7]。

      1 系統(tǒng)概述

      1.1 系統(tǒng)框架設(shè)計(jì)

      開發(fā)斷路器培訓(xùn)系統(tǒng),首先要在變電站和電氣設(shè)備制造工廠對(duì)斷路器進(jìn)行取景。通過3Ds Max軟件建立模型,采用Photoshop軟件對(duì)模型通過貼圖進(jìn)行優(yōu)化處理,導(dǎo)出為Unity3D兼容FBX格式,然后將模型導(dǎo)入U(xiǎn)nity3D中,通過燈光、攝像機(jī)等完成培訓(xùn)系統(tǒng)場(chǎng)景設(shè)計(jì)[8]。系統(tǒng)設(shè)計(jì)斷路器分類、設(shè)備信息、設(shè)備結(jié)構(gòu)、設(shè)備工作原理4個(gè)模塊,通過UI界面設(shè)計(jì)和C#腳本語(yǔ)言進(jìn)行開發(fā),生成易于理解、操作簡(jiǎn)單、結(jié)構(gòu)清晰的高壓斷路器虛擬培訓(xùn)系統(tǒng)[9]。總體設(shè)計(jì)流程如圖1所示。

      2 虛擬培訓(xùn)系統(tǒng)實(shí)現(xiàn)

      2.1 三維建模

      三維模型是高壓斷路器培訓(xùn)系統(tǒng)的基礎(chǔ)模塊,選用3Ds Max軟件設(shè)計(jì)。該軟件有良好的兼容性,可通過安裝插件實(shí)現(xiàn)增設(shè)功能,除此之外該軟件上手容易、門檻比較低[10]。

      在對(duì)斷路器模型進(jìn)行建模時(shí),必須嚴(yán)格按照所拍攝的模型圖片進(jìn)行,本文以110kVLW型六氟化硫?yàn)槔U述建模過程。六氟化硫斷路器一般由基座、導(dǎo)電部分、滅弧單元、絕緣部件、操作機(jī)構(gòu)、電氣控制和傳動(dòng)元件等部分構(gòu)成。在創(chuàng)建斷路器模型時(shí),要認(rèn)真觀察斷路器整體結(jié)構(gòu),注意各部分之間的比例,從基座開始制作,由基座大小確定其余各部分大小比例[11-12]?;鶠檩S對(duì)稱圖形,建造時(shí)可先建造一半,另一半通過鏡像操作得到,然后通過附加操作讓兩者變?yōu)橐粋€(gè)圖形,最后通過點(diǎn)焊連接在一起。選用長(zhǎng)方體對(duì)其中一半進(jìn)行制作,將長(zhǎng)方體通過點(diǎn)擊右鍵選擇轉(zhuǎn)換為可編輯多邊形。在制作模型時(shí)要注意在不影響整體形狀的情況下盡可能減少模型面的個(gè)數(shù),以方便后期處理避免卡頓。通過選擇點(diǎn)、線、邊界、面等,進(jìn)行一定的擠出、縮放、光滑等操作得到大致模型,然后通過連接、切角等操作進(jìn)行細(xì)化,最后經(jīng)過NURMS轉(zhuǎn)換得到和模型照片相像的模型?;P腿鐖D2所示。

      支持絕緣件由瓷柱、瓷套管、絕緣管等構(gòu)成。制作支持絕緣件時(shí),以圓柱體為主體(注意高度分段,一般選為1),選擇圓柱體的側(cè)邊所有邊進(jìn)行卡線,卡好的線每隔一條選擇一條,經(jīng)過循環(huán)后進(jìn)行選擇并均勻縮放就可得到絕緣子的大致模型。各支持絕緣件都是一模一樣的,按住Shift+移動(dòng)可進(jìn)行復(fù)制,得到其它支持絕緣件。支持絕緣件如圖3所示。

      除上述系列操作外,在面不夠光滑時(shí)給選中的面一個(gè)光滑組就可解決此問題。對(duì)建好的模型進(jìn)行貼圖,通過PS軟件,把模型圖片拖進(jìn)PS中,通過鋼筆工具進(jìn)行摳圖,把摳出來的圖建立新的圖層,隱藏其它圖層,調(diào)出標(biāo)尺,按Ctrl+T調(diào)出圖片變形對(duì)話框,按住鼠標(biāo)右鍵選擇斜切,通過拖拽點(diǎn)形成想要的圖片,最后保存為PNG格式,以便在3Ds Max中貼圖使用。在3Ds Max中選定進(jìn)行貼圖的面,通過材質(zhì)編輯器在漫反射中選擇貼圖圖片應(yīng)用到選擇面上,勾選視口中顯示明暗處理材質(zhì)即可[13-14]。有時(shí)圖形是不規(guī)則的,需要在修改器列表中選擇UVW貼圖命令,在貼圖列表中選擇不同的選項(xiàng)進(jìn)行操作,包括對(duì)齊方式等。操作機(jī)構(gòu)如圖4所示。

      2.2 模型導(dǎo)入平臺(tái)

      Unity3D作為一款兼容性非常強(qiáng)大的引擎,支持多種格式文件,包括從3Ds Max中導(dǎo)出的FBX格式文件[15]。首先選擇導(dǎo)出為FBX格式,在下拉菜單的嵌入媒體進(jìn)行勾選,否則把FBX導(dǎo)入到Unity中時(shí)模型是沒有貼圖的。如果一一在Unity中進(jìn)行貼圖是一件很麻煩的事。然后把FBX格式的文件拖入到Unity中的Project中,注意文件夾名字的取用,方便后期查找。把Project中的模型文件拖入到Hierarchy就可在Scene中顯示模型[16-17]。模型導(dǎo)入U(xiǎn)nity的圖片如圖5所示。

      2.3 UI界面設(shè)計(jì)

      系統(tǒng)界面采用Unity3D自帶的UI界面實(shí)現(xiàn),創(chuàng)建界面步驟如下:首先在Hierarchy窗口中點(diǎn)擊鼠標(biāo)右鍵,選擇UI選項(xiàng),選擇Canvas(畫布)選項(xiàng),在Canvas上點(diǎn)擊右鍵,在列表中選擇Image選項(xiàng)(注意UI圖片只在Canvas下才能看到)。然后在Asserts中導(dǎo)入一張作為背景的圖片,此時(shí)要在該圖片的Inspector中把TextureType類型改為Sprite(2D and UI),因?yàn)橹挥羞@種類型的圖片才能放到Image組件中[18]。直接將圖片拖入到Image的SourceImage中,就可將圖片渲染出來,得到想要的結(jié)果。

      2.4 虛擬交互腳本設(shè)計(jì)

      Unity3D支持多種編譯腳本,本文以C#語(yǔ)言對(duì)斷路器培訓(xùn)系統(tǒng)進(jìn)行交互設(shè)計(jì)。

      通過編寫C#腳本,用鼠標(biāo)對(duì)斷路器進(jìn)行各種操作,不僅對(duì)斷路器進(jìn)行移動(dòng)、旋轉(zhuǎn)、從多方位觀察,還可對(duì)斷路器的拆裝過程及斷路器工作原理進(jìn)行展示 [7,19]。

      用鼠標(biāo)右鍵對(duì)模型進(jìn)行旋轉(zhuǎn)、鼠標(biāo)滑輪滾動(dòng)拉近模型、鼠標(biāo)中鍵按住拖動(dòng)模型部分腳本如下:

      void Update ()

      {

      //平移旋轉(zhuǎn)

      if(Input.GetMouseButton(1))

      {

      x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;

      y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;

      y = ClampAngle(y, yMinLimit, yMaxLimit);

      var rotation = Quaternion.Euler(y, x, 0);

      var position = rotation * new Vector3(0.0f, 0.0f, -normalDistance) + CameraTarget;

      transform.rotation = rotation;

      transform.position = position;

      //縮放

      }else if (Input.GetAxis("Mouse ScrollWheel") != 0)

      {

      normalized = (transform.position - CameraTarget).normalized;

      if (normalDistance >= MouseZoomMin && normalDistance <= MouseZoomMax)

      {

      normalDistance -= Input.GetAxis("Mouse ScrollWheel") * MouseWheelSensitivity;

      }

      if (normalDistance < MouseZoomMin)

      {

      normalDistance = MouseZoomMin;

      }

      if (normalDistance > MouseZoomMax)

      {

      normalDistance = MouseZoomMax;

      }

      transform.position = normalized * normalDistance;

      //拖拽

      }else if(Input.GetMouseButtonDown(2))

      {

      screenPoint = Camera.main.WorldToScreenPoint(target.transform.position);

      offset = target.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));

      }

      if(Input.GetMouseButton(2))

      {

      Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);

      Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;

      target.transform.position = curPosition;

      }

      transform.LookAt(CameraTarget);

      }

      3 效果展示

      系統(tǒng)包含設(shè)備分類、設(shè)備信息、設(shè)備結(jié)構(gòu)、設(shè)備工作原理4個(gè)部分, 設(shè)備分類介紹了斷路器的分類標(biāo)準(zhǔn)和日常生活中常見的斷路器[20]。設(shè)備信息展示當(dāng)前選用設(shè)備的一些基本信息,比如設(shè)備名稱、額定電壓、額定電流、額定短路開斷電流等。設(shè)備結(jié)構(gòu)展示當(dāng)前的斷路器立體結(jié)構(gòu),包括各部件名稱。設(shè)備工作原理展示斷路器進(jìn)行開斷電流時(shí)的動(dòng)作過程,包括滅弧裝置進(jìn)行滅弧的過程。效果界面如圖6所示。

      4 結(jié)語(yǔ)

      針對(duì)傳統(tǒng)教學(xué)方法的不足,借助unity3D這款支持多種腳本語(yǔ)言開發(fā)、兼容多種操作系統(tǒng)、易學(xué)易用、擁有超高效能的強(qiáng)大物理引擎,設(shè)計(jì)開發(fā)了基于unity3D的斷路器培訓(xùn)系統(tǒng),突破了傳統(tǒng)教學(xué)方法單一、只注重理論知識(shí)學(xué)習(xí)等缺陷,很好地將虛擬現(xiàn)實(shí)技術(shù)運(yùn)用到電氣設(shè)備的培訓(xùn)中。該培訓(xùn)系統(tǒng)對(duì)斷路器的動(dòng)態(tài)展示效果好、逼真度高,對(duì)了解和學(xué)習(xí)斷路器非常實(shí)用。

      參考文獻(xiàn):

      [1] 胡頔,卓杰彬,王青云,等. 隔離斷路器在新一代智能變電站中的作用[J]. 電氣開關(guān),2016,1(1): 83-85.

      [2] 楊凌霄,朱亞麗. 基于概率神經(jīng)網(wǎng)絡(luò)的高壓斷路器故障診斷[J].電力系統(tǒng)保護(hù)與控制,2015,43(10): 62-67.

      [3] 史宗謙,賈申利. 高壓直流斷路器研究綜述[J]. 高壓電器,2015,51(11):1-9.

      [4] 伊永飛,朱遠(yuǎn)達(dá). 高壓斷路器多媒體教學(xué)軟件的開發(fā)與應(yīng)用[J]. 黑龍江電力,2010,32(5): 343-345.

      [5] 王永生. SF6斷路器在實(shí)訓(xùn)教學(xué)中的應(yīng)用[J]. 中國(guó)電力教育, 2008,4(3): 245-247.

      [6] 陳俠,王大虎,王敬沖,等. 基于Unity3D的PLC教學(xué)實(shí)訓(xùn)平臺(tái)研究[J]. 軟件導(dǎo)刊, 2016, 15(10): 111-114.

      [7] 王佳和,李龍華. 基于Unity3D的水輪機(jī)檢修培訓(xùn)系統(tǒng)研究[J].自動(dòng)化技術(shù)與應(yīng)用,2015,34(9):98-102.

      [8] 黃靜,張紅忠. 3dsMAX在虛擬現(xiàn)實(shí)中的應(yīng)用[J].測(cè)繪與空間地理信息,2013,36(2):12-126.

      [9] 相茂英,馬純永,韓勇. 基于Unity3D的化工設(shè)備虛擬培訓(xùn)系統(tǒng)研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(7):196-200.

      [10] 王大虎,盧正帥,賈倩. 基于Unity3D的恒壓供水虛擬實(shí)訓(xùn)教學(xué)裝置開發(fā)[J]. 軟件導(dǎo)刊,2017,16(8):100-102.

      [11] 王大虎, 史艷楠, 陳文博. 基于3DMAX和Premiere的煤礦安全培訓(xùn)系統(tǒng)[J]. 煤礦安全, 2014, 45(12): 230-232.

      [12] 李鴻. 3dsMAX建模技術(shù)分析[J]. 邢臺(tái)學(xué)院學(xué)報(bào),2009,24(4):106-107.

      [13] 黃躍成. PS軟件在效果圖后期制作中的作用[J]. 信息與電腦,2016(13): 113-114.

      [14] 溫曉紅. 試析PS軟件在效果圖后期制作中的應(yīng)用[J]. 數(shù)字技術(shù)與應(yīng)用,2017(3):125-126.

      [15] 周鵬,支雄飛,楊敏,等. 基于3dsMax與Unity3D三維海底場(chǎng)景建模[J]. 安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014,1(13):14-17.

      [16] 王星捷,李春花. 基于Unity3D平臺(tái)的三維虛擬城市研究與應(yīng)用[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(4):241-244.

      [17] 劉金明,馬鐵民,王娜. 基于Unity3D的電動(dòng)機(jī)虛擬仿真展示平臺(tái)設(shè)計(jì)[J]. 黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào),2014,26(3):66-69.

      [18] 許琛. UI界面設(shè)計(jì)在視覺傳達(dá)設(shè)計(jì)專業(yè)教學(xué)中的應(yīng)用研究[J]. 科教導(dǎo)刊, 2016, 3(12): 98-99.

      [19] 陳育濱,曾玉珠. 基于Unity3D平臺(tái)的Web3D展示[J]. 電腦編程技巧和維護(hù), 2012,1(12): 11-12.

      [20] 謝天宇,吳馨,岳明奕. 基于Unity3D的變壓器仿真虛擬培訓(xùn)平臺(tái)設(shè)計(jì)[J]. 企業(yè)技術(shù)開發(fā),2015,34(14):166-167.

      (責(zé)任編輯:杜能鋼)

      猜你喜歡
      交互性斷路器
      六氟化硫斷路器運(yùn)行與異常處理
      斷路器控制回路異常分析及處理
      一例斷路器內(nèi)部發(fā)熱的診斷分析
      SF6斷路器拒動(dòng)的原因分析及處理
      科普網(wǎng)站交互性對(duì)科普傳播影響研究
      斷路器內(nèi)部控制回路及其故障分析
      真空斷路器的維護(hù)與故障處理
      美姑县| 云浮市| 会同县| 海林市| 博湖县| 辽阳市| 德兴市| 上高县| 边坝县| 博野县| 慈溪市| 衡阳市| 保山市| 澳门| 新源县| 武乡县| 黔西县| 宁津县| 竹山县| 陆丰市| 镶黄旗| 锡林郭勒盟| 霍林郭勒市| 瑞丽市| 西安市| 日喀则市| 江源县| 延吉市| 广宗县| 仁怀市| 沙雅县| 大厂| 平罗县| 延川县| 新绛县| 南投县| 磴口县| 沿河| 桦川县| 南平市| 石楼县|