創作內容

3 GP

亂七八糟的_遊戲開發誌[1] 移動概述

作者:Daily│2019-01-30 22:11:04│巴幣:6│人氣:551
上週為大家介紹了一些腳色控制器的概念
因為最近又開始忙起來了所以更新得比較慢
就讓我們接著下去吧

我們完成了"判定腳色是否站在地面上的判定"
雖然完整的接地判定目前這樣子是不夠的
不過我們先來做腳色移動吧!

遊戲設計中並沒有一個絕對正確的做法
像是早期2D RPG腳色移動是一格一格走格子的
到後來出現了可以平滑移動的RPG遊戲
兩種實現方式並不存在對錯
只有"適不適合"的差別而已
至於3D遊戲的移動方式也有很多種實現方式
而我現在做得是我自己研究許久的移動方式

先簡單說一下3D遊戲腳色移動的概念
我先大致分為兩種
1.基於物理
2.基於座標移動

為甚麼要這樣分呢?
因為現代大多3D遊戲引擎大多集成了物理引擎
雖然物理引擎可以模擬出亂真的效果但也會造成一些問題
簡單來說如果你的遊戲腳色的移動是完全物理仿真的
會造成今天你要讓腳色做出二段跳或是其他"非物理"的移動或是行為
出現難以製作的狀況 (因為該動作在現實中的物理是不可能的阿)
所以通常遊戲中的遊戲腳色都會採用座標移動(除非你做得的是全物理模擬的賽車遊戲)

那座標移動?
座標移動顧名思義 就是腳色以瞬移的方式從A點移到B點
這樣有甚麼不好嗎? 跟物理引擎一樣會有問題
雖然座標移動可以做出非物理的行為
但我們還是會希望腳色多少還是保留某些物理效果(例如重力落下)
還有當腳色進行移動時會是從A座標瞬間接移動到B座標
這樣視覺上看起來就瞬移了 還要自己做處理讓腳色看起來是平滑的移動
這些問題都還算小問題
最大的麻煩是物理引擎同步
因為遊戲引擎在計算座標和計算物理時並不是同時計算
所以有可能你的腳色在座標移動之後跟物理引擎衝突導致腳色卡到牆壁裡之類的
(各位有玩遊戲都多少會有吧WWW)

那怎麼辦呢?
我接下來說的重點了
就是我自己研究很久的作法 這套做法也已經應用在我的畢製上
這套方法可以在非物理的移動和物理模擬間保持穩定
並且提供良好的操作手感

就先叫這個方法叫 DailyController
技術核心就是利用遊戲引擎內的物理系統模擬所有移動
並且用程式限制或是輔助物理引擎的計算
說來有點複雜 我舉個例子
今天在遊戲中模擬落下
在真實的物理中落下的阻力會使物體下落速度到達穩定的末速
但在物理引擎中計算空氣阻力與摩擦力很不容易
那就直接設定好一個末速跳過中間的計算過程
直接強制讓物體的速度不超過設定好的末速
用這樣的方式來限制或是輔助物理引擎的計算

如果還是聽不懂而且想了解更多的人
請鎖定之後的文章

光講概念就一大篇了
今天先這樣
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4278024
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:Unity(遊戲引擎)|遊戲製作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

3喜歡★q090400 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:亂七八糟的_遊戲開發誌[... 後一篇:亂七八糟的_遊戲開發誌[...

追蹤私訊切換新版閱覽

作品資料夾

aaa1357932大家
各位有空可以來我家看看畫作或聽聽我的全創作專輯!看更多我要大聲說昨天06:24


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】