• 
    

    
    

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

      電氣控制虛擬實(shí)踐在Android游戲平臺上的開發(fā)

      2020-07-30 13:57:41劉安平邵文冕苑鵬濤杜林娟梁志強(qiáng)
      中國教育技術(shù)裝備 2020年2期
      關(guān)鍵詞:腳本語言按動關(guān)卡

      劉安平 邵文冕 苑鵬濤 杜林娟 梁志強(qiáng)

      摘? 要 采用虛擬現(xiàn)實(shí)技術(shù),通過Unity 3D軟件構(gòu)建虛擬世界,開發(fā)電氣控制虛擬實(shí)踐,并發(fā)布到Android游戲平臺上。3D教學(xué)課件的應(yīng)用,取得很好的實(shí)踐教學(xué)效果。

      關(guān)鍵詞 Unity 3D;電氣控制虛擬實(shí)踐;Android游戲平臺;3D教學(xué)課件

      中圖分類號:TP391.9? ? 文獻(xiàn)標(biāo)識碼:B

      文章編號:1671-489X(2020)02-0030-03

      Development of Electric Control Virtual Practice on Android Game Platform//LIU Anping, SHAO Wenmian, YUAN Pengtao, DU Linjuan, LIANG Zhiqiang

      Abstract This paper develops electrical control virtual practice by?adopting virtual reality technology and building virtual world through?Unity 3D, and releases it to Android game platform. The application of 3D teaching courseware has achieved good practical teaching effect.

      Key words Unity 3D; electrical control virtual practice; Android game platform; 3D teaching courseware

      1 課題解決的具體問題

      Windows平臺的電氣工程虛擬實(shí)踐,每個(gè)訓(xùn)練室只有一臺電腦,在實(shí)踐教學(xué)應(yīng)用過程中,不能全方位為學(xué)生提供服務(wù);如果將虛擬實(shí)踐平臺安裝在手機(jī)游戲平臺上,每個(gè)學(xué)生都會有自己的虛擬實(shí)踐平臺。學(xué)生首先在Android手機(jī)游戲平臺上進(jìn)行電氣控制虛擬實(shí)踐,對器件布置、線路連接、電路檢測和送電試車,有了整體認(rèn)知和掌握,然后進(jìn)行真正的電氣控制實(shí)踐操作,教學(xué)效果會更好。

      筆者研發(fā)的Windows平臺的電氣工程虛擬實(shí)踐,在一年的實(shí)踐教學(xué)應(yīng)用中進(jìn)行了不斷完善和更新,本次教研項(xiàng)目就是在此基礎(chǔ)上進(jìn)行開發(fā)的。在Android游戲平臺實(shí)現(xiàn)電氣工程虛擬實(shí)踐,模型建立和腳本語言文件編寫等前期準(zhǔn)備工作已經(jīng)基本完成;登錄窗口建立、游戲關(guān)卡設(shè)計(jì)、評分系統(tǒng)、糾錯(cuò)提示以及手機(jī)屏幕的自適應(yīng)調(diào)整,是課題解決的具體問題。

      2 電氣控制虛擬實(shí)踐

      電氣控制訓(xùn)練課程內(nèi)容是三相交流異步電動機(jī)控制線路安裝實(shí)踐,訓(xùn)練項(xiàng)目有自鎖控制線路、正反轉(zhuǎn)控制線路、自動往返控制線路和順序控制線路等。下面以自鎖控制線路為例,說明Android游戲平臺實(shí)現(xiàn)電氣控制虛擬實(shí)踐的過程。

      登錄窗口設(shè)置? 電氣控制虛擬實(shí)踐的登錄窗口見圖1,學(xué)生輸入班級、姓名、學(xué)號等個(gè)人信息后,點(diǎn)擊“開始”按鈕,若是某一信息沒有填寫,會提示“信息不全”;信息填寫完整后,點(diǎn)擊“開始”,進(jìn)入電氣控制虛擬實(shí)踐第一關(guān)。計(jì)時(shí)器在Android虛擬實(shí)踐平臺打開時(shí),開始計(jì)時(shí)。

      登錄窗口的交互控制C#腳本語言部分語句:

      public void begin() {

      if (banji.text==""||xingming .text ==""||xuehao.text==""){

      text_ts .text="信息不全!";

      return;}

      pan00.SetActive (false);? ? //登錄窗口面板隱藏

      pan11.SetActive (true);? ? //第一關(guān)卡面板顯示

      }

      游戲關(guān)卡1:器件布置? 將電氣控制虛擬實(shí)踐設(shè)計(jì)成四個(gè)游戲關(guān)卡,游戲關(guān)卡1的開始界面見圖2,點(diǎn)擊“器件布置圖”,顯示器件布置在虛擬實(shí)踐臺上的具體位置;點(diǎn)擊器件名稱,再按動方向按鈕,實(shí)現(xiàn)器件布置;提示信息會顯示器件移動方向的對錯(cuò),或是否達(dá)到指定位置;把器件移動到指定位置附近,器件會自動移動到指定位置;按下

      “聚焦”按鈕,攝像機(jī)會聚焦到指定元器件,便于清晰觀看元器件的外形和位置;學(xué)生得分為滿分,顯示“目標(biāo)完

      成”;按動“下一關(guān)”按鈕,進(jìn)入第二關(guān)卡。

      關(guān)卡1的交互控制C#腳本語言部分語句:

      void Update ()? {

      //用Qijian分別替代5個(gè)元器件

      Ax = Qijian.transform.position.x;

      Az = Qijian.transform.position.z;

      if (j1+j2 ==0){? ? //移動按鈕抬起

      if (t1) { text_ts.text = "選擇QF";

      } else if (t2) { text_ts.text = "選擇KM";

      } else if (t3) { text_ts.text = "選擇FR";

      } else if (t4) { ext_ts.text = "選擇按鈕";

      } else if (t5) { text_ts.text = "選擇 M";

      } else { text_ts.text = "";? }

      }else if(!t1 & !t2 & !t3 & !t4 & !t5){

      text_ts.text = "請選擇器件";

      }else {? ? //判斷元器件移動方向是否正確

      if ((Ax * j1 > 1) || (Az * j2 > 1)) {

      text_ts.text = “No”;

      } else if (((Ax * j1 < -1) || (Az * j2 < -1))) {

      text_ts.text = “Yes”;

      } else { text_ts.text = “OK”;? }

      }? ? //左右移動

      if (Ax > 0.5f || Ax < -0.5f) {

      Qijian.transform.position += new Vector3 (j1 * 20 * Time.

      deltaTime, 0, 0);

      }? ? //前后移動

      if (Az > 0.5f || Az < -0.5f) {

      Qijian.transform.position += new Vector3 (0, 0, j2 * 20 *

      Time.deltaTime);

      }? ? ? //移動到指定位置

      if ((Ax > -0.51f & Ax < 0.51f) & (Az > -0.51f & Az < 0.51f)) {

      Qijian.transform.position = new Vector3 (0, 0, 0);? }

      }

      游戲關(guān)卡2:線路連接? 在游戲關(guān)卡2的開始界面,點(diǎn)擊“線路連接圖”,顯示導(dǎo)線名稱在線路連接圖中的具體位置;點(diǎn)擊導(dǎo)線名稱,再移動方向按鈕,完成線路連接;提示信息會顯示導(dǎo)線移動方向的對錯(cuò),或是否達(dá)到指定位置。再次點(diǎn)擊導(dǎo)線名稱,會使相機(jī)聚焦到導(dǎo)線應(yīng)該連接的具體位置。關(guān)卡2的交互控制C#腳本語言和關(guān)卡1基本相同,這里不再闡述。

      游戲關(guān)卡3:斷電檢測? 在游戲關(guān)卡3的開始界面,點(diǎn)擊“檢測方法”按鈕,顯示電路檢測步驟的文字說明;主電路檢測時(shí),點(diǎn)擊“按下KM”,再依次按下“RU-V”“RU-W”“RV-W”,萬用表的表筆出現(xiàn)并觸碰負(fù)載開關(guān)下面的對應(yīng)接線柱,顯示主電路連接正確時(shí)的測量數(shù)據(jù);控制電路檢測時(shí),點(diǎn)擊“按下SB1”,再依次按下“RU-V”“RU-W”“RV-W”,會顯示控制電路連接正確時(shí)的數(shù)據(jù);沒有按下交流接觸器KM或正轉(zhuǎn)啟動按鈕SB1,測量時(shí)就會有信息提示“請按下KM或SB1”;學(xué)生得分為滿分,提示“目標(biāo)完成”;按動“下一關(guān)”按鈕,進(jìn)入第四關(guān)卡。

      關(guān)卡3的交互控制C#腳本語言部分語句:

      void Update () {

      if(t1 &? (t3 || t4)){? ? //測主電路的UV、UW

      p163.SetActive (true);

      p086.SetActive (false);

      p153.SetActive (false);

      }else if (t1 & t5){? ? //測主電路的VW

      p163.SetActive (false);

      p086.SetActive (true);

      p153.SetActive (false);

      }else{ if (t2 & t5){? ? //測控制電路的VW

      p163.SetActive (false);

      p086.SetActive (false);

      p153.SetActive (true);

      }else{? ? //測控制電路的UV、UW

      p163.SetActive (false);

      p086.SetActive (false);

      p153.SetActive (false); } }

      }

      游戲關(guān)卡4:送電試車? 游戲關(guān)卡4是電氣控制虛擬實(shí)踐的最后一關(guān),開始界面見圖3。點(diǎn)擊“電氣原理圖”,學(xué)生可以分析自鎖控制線路的電路工作過程;依次點(diǎn)擊“QF1”“QF2”“SB1”和“SB2”,完成電氣控制虛擬實(shí)踐送電試車過程;沒有閉合電源開關(guān)和負(fù)載開關(guān),按動按鈕時(shí)會有提示信息“開關(guān)沒有閉合”或“電動機(jī)沒有工作”;學(xué)生得分為滿分時(shí),提示“闖關(guān)成功”,按“返回”按鈕,回到退出窗口,同時(shí)計(jì)時(shí)器停止工作。

      關(guān)卡4的交互控制C#腳本語言部分語句:

      void Update (){

      if (t3){? ? //QF1、QF2閉合,按動啟動按鈕

      km1dong.transform.localScale = new Vector3(1, 0.92f, 1);

      m1z.transform.Rotate(-450* Time.deltaTime, 0,0,

      Space.Self);

      }else{? ? //按動停止按鈕,或QF1、QF2斷開

      km1dong.transform.localScale = new Vector3(1,1, 1);

      m1z.transform.Rotate(0, 0, 0, Space.Self);

      }

      }

      退出窗口設(shè)置? 學(xué)生完成電氣控制虛擬實(shí)踐第四關(guān)后,返回到退出窗口。在退出窗口,直接顯示學(xué)生的個(gè)人信息、電氣控制虛擬實(shí)踐成績和計(jì)時(shí)時(shí)間;學(xué)生可以手機(jī)截圖把成績發(fā)到班級微信群里,由指導(dǎo)教師查看成績;按“退出”按鈕,退出電氣控制虛擬實(shí)踐桌面。

      3 Android游戲平臺的轉(zhuǎn)化和相關(guān)設(shè)置

      Unity 3D軟件輸出到Android平臺的切換? 依次點(diǎn)擊Unity 3D程序的菜單“File”“Build Settings”,進(jìn)入游戲平臺切換菜單;依次點(diǎn)擊菜單選項(xiàng)“Android”“Swich Platform”,完成Android游戲平臺切換。能夠完成Android

      游戲平臺切換的前提是,在Unity 3D軟件安裝時(shí),必須勾選Android游戲平臺組件。

      JDK、SDK開發(fā)工具安裝和相關(guān)設(shè)置? 要在Unity 3D游戲開發(fā)平臺發(fā)布安卓的apk程序,必須先安裝Java-JDK和Android-SDK這兩個(gè)工具。JDK是開發(fā)Java的庫及虛擬機(jī)包,SDK是開發(fā)Android應(yīng)用程序的系統(tǒng)包[1]。

      1)JDK組件下載網(wǎng)址為“www.oracle.com\”,搜索并下載安裝程序“jdk-8u231-windows-x64”,安裝路徑為“C:\Program Files\Java\”。

      2)打開電腦的系統(tǒng)屬性面板,新建系統(tǒng)變量,變量名為“JAVA_HOME”,變量值為“C:\Program Files\Java\jdk1.8.0_231”;編輯系統(tǒng)變量,變量名為“Path”,添加變量值為“% JAVA_HOME %\bin;% JAVA_HOME %\jre\bin”;

      新建系統(tǒng)變量,變量名為“CLASSPATH”;變量值為“% JAVA_

      HOME %\ lib\dt.jar; % JAVA_HOME % \lib\tools.jar”。

      3)SDK組件下載網(wǎng)址為“www.androiddevtools.cn\”,

      找到并下載安裝程序“install_r24.4.1-windows”,安裝路徑為“D:\Program Files\SDK\”。程序安裝成功后,打開“SDK Manager.exe”,勾選“Android SDK Tools”“An-

      droid SDK Platform-tools”“Android 10 (API 29)”“API

      28.Q preview”“Android 9 (API 28)”“Android 8.1.0

      (API 27)”“Android 8.0.0 (API 26)”“Android 7.1.1 (API 25)”“Android 7.0 (API 24)”“Android 6.0 (API 23)”,

      再點(diǎn)擊“Install...Packages”,完成SDK安裝。

      4)打開電腦的系統(tǒng)屬性面板,新建系統(tǒng)變量,變量名為“ANDROID_HOME”,變量值為“D:\Program Files\SDK”;

      編輯系統(tǒng)變量,變量名為“Path”,添加變量值為“% ANDROID _ HOME %\ platform-tools; % ANDROID_HOME %\

      tools”。

      5)依次點(diǎn)擊Unity程序的菜單“Edit”“Preferences”

      “External Tools”“Browse”,導(dǎo)入JDK和SDK安裝路徑。

      6)打開Unity 3D的“Player Settings”面板,進(jìn)行Android游戲平臺apk安裝包的包裝設(shè)計(jì),包括公司名稱、安裝包名稱、圖標(biāo)以及安卓游戲平臺的版本等。

      手機(jī)屏幕的自適應(yīng)調(diào)整? 手機(jī)屏幕自適應(yīng)調(diào)整,主要是調(diào)整Unity3D軟件中UI組件中的畫布canvas的參數(shù)。

      1)將UI Scale Mode選項(xiàng)中的Constant Pixel Size更改為Scale With Screen Size。

      2)設(shè)置Reference Resolution(默認(rèn)分辨率),橫屏設(shè)置為1280×720。

      3)設(shè)置Match值,這里設(shè)置Match=0,橫屏顯示時(shí)根據(jù)確定的高度,適配不確定的顯示寬度。

      4 結(jié)語

      通過Android平臺的電氣控制虛擬實(shí)踐,學(xué)生在不消耗材料也沒有安全隱患的前提下,能夠快速掌握電氣控制線路的電路連接、斷電檢測和送電試車等實(shí)踐操作技能;3D教學(xué)課件在實(shí)踐教學(xué)中的應(yīng)用,既降低了教學(xué)成本,又提高了學(xué)生學(xué)習(xí)興趣,取得很好的實(shí)踐教學(xué)效果。

      參考文獻(xiàn)

      [1]羅培羽.Unity3D網(wǎng)絡(luò)游戲?qū)崙?zhàn)[M].北京:機(jī)械工業(yè)出版社,2016.

      猜你喜歡
      腳本語言按動關(guān)卡
      海龜上岸
      相望
      照相機(jī)(2020年2期)2020-07-23 16:29:37
      一種面向SSC的電信增值業(yè)務(wù)的生成方法及實(shí)現(xiàn)
      基于Unity3D的坦克大戰(zhàn)游戲設(shè)計(jì)與實(shí)現(xiàn)
      王友仁點(diǎn)穴開合按動法針對踝關(guān)節(jié)扭傷推拿經(jīng)驗(yàn)淺析
      全世界最節(jié)能的燈泡
      2015年高考江蘇省物理卷一道題的3種解法
      妙題巧解
      淺析計(jì)算機(jī)技術(shù)在flash動畫中的應(yīng)用
      基于SiPESC平臺的Python擴(kuò)展模塊開發(fā)
      乌兰察布市| 清徐县| 壶关县| 西华县| 长沙县| 察雅县| 清水河县| 勐海县| 奉新县| 扶余县| 建平县| 安塞县| 阿拉善左旗| 洛扎县| 绥化市| 北票市| 西充县| 公安县| 商城县| 竹山县| 潍坊市| 呼和浩特市| 根河市| 新宾| 邹平县| 鄂托克旗| 成都市| 海盐县| 玛曲县| 大悟县| 安泽县| 隆昌县| 方正县| 错那县| 汽车| 曲阜市| 沾益县| 通化市| 修水县| 固原市| 绥中县|