日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

虚幻4 碰撞过滤

發布時間:2023/12/6 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 虚幻4 碰撞过滤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原創翻譯,轉載請注明出處。(http://blog.csdn.net/sinat_24229853/article/details/51090259)
英文原文:https://www.unrealengine.com/blog/collision-filtering?lang=zh-CN

選擇什么樣的碰撞顯然是很重要的。但它可能會很棘手,而且我們在開發虛幻4的過程中已經花了相當長的時間討論。我們的系統能夠一眼看上去有點復雜,但它是很強大和一致的,所以我想給一點背景知識關于怎樣完畢它。

我們會談論碰撞的不同反應,我們怎樣使用通道來過濾碰撞,和勾勒出簡單和復雜碰撞體之間的不同。

堵塞(Blocking)、重疊(Overlapping)和忽略(Ignoring)
首先你要知道的是。當你談論一些事應該發生碰撞,你必須選擇能否夠穿透(penetrate)它。

一面磚墻會堵塞一個玩家,但一個觸發器(trigger)會使它們重疊,同意它們重疊。它們都會產生一個事件(在UE4中的術語分別為擊中(Hit)或重疊(Overlap)),只是這是一個重要的區別。而其他對象能夠忽略互相碰撞。這給了我們三種不同的碰撞類型。

追蹤通道和對象通道
下一個大問題碰撞過濾的核心:“該選擇誰?”是物體決定了什么類型的查詢來碰撞?還是查詢決定了查找什么類型的對象?在不同的情況下,它們都是合理的,所以UE4都支持!

想象一下我們在我們的游戲中定義了兩個“追蹤通道”。一個是“可見性”,一個是“武器”查詢。一面磚墻是用來堵塞它們。一個灌木堵塞“可見性”可是不堵塞“武器”,一個防彈玻璃堵塞“武器”可是不堵塞“可見性”。當你做這樣的查詢。你指定了單個追蹤通道。

假設我們對此改變了,因此游戲代碼必須知道什么對象類型用來查詢,我們游戲可能須要大量的不同類型來處理全部這些場景!它也同意我們之后在內容做“現場修復”,而不是改動調用代碼本身和破壞其他的東西。

然而有一些情況下。你想做只基于它們類型的對象查詢,這就是我們用的對象通道。一個樣例是一個爆炸發生。你想高速查找在一定半徑內的“Pawn”或“PhysicsBody”類型的全部對象。

當你做這樣的類型的查詢時,你能夠指定多對象通道。

UE4有一些“內置”追蹤通道(可見性,攝像機)和對象通道(世界靜態、世界動態、Pawn、PhysicsBody、Vehicle、可破壞),可是你能夠簡單地通過編輯->項目設置->碰撞加入你自己的通道。雖然你被限制在32個通道總數內。

運動對象間的碰撞
當你想處理移動對象的時候,事情變得有一點復雜。由于這里有許多種組合。在UE4。每一個對象知道它自己的對象通道。加入一個列表關于怎樣響應其他對象通道。當兩個物體相交。我們著眼于他們怎樣互相響應,和採取最小堵塞(least blocking)交互,例如以下圖所看到的:

所以想象以下的場景:

如今這個角色向前移動。

首先它會與灌木叢(Shrub)重疊。玩家是Pawn類型,而且灌木叢想要與它重疊。Shrub是世界靜態(WorldStatic)類型,而且玩家想要堵塞它。檢查上面那個表格。終于的結果是重疊!相同的,磚墻和玩家都想堵塞對方。所以玩家走過灌木叢(產生重疊事件)和它會被墻截停(產生擊中事件)。

假設你有兩個玩家。而且一個想變成“幽靈”,你能夠讓它到Pawn的響應頻道從Block改為Ignore。然后他會穿透其他玩家。

碰撞預設
雖然這個系統給了大量控制關于你的場景中的對象怎樣與其他對象碰撞,實際上大多數對象在使用共同的配置。為了讓事情更簡單,UE4有一個“碰撞預設”系統。每一個預設包括了一個對象類型,和在你的游戲中的對于每一個追蹤和對象通道的一個響應。

當你選擇場景中的一個對象,你會看到一個簡單的下拉菜單,同意你選擇一個預設:

UE4有幾種內置通道(比如不可見墻,物理Actor等等),而且你能夠在項目設置創建自己的通道。假設你不想使用預設,你能夠選擇“自己定義…”然后你能夠改動每一個響應。像我們例如以下談論的:

簡單和復雜碰撞
最后一件事要理解的是:UE4中的每一個對象都有“復雜”和“簡單”碰撞表示。復雜的碰撞指使用實際的渲染幾何體碰撞。

這對于武器追蹤來說是最實用的東西。你能夠射擊你能看得到的東西。雖然你不總是想要碰撞這個,而且每一個網格也能夠有簡單碰撞表現。其由球體、盒子、膠囊體和凸外殼集合組成。當你運行碰撞查詢,你告訴UE4你想要碰撞的幾何體。比如,角色移動,使用簡單幾何體碰撞。來避免在細節上的卡住。

編輯器那里有一個方便的查看模式,讓你看見作為一個角色會碰撞的東西:

總結
這里已經是全部內容。碰撞過濾是一個令人沉醉的世界!我希望它有助于了解一些我們試圖解決和怎樣利用它來用到你自己的游戲中。有不論什么疑問或評論?我們總是在論壇或者你能夠在推特聯系我@EpicJamesG。

*我們實際上在第一個堵塞碰撞發生后停止繼續查找碰撞。這是一個很好的性能優化——想象開了一槍范圍可達1km的子彈打中了距離你1m的墻,我們省去了999米的工作!

轉載于:https://www.cnblogs.com/clnchanpin/p/7236468.html

總結

以上是生活随笔為你收集整理的虚幻4 碰撞过滤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。