Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gdevelop5:behaviors:pathfinding [2018/10/02 21:56]
valiant_curiosity [Examples]
gdevelop5:behaviors:pathfinding [2019/05/29 12:05] (current)
akbarhabeebb [Option 2: Pathfinding Obstacle behavior] Typo
Line 1: Line 1:
 #​Pathfinding #​Pathfinding
  
-Pathfinding behavior ​allows us to move objects to a selected destination as well as to flag items as obstacles that are going to be avoided by the moving objects.+**[[#​Examples|I would rather see the Pathfinding behavior ​examples! Please take me there now.]] 
 +**
  
-## Examples ​+Pathfinding behavior allows us to move objects to a selected destination as well as to flag items as obstacles. Objects that are flagged as obstacles will be avoided by the moving objects.
  
-<note tip>​**See it in action!** 🎮\\ +## Add behavior to object 
-Open these examples online.</​note>​+To add behavior to an object, as usual, create the object. Then open the object'​s properties by right-clicking on the Objects list located on the right of the Scene Interface. Select "Edit object"​ from the popup list
  
-**General Path Finding Behavior** +{{:​gdevelop5:​editplayerobject.jpg?​200|}}
- +
-{{:​gdevelop5:​behaviors:​pathfindinggeneral.png?​200|}} +
- +
-* https://​editor.gdevelop-app.com/?​project=example://​pathfinding +
- +
-**Path Finding Basics** +
- +
-{{:​gdevelop5:​behaviors:​pathfindingbasics.png?​200|}} +
- +
-* https://​editor.gdevelop-app.com/?​project=example://​pathfinding-basics +
- +
-## Add behaviour to object +
-To add behavior to an object, first open the object'​s properties by right clicking on the scene object. Select "Edit object"​ from the popup list. (You can also select the object from the Objects menu.)  +
- +
-{{:​gdevelop5:​editplayerobject.jpg?​400|}}+
  
 Now, select the behavior tab and click the "add behavior"​ button. ​ Now, select the behavior tab and click the "add behavior"​ button. ​
Line 34: Line 20:
 {{ :​gdevelop5:​behaviors:​pathfinding-behavior-inlist.png?​nolink |}} {{ :​gdevelop5:​behaviors:​pathfinding-behavior-inlist.png?​nolink |}}
  
-Pathfinding behavior allows us to move the object to a destination while  avoiding all objects flagged as an obstacle. ​+"Pathfinding behavior" ​allows us to move the object to a destination while avoiding all objects flagged as an obstacle. ​
  
 After we add the behaviour to the object, we can customize a number of options. After we add the behaviour to the object, we can customize a number of options.
Line 46: Line 32:
   * **rotate object:** if you don't want the object to rotate while moving on the path, disable the object'​s rotation.   * **rotate object:** if you don't want the object to rotate while moving on the path, disable the object'​s rotation.
   * **rotate speed:** sets the speed of the object'​s rotation.   * **rotate speed:** sets the speed of the object'​s rotation.
-  * **virtual cell height and width:** our path is generated using a virtual grid. We can change the size of the cells here, the smaller the cell size, the smoother the movement is going to be. //A smaller cell size implies more calculations so try to still keep size as large as possible.//+  * **virtual cell height and width:** our path is generated using a virtual grid. We can change the size of the cells here, the smaller the cell size, the smoother the movement is going to be. //A smaller cell size implies more calculations so try to still keep the size as large as possible.//
  
-## Option 2: PathfindingObstacle ​behavior+## Option 2: Pathfinding Obstacle ​behavior
 {{ :​gdevelop5:​behaviors:​pathfinding-obstacle-inlist.png?​nolink |}} {{ :​gdevelop5:​behaviors:​pathfinding-obstacle-inlist.png?​nolink |}}
  
-By using the pathfinding ​obstacle behavior, we can flag any object to be an obstacle. ​+By using the "​Pathfinding ​obstacle behavior", we can flag any object to be an obstacle. ​
 After we add the behavior to the object, we have two options to customize: After we add the behavior to the object, we have two options to customize:
 {{ :​gdevelop5:​behaviors:​pathfinding-obstacle-options.png?​nolink |}} {{ :​gdevelop5:​behaviors:​pathfinding-obstacle-options.png?​nolink |}}
  
   * **impassable:​** if we enable this, the obstacle is going to be impassable. The moving object is going to avoid it at all cost.   * **impassable:​** if we enable this, the obstacle is going to be impassable. The moving object is going to avoid it at all cost.
-  * **cost:** if the obstacle is not impassable, we can set a cost for the obstacle. The moving object, when looking for the best possible path to a destination,​ is going to prefer to avoid the obstacle with high cost values. For example, a river might have some cost. The moving object, if possible, ​ will avoid it. However, if there is no other way around the river, or if the river has a lower cost compared to another area, the moving object will go through it (instead of climbing a mountain with a higher cost for example). And if we put crocodiles into the river and increase its cost, the moving object might decide to climb the mountains instead.+  * **cost:** if the obstacle is not impassable, we can set a cost for the obstacle. The moving object, when looking for the best possible path to a destination,​ is going to prefer to avoid the obstacle with high-cost values. For example, a river might have some cost. The moving object, if possible, ​ will avoid it. However, if there is no other way around the river, or if the river has a lower cost compared to another area, the moving object will go through it (instead of climbing a mountain with a higher cost for example). And if we put crocodiles into the river and increase its cost, the moving object might decide to climb the mountains instead. 
 + 
 +## Examples  
 + 
 +<note tip>​**See it in action!** 🎮\\ 
 +Open these examples online.</​note>​ 
 + 
 +**General Path Finding Behavior** 
 + 
 +[[https://​editor.gdevelop-app.com/?​project=example://​pathfinding|{{:​gdevelop5:​behaviors:​pathfindinggeneral.png?​200|}}]] 
 + 
 +* https://​editor.gdevelop-app.com/?​project=example://​pathfinding 
 + 
 +**Path Finding Basics** 
 + 
 +[[https://​editor.gdevelop-app.com/?​project=example://​pathfinding-basics|{{:​gdevelop5:​behaviors:​pathfindingbasics.png?​200|}}]] 
 + 
 +* https://​editor.gdevelop-app.com/?​project=example://​pathfinding-basics