SlideShare a Scribd company logo
1 of 14
Download to read offline
Construct 2 Pathfinding
behavior
電子工程系電腦遊戲設計組
吳錫修
2014.3.9

Dept. of Electronics Engineering
Pathfinding行為 1/2


Pathfinding賦予物件路徑規劃能力,使用A *演算法有效地找出繞過
障礙物的短路徑

2

Wu, ShyiShiou
Pathfinding行為 2/2


Pathfinding可以輸出路徑的節點列表,或自動讓物件沿著所確定的
路徑移動

3

Wu, ShyiShiou
Pathfinding grid


以像素為計算單位可以找出精確路徑,但運算極為耗時;因此
pathfinding是將場景分割成網格方式進行尋路運算



網格 ( cell size) 設定太大,可能造成原先可通過的小空隙被封閉



⼀般情況下,盡量使用不會造成障礙物四週錯誤導航的最大網格尺寸

4

Wu, ShyiShiou
網格邊界


當Cell border設定值大於0,則那些接近障礙物的網格 (但沒有實際
接觸) 也會被標示為障礙物,會擴展障礙區範圍



如果Cell border為負值,則部份剛剛觸及障礙物的網格可能不會被標
記為障礙物,會使障礙區向內收縮



同⼀場景中的物件最好使用相同的cell size及cell border,否則系統
必須在記憶體中建立不同的障礙物網格地圖

5

Wu, ShyiShiou
Pathfinding properties

1/2

用來調整pathfinding行為參數


Cell size
網格尺寸,單位pixels



Cell border
網格邊框尺寸,單位pixels



Obstacles
障礙物辨識方式。設定為Solid時,系統會自動將具備Solid行為的物
件標示為障礙物。設定為Custom時,則必須在啟動時,透過Add
obstacle定義那些物件要標示為障礙物



Max speed
物件沿著路徑移動時的最大速度,單位pixels/second

6

Wu, ShyiShiou
使用Pathfinding 2/2


Acceleration
物件沿著路徑移動時的加速度,單位pixels/second



Deceleration
物件沿著路徑移動接近最後節點時的減速度,單位pixels/second



Rotate speed
物件沿著路徑移動時的轉彎速度,單位degrees/second。當轉彎速
度設定值較低時,物件在急轉彎處會減速



Rotate object
當物件沿著路徑移動時,是否自動調整物件移動角度



Diagonals
是否允許沿對角線移動。禁用時,路徑會以直角方式轉彎



Initial state
是否在⼀開始就啟用pathfinding功能
7

Wu, ShyiShiou
Pathfinding conditions

1/2

提供給事件表的事件條件


Compare speed
物件沿著路徑移動時,比較物件目前速度 (單位pixels/second)



Diagonals are enabled
檢查是否已啟用對角線移動方式



Is calculating path
是否正在計算路徑中



Is cell obstacle
檢查格⼦是否被標記為⼀個障礙物。在調試或顯示障礙物網格時相當
有用。注意,此事件Cell X與Cell Y參數指的是格⼦在障礙物網格資料
中的位置不是場景坐標

8

Wu, ShyiShiou
使用Pathfinding 2/2


Is moving along path
目前是否正沿著路徑移動中



On arrived
物件抵達路徑的最後節點



On failed to find path
計算路徑結果無法找到移動路徑,例如目的地被障礙物環繞



On path found
順利找到可移動路徑,此時就可使用NodeCount、NodeXAt及
NodeYAt資料,並可對物件下達 "Move along path" 動作

9

Wu, ShyiShiou
Pathfinding actions 1/4
事件表中可用的actions


Add obstacle
當pathfinding物件的Obstacles屬性設定為Custom,可透過Add
obstacl將指定物件設定為障礙物。如果是在遊戲進行中 (在Start of
layout事件後) 才作業,則還必須執行Regenerate obstacle map動
作來重新生成障礙地圖



Add path cost
設定通過物件的路徑成本,用來模擬穿越崎嶇地形需要較多的路徑成
本, 以便pathfinding計算穿越物件與繞過物件所耗的路徑成本。如
果是在遊戲進行中 (在Start of layout事件後) 才作業,則還必須執行
Regenerate obstacle map動作來重新生成障礙地圖

10

Wu, ShyiShiou
Pathfinding actions 2/4


Clear cost
清除所有Add path cost設定。注意,還必須執行Regenerate
obstacle map動作來重新生成障礙地圖



Clear obstacles
清除所有Add obstacle設定。注意,還必須執行Regenerate
obstacle map動作來重新生成障礙地圖



Find path
開始計算到目的點的路徑



Regenerate obstacle map
重新生成障礙地圖



Set enabled
禁用/啟用pathfinding
11

Wu, ShyiShiou
Pathfinding actions 3/4


Move along path
使pathfinding物件開始沿著路徑移動,注意,只能在On path
found事件後使用



Set speed
設定pathfinding物件目前速度,設定值不能為負值或超過Maxi
speed屬性值



Stop
使pathfinding物件停止移動



Set acceleration
設定pathfinding物件加速度



Set deceleration
設定pathfinding物件減速度
12

Wu, ShyiShiou
Pathfinding actions 4/4


Set diagonals enabled
啟用/禁用pathfinding物件對角線移動



Set max speed
設定pathfinding物件最大速度



Set rotate speed
設定pathfinding物件轉彎速度

13

Wu, ShyiShiou
Pathfinding expressions
物件實體在Runtime時的pathfinding行為資料


CurrentNode
目前移動路徑的下⼀個節點編號



MovingAngle
目前沿著路徑的移動角度



NodeCount
移動路徑中的節點總數



NodeXAt
路徑中指定編號節點在場景中的X座標值



NodeYAt
路徑中指定編號節點在場景中的Y座標值

14

Wu, ShyiShiou

More Related Content

Viewers also liked

Unity遊戲程式設計(02) 應用2D圖片物件
Unity遊戲程式設計(02) 應用2D圖片物件Unity遊戲程式設計(02) 應用2D圖片物件
Unity遊戲程式設計(02) 應用2D圖片物件吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計(05) 2D移動與碰撞處理IIUnity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計(05) 2D移動與碰撞處理II吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計(04) 2D運動與碰撞處理I
Unity遊戲程式設計(04) 2D運動與碰撞處理IUnity遊戲程式設計(04) 2D運動與碰撞處理I
Unity遊戲程式設計(04) 2D運動與碰撞處理I吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計(03) 2D動畫製作及應用
Unity遊戲程式設計(03) 2D動畫製作及應用Unity遊戲程式設計(03) 2D動畫製作及應用
Unity遊戲程式設計(03) 2D動畫製作及應用吳錫修 (ShyiShiou Wu)
 
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計(09) 3D物件與光源設定
Unity遊戲程式設計(09) 3D物件與光源設定Unity遊戲程式設計(09) 3D物件與光源設定
Unity遊戲程式設計(09) 3D物件與光源設定吳錫修 (ShyiShiou Wu)
 
Arduino Yún使用網頁顯示監測資料
Arduino Yún使用網頁顯示監測資料Arduino Yún使用網頁顯示監測資料
Arduino Yún使用網頁顯示監測資料吳錫修 (ShyiShiou Wu)
 

Viewers also liked (20)

Construct 2 Sine behavior
Construct 2 Sine behaviorConstruct 2 Sine behavior
Construct 2 Sine behavior
 
mBot組裝與測試
mBot組裝與測試mBot組裝與測試
mBot組裝與測試
 
Pivot animator
Pivot animatorPivot animator
Pivot animator
 
Construct 2的Particles物件
Construct 2的Particles物件Construct 2的Particles物件
Construct 2的Particles物件
 
Unity遊戲程式設計(02) 應用2D圖片物件
Unity遊戲程式設計(02) 應用2D圖片物件Unity遊戲程式設計(02) 應用2D圖片物件
Unity遊戲程式設計(02) 應用2D圖片物件
 
Construct 2 Native expressions
Construct 2 Native expressionsConstruct 2 Native expressions
Construct 2 Native expressions
 
Unity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計(05) 2D移動與碰撞處理IIUnity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計(05) 2D移動與碰撞處理II
 
Unity遊戲程式設計(04) 2D運動與碰撞處理I
Unity遊戲程式設計(04) 2D運動與碰撞處理IUnity遊戲程式設計(04) 2D運動與碰撞處理I
Unity遊戲程式設計(04) 2D運動與碰撞處理I
 
Arduino AMA中級認證術科實作 all
Arduino AMA中級認證術科實作 allArduino AMA中級認證術科實作 all
Arduino AMA中級認證術科實作 all
 
Unity遊戲程式設計(03) 2D動畫製作及應用
Unity遊戲程式設計(03) 2D動畫製作及應用Unity遊戲程式設計(03) 2D動畫製作及應用
Unity遊戲程式設計(03) 2D動畫製作及應用
 
Unity遊戲程式設計(01) Unity簡介
Unity遊戲程式設計(01) Unity簡介Unity遊戲程式設計(01) Unity簡介
Unity遊戲程式設計(01) Unity簡介
 
Arduino Yún使用Temboo服務
Arduino Yún使用Temboo服務Arduino Yún使用Temboo服務
Arduino Yún使用Temboo服務
 
Arduino Yún使用Http client
Arduino Yún使用Http clientArduino Yún使用Http client
Arduino Yún使用Http client
 
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
 
雲端運算簡介
雲端運算簡介雲端運算簡介
雲端運算簡介
 
Unity遊戲程式設計(09) 3D物件與光源設定
Unity遊戲程式設計(09) 3D物件與光源設定Unity遊戲程式設計(09) 3D物件與光源設定
Unity遊戲程式設計(09) 3D物件與光源設定
 
使用Google site架設網站
使用Google site架設網站使用Google site架設網站
使用Google site架設網站
 
Arduino Yún使用網頁顯示監測資料
Arduino Yún使用網頁顯示監測資料Arduino Yún使用網頁顯示監測資料
Arduino Yún使用網頁顯示監測資料
 
AMA 中級術科實作IV
AMA 中級術科實作IVAMA 中級術科實作IV
AMA 中級術科實作IV
 
AMA 中級術科實作II
AMA 中級術科實作IIAMA 中級術科實作II
AMA 中級術科實作II
 

More from 吳錫修 (ShyiShiou Wu)

Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理IIUnity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II吳錫修 (ShyiShiou Wu)
 
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理IUnity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I吳錫修 (ShyiShiou Wu)
 

More from 吳錫修 (ShyiShiou Wu) (20)

Vuforia AR影片程式設計
Vuforia AR影片程式設計Vuforia AR影片程式設計
Vuforia AR影片程式設計
 
micro:bit亮度感測應用
micro:bit亮度感測應用micro:bit亮度感測應用
micro:bit亮度感測應用
 
Vuforia AR 同時追踨多張辨識圖
Vuforia AR同時追踨多張辨識圖Vuforia AR同時追踨多張辨識圖
Vuforia AR 同時追踨多張辨識圖
 
micro:bit開關控制應用
micro:bit開關控制應用micro:bit開關控制應用
micro:bit開關控制應用
 
Vuforia AR 應用程式設計入門
Vuforia AR應用程式設計入門Vuforia AR應用程式設計入門
Vuforia AR 應用程式設計入門
 
Vuforia AR 應用程式準備作業
Vuforia AR應用程式準備作業Vuforia AR應用程式準備作業
Vuforia AR 應用程式準備作業
 
micro:bit LED顯示控制
micro:bit LED顯示控制micro:bit LED顯示控制
micro:bit LED顯示控制
 
IDE for micro:bit
IDE for micro:bitIDE for micro:bit
IDE for micro:bit
 
Microbit 1 introduction
Microbit 1 introductionMicrobit 1 introduction
Microbit 1 introduction
 
Arduino overview
Arduino overviewArduino overview
Arduino overview
 
使用Makeblock App學習mBot程式設計
使用Makeblock App學習mBot程式設計使用Makeblock App學習mBot程式設計
使用Makeblock App學習mBot程式設計
 
使用M部落App學習mBot程式設計
使用M部落App學習mBot程式設計使用M部落App學習mBot程式設計
使用M部落App學習mBot程式設計
 
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
 
nodeMCU IOT教學02 - Lua語言
nodeMCU IOT教學02 - Lua語言nodeMCU IOT教學02 - Lua語言
nodeMCU IOT教學02 - Lua語言
 
Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲Unity遊戲程式設計 - 2D Platformer遊戲
Unity遊戲程式設計 - 2D Platformer遊戲
 
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理IIUnity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
 
Unity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理IUnity遊戲程式設計 - 2D運動與碰撞處理I
Unity遊戲程式設計 - 2D運動與碰撞處理I
 
Python與Ardinio整合應用
Python與Ardinio整合應用Python與Ardinio整合應用
Python與Ardinio整合應用
 
mBlock積木式設計程式
mBlock積木式設計程式mBlock積木式設計程式
mBlock積木式設計程式
 
Arduino程式除錯
Arduino程式除錯Arduino程式除錯
Arduino程式除錯
 

Recently uploaded

泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 

Recently uploaded (6)

泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 

Construct2 Pathfinding behavior