999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D的現代有軌電車路口場景仿真

2019-12-28 06:10:32任雨柔郎誠廉
鐵路計算機應用 2019年12期
關鍵詞:設置效果

任雨柔,郎誠廉

(同濟大學 電子與信息工程學院,上海 200331)

現代有軌電車作為一種新興的公共交通方式,具有綠色無污染,舒適性好,造價低廉等顯著優點,近年來在中小型城市得到了迅速發展,因此對于有軌電車駕駛員的需求也迅速上升[1]。但和地鐵相比,現代有軌電車并非完全獨立路權,其運行需要考慮社會車輛和行人等因素,運行模式比地鐵復雜,社會車輛侵入軌道的概率高,出現安全事故的概率也相對更高。此外,有軌電車自重大,制動距離長,發生事故后造成的后果會較為嚴重,危險指數更高,所以,對有軌電車的路口信號優先控制模擬,以及社會車輛的行駛、行人行動的仿真顯得尤為重要。

現階段對有軌電車信號優先控制策略研究較多,張其強等人以上海松江有軌電車為例,針對有延誤和無延誤兩種情況給予不同優先控制策略[2];趙昕基于整個有軌電車信號優先系統架構,從空間優先、被動優先、主動優先3個方面進行研究[3];呂柯興提出有軌電車與機動車在交叉口的平衡感應信號控制策略,以實現交叉口車輛通行效率最大化[4];但目前對有軌電車路口行駛及有軌電車駕駛員培訓系統研究較少,本文模擬路口車輛和有軌電車的行駛,以及行人的行走,在此基礎上,著重添加了路口雨雪霧等天氣因素,這些特殊天氣變化會影響司機視線,通過對不同環境的模擬可以更加真實有效地模擬路口場景。

本文以南京有軌電車麒麟線路中某一十字路口為例,通過3ds Max建模軟件對有軌電車周邊運行環境以及社會車輛、行人、交通信號燈等進行三維建模[5],基于Unity3D平臺,設計有軌電車在路口的兩種運行模式:(1)正常情況下車輛的自動行駛、行人自動尋路,按信號燈過馬路;(2)非正常情況下的路口模擬,包括設置路口信號燈故障[6]、車輛不遵守交通規則行駛、行人闖紅燈等突發情況。

通過仿真路口不同環境和各類突發狀況,可以讓有軌電車司機提前熟悉路口場景運行特點和有軌電車信號控制策略[7],培養駕駛員分析判斷與準確處理故障的能力,使其提高駕駛有軌電車時的自身安全性[8],同時,降低對社會車流的影響,規避相應的道路風險。

1 交通信號燈控制模塊

1.1 紅綠信號燈三維模型

為了便于研究,本文采用四相位模型,同一方向的直行與右轉處于同一相位[9],如圖1所示。信號燈仿真如圖2所示,信號燈的亮滅及黃燈的閃爍效果通過控制物體的MeshRenderer組件來實現,在燈罩上添加shake腳本,創建一個變量shaketime用來接收時間的變化值,MeshRenderer.enabled=true,MeshRenderer.enabled=false,交替變化。

圖2 紅綠燈模型

1.2 信號燈倒計時

信號燈倒計時:本文設置綠燈30 s,紅燈55 s,黃燈5 s,總時長90 s,運用Unity3D中UI控件text文本在屏幕中顯示倒計時,采用PlayMaker插件實現信號燈倒計時效果,如圖3所示。PlayMaker是以狀態機state為原理的可視化編程插件,該有限元狀態機在Unity3D中應用廣泛。

圖3 信號燈倒計時結構

2 車輛正常行駛模塊

車輛的正常行駛包括直線路段行駛和轉彎路段行駛,此模塊采用設置路徑點的方式讓車輛朝路徑點行駛,實現汽車向前行駛,直線路段行駛較為簡單,一般設置5個路徑點。在轉彎路段,為了讓車輛看起來轉得更流暢,一般設置8個路徑點。在車輛上添加盒子碰撞體,并且通過在車輛正前方添加空物體讓其發出射線,可以有效地避開前方障礙物,實現自動行駛的效果。

2.1 路塊設計

路塊由觸發器和路徑點組成,引導車輛的行駛。觸發器是場景中添加盒子碰撞體組件的空物體,如圖4所示,車輛正常行駛中無法看到,勾選IsTrigger選項后就變成了觸發器,當車輛觸發后,計數器加1,可以計算場景中車輛數目。路口路塊如圖5所示,路口添加了盒子碰撞體,在紅燈時加載,從而車輛無法通過,綠燈時卸載,車輛正常通過,實現路口車輛紅燈停綠燈行的效果,并且車輛行駛的對面路口始終不加載碰撞體,因此,不會出現車輛經過路口后被擋在下一道路口外的情況。

圖4 路塊模型

圖5 路口路塊

2.2 車輛自動生成

所謂車輛自動生成,就是把車輛預制體在場景中進行實例化,為了在符合實際情況基礎上讓資源更合理分配,在C#腳本CreateCar中設置每隔10 s生成1輛車,并且在不同方向的不同車道上隨機產生不同類型的車輛,共有4個方向的道路,每個方向的道路上車輛有直行、左轉和右轉3個行駛方向,因此,共有12個方向可初始化生成車輛,運用Instantiate(Car,new Vector3(),new Quaternion())隨機選擇道路對車輛實例化,為了節省內存空間,在車輛行駛到遠處時,采用Destroy(Car)自動銷毀車輛,從而釋放內存空間。

為了讓場景更加接近現實,車輛模型采用了4種不同的類型,在車輛生成時隨機實例化,除車型之外結構均一樣,其中,對于車燈光的控制,首先創建一個空物體,命名為Lights,用來存放汽車車燈物體,為汽車大燈添加spotlight對象,在Unity3D中,光源共分為4種:直行光源,點光源,區域光和聚光燈,文中,汽車頭燈采用聚光燈光源,如圖6所示。汽車車燈結構如圖7所示,LightLeft和LightRight分別為左、右轉向燈,在車輛轉彎時閃爍亮起,backlight為剎車燈,在汽車剎車或者倒車時該燈亮起,并且為該物體添加C#腳本BrakeLight,實現正常行駛時熄滅、剎車時亮起的效果。

圖6 汽車頭燈模型

圖7 汽車車燈結構

2.3 車輛自動行駛

使車輛移動有兩種方式:(1)使用Wheel Collider對車輪進行控制,包括直行和轉向,進而控制車的移動,這種方法看起來更為逼真,但較耗費計算機內存空間;(2)為車輛設置路徑點,如圖8所示,創建一個obj數組用來存放這些路徑點,并且在路徑點上設置觸發器,使用transform.LookAt和transform.Translate讓車輛不斷地朝目標物體移動,從而達到使車輛自動行駛的效果。為節省計算機資源,本文采用第2種方式。

圖8 直線路段路徑點

汽車前面創建空物體LookAt用來引導汽車行駛和發出射線,避免與前方物體相撞,為了符合實際情況和道路規定,采用函數Physics.Raycast()發出10 m長的射線探測前方物體。當返回有障礙物時,汽車停止前行;當沒有檢測到行人、路口碰撞體、其他車輛等物體時,繼續行駛;當路口遇到紅燈時,檢測到路口碰撞體將停止前行;變為綠燈時,碰撞體卸載,從而繼續前行,達到紅燈停綠燈行的效果。

3 行人行走模塊

行人行走與車輛行駛不同,具有更大的隨機性,因此,添加行人自動尋路部分,使人物行走更隨機,更貼近現實。人物具有骨骼模型,在行走時有跨步、站立、擺臂等動作,需要在人物模型上添加Animator Controller組件,使其在行走時播放不同的動畫,更加生動逼真。

3.1 人物自動尋路

(1)進行場景的烘焙,在Navigation面板里選擇人物要移動的范圍和區域,進行烘焙,圖9為行人過馬路而烘焙的路口場景區域;(2)在人物身上添加碰撞體與剛體,使人物帶有物理屬性而不能穿物體而過,并且添加NavMeshAgent組件,設置人物的移動速度、角速度、加速度等參數,讓人物可以自動尋路;(3)添加第三人稱角色控制器,在此之前創建一個空物體,命名為WalkTarget,讓人物在場景中跟隨這個物體移動,并且添加C#腳本RandomPosition和LookMoveTo,RandomPosition腳本讓目標物體在XZ平面上隨機生成位置,LookMoveTo腳本讓主相機發出射線并且撞擊到地面后讓目標物體朝這個撞擊點移動,從而實現人物在場景中隨機自動尋路的效果。

圖9 路口導航網格

3.2 行人穿越馬路

與車輛行駛的路口路塊相同,人行橫道兩側也添加了盒子碰撞體,如圖10所示,與車輛行駛路口不同的是,人行橫道兩側都需要添加碰撞體,所以需要考慮行人進入碰撞體的角度。如果紅燈時行人是從人行橫道一側向路邊進入的這種情況,碰撞體應該卸載,避免行人被擋在碰撞體外而無法正常走到路邊;若行人是從路邊一側走入人行橫道的情況,紅燈時碰撞體就應該加載,從而實現行人按信號燈行走的效果。

圖10 人行橫道兩側碰撞體

為了使行人行走更加逼真,行人行走時需要播放動畫。行人過馬路時,若遇到紅燈,需要進行動畫切換,碰撞體加載;當行人遇到碰撞體停止時,需要播放站立動畫,從walk動畫切換到idle狀態;紅燈變綠燈時,碰撞體卸載,行人再從idle狀態切換到walk狀態,給行人添加Walk狀態機,如圖11所示,并且引入布爾型變量IsTrigger,當IsTrigger為true的時候,播放站立動畫,animator.SetBool("Istrigger", true),值為false的時候,播放行走動畫,編寫C#腳本控制該值的變化。

圖11 Walk狀態機

4 天氣特效模塊

為了更加接近現實場景,在系統中添加天氣模塊,讓有軌電車司機可以提前熟悉雨雪天氣等惡劣環境下的路口場景,該模塊采用Unity3D自帶的Particle System實現。

4.1 雪天特效

下雪天氣相當于由一片面積很大的云層往下掉落粒子,在場景中添加粒子系統,模擬云層的發射口以產生雪天天氣效果。

在系統中導入一張白色圓形貼圖模擬雪花形狀,將Shader設置為Particles/Additive,由于雪花比較輕,下落得較慢,為了更貼近現實,設置Start Speed值為2~5,Start Size設置為0.3~1,使雪花飄落得更隨機,并且可以在Emission中調整噴射速率和數量,從而實現小雪、中雪、大雪的效果,同時由于雨雪天氣相比于晴天更灰暗,需要將場景中光線調暗,以更好地模擬場景,圖12為路口場景中下小雪的特效。

圖12 雪天場景

4.2 雨天特效

下雨天氣與下雪天類似,也是在場景中添加粒子系統,模擬云層的發射口以產生雨天天氣效果。在系統中導入一張長方形貼圖模擬雨滴形狀,將Shader設置為Particles/Additive,由于雨滴比雪花重,為了更貼近現實,設置Start Speed值為5~8,同樣,可以在Emission中調整噴射速率和數量,從而實現小雨、中雨、大雨的效果。

與下雪天不同的是,雨滴是透明的,所以需要設置物體的透明度,圖13為雨天效果。

圖13 雨天場景

4.3 霧天特效

Unity3D軟件自帶有制作霧效的工具,在Renderer Setting中,可以進行有關霧參數的設置,若合理設置參數,可制造出逼真的霧效,方便又高效。

一共有3種模式的霧效,分別是線型(Linear)、指數型(Exponential)和指數的平方型(Exponential Squared)。Linear模式下主要包含起始位置和終止位置兩個參數,代表起霧的位置和涵蓋的距離,該模式較節省計算機內存;Exponential和Exponential Squared兩種模式較為相似,主要參數包含Density參數,通過調整參數可以設置霧的濃度,這兩種模式相比于線型模式效果更為逼真,但比較消耗計算機資源,圖14為線型模式下的霧效場景。

圖14 霧天場景

5 結束語

隨著有軌電車在國內城市的快速普及,有軌電車司機的需求也快速上升,路面交通變得更為復雜,而現代有軌電車采用了全新的設備系統,擁有獨立路權、半獨立路權和封閉路權3種路權形式[10-11],路權形式更為復雜,因此,有軌電車路口場景的仿真對有軌電車駕駛員培訓具有積極意義。

本文主要研究交叉路口有軌電車與社會車輛行駛的場景模擬,重點介紹了車輛行駛、行人自動尋路和特殊天氣場景的仿真實現,包括物體的自動生成與摧毀,以及行人和車輛如何避開障礙物運動等。仿真結果表明,社會車輛、有軌電車與行人均能按照交通信號燈正確行動,可以較為真實地反映有軌電車與社會車輛的路口行駛場景,給廣大司機提供了一個提前熟悉路口場景的學習平臺,具有很好的應用價值。本文僅研究了十字路口這一種路口類型,且并未加入故障設置環節,各種路口類型的仿真和險情模擬將在后續工作中開展。

猜你喜歡
設置效果
按摩效果確有理論依據
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
7招教你手動設置參數
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
艦船人員編制的設置與控制
主站蜘蛛池模板: 中文字幕在线看视频一区二区三区| 国产成人亚洲无吗淙合青草| 国产一区二区三区在线精品专区 | 国产午夜不卡| 中文字幕在线不卡视频| 无码久看视频| 东京热高清无码精品| 国产成人精品亚洲日本对白优播| 国产成人一区| 日韩欧美网址| 亚洲AV成人一区二区三区AV| 国产福利拍拍拍| 激情无码视频在线看| 成人精品午夜福利在线播放| 国产在线观看一区精品| 免费高清a毛片| 中文字幕免费播放| 国产在线自揄拍揄视频网站| 澳门av无码| 亚洲综合专区| 亚洲成人精品久久| 久久精品91麻豆| 国产麻豆精品在线观看| 欧美成人精品一级在线观看| 成人在线欧美| 中文无码日韩精品| 57pao国产成视频免费播放| 亚洲精品麻豆| 亚洲精品第一页不卡| 996免费视频国产在线播放| 国产精品美女自慰喷水| 美女一级免费毛片| 欧美激情视频一区| 久久青青草原亚洲av无码| 性视频一区| 国产中文一区二区苍井空| 国产精品xxx| 刘亦菲一区二区在线观看| 欧美午夜在线播放| 亚洲国产精品久久久久秋霞影院| 亚洲男人天堂网址| 国产成人精品亚洲77美色| 欧美成人日韩| 国产成人91精品免费网址在线| 精品国产福利在线| 日韩天堂在线观看| 天堂网亚洲系列亚洲系列| 国产欧美在线视频免费| 国产正在播放| 精品综合久久久久久97超人| 色综合久久久久8天国| 在线观看亚洲成人| 中文字幕在线视频免费| 亚洲成人免费看| 波多野结衣中文字幕一区二区| 自拍偷拍一区| 日韩国产一区二区三区无码| 亚洲国产精品成人久久综合影院| 欧美成人免费| 免费av一区二区三区在线| 女人一级毛片| 日韩欧美一区在线观看| 国产在线自乱拍播放| 毛片在线看网站| 国产高清不卡视频| 91美女视频在线| 制服丝袜一区| 五月天久久婷婷| 99久久性生片| 中文国产成人精品久久| 久久夜色撩人精品国产| 人妻丝袜无码视频| 54pao国产成人免费视频| 在线观看免费AV网| 最新国产成人剧情在线播放| 国产导航在线| 国产不卡网| 精品国产网站| 伊人色综合久久天天| 亚洲天堂网视频| 亚洲资源在线视频| 国产成人区在线观看视频|