meta data for this page
  •  

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
geometry_forces [2023/04/03 17:25] steph.jorgensengeometry_forces [2023/07/10 11:34] (current) steph.jorgensen
Line 4: Line 4:
   * Identify the geometry to be used (either a mesh asset or parts of the model itself)   * Identify the geometry to be used (either a mesh asset or parts of the model itself)
   * Position it in the scene (if it’s a mesh asset, model parts remain where they are)   * Position it in the scene (if it’s a mesh asset, model parts remain where they are)
-  * Embed it in the output (if it’s a mesh asset, model pars already are)+  * Embed it in the output (if it’s a mesh asset, model parts already are)
   * Specify how things behave around the geometry (attracted to it, avoid it, ignore it, etc.)   * Specify how things behave around the geometry (attracted to it, avoid it, ignore it, etc.)
   * Specify what happens if anything hits the geometry (crawl around it, stop, etc.)   * Specify what happens if anything hits the geometry (crawl around it, stop, etc.)
Line 45: Line 45:
 If you’re using generators, this geometry will update every time the model updates. You don’t need to do anything else.  This feature enables you to freely change the model and have other parts of the model update accordingly.  You can add or remove generators as you like and you can have as many geometry forces as you need. If you’re using generators, this geometry will update every time the model updates. You don’t need to do anything else.  This feature enables you to freely change the model and have other parts of the model update accordingly.  You can add or remove generators as you like and you can have as many geometry forces as you need.
  
-{{ :geometry_forces_properties.png?nolink&400 |VINE PIC}} +{{geometry_forces_properties.png?nolink&400}} 
  
 Using generators as the source of the geometry requires some special consideration.  Please see the final section of this page for more information. Using generators as the source of the geometry requires some special consideration.  Please see the final section of this page for more information.
Line 67: Line 67:
 ===== Using a geometry force ===== ===== Using a geometry force =====
 Geometry forces are enabled and disabled just like any other force.  Select a generator, navigate to the “Forces” group, and enable the geometry force in the list. Below is a screenshot of the “Single Vine” generator enabling the Geometry Force named “Rook”. Geometry forces are enabled and disabled just like any other force.  Select a generator, navigate to the “Forces” group, and enable the geometry force in the list. Below is a screenshot of the “Single Vine” generator enabling the Geometry Force named “Rook”.
-{{ :geometry_forces_enabling_force_1.png?nolink&400 }}+ 
 +{{geometry_forces_enabling_force_1.png?nolink&400}} 
 The value of the property is multiplied by the Geometry Force’s strength value and applied to the branch.  If more than one behavior has been assigned to the Geometry Force, choose the desired behavior by clicking the name field on the force property and selecting it by name.  The [[kccurves|parent curve]] and [[kccurves|profile curve]] can be used to change the force’s influence on the branch in the same manner as any other property. The value of the property is multiplied by the Geometry Force’s strength value and applied to the branch.  If more than one behavior has been assigned to the Geometry Force, choose the desired behavior by clicking the name field on the force property and selecting it by name.  The [[kccurves|parent curve]] and [[kccurves|profile curve]] can be used to change the force’s influence on the branch in the same manner as any other property.
  
Line 74: Line 76:
 Once a Geometry Force obstructs any given branch, the properties in the group “Geometry Force Crawling” on the Branch generator (pictured below) control how the branch will crawl over the surface of the geometry. Once a Geometry Force obstructs any given branch, the properties in the group “Geometry Force Crawling” on the Branch generator (pictured below) control how the branch will crawl over the surface of the geometry.
  
-{{ :geometry_forces_crawling.png?nolink&400 |GEOMETRY FORCE CRAWLING PIC}}+{{geometry_forces_crawling.png?nolink&400}}
  
 These properties are explained in detail [[branch_generator|here]] but the general idea is to use these properties to convey how much the branch can bend (“Max bend angle”), how much of it can press into the mesh (“Tolerance”), how hard it tries to find a solution (“Max iterations”), how much it anticipates what it will need to do (“Look ahead”), and what it will do while it’s touching (“Follow”) group. These properties are explained in detail [[branch_generator|here]] but the general idea is to use these properties to convey how much the branch can bend (“Max bend angle”), how much of it can press into the mesh (“Tolerance”), how hard it tries to find a solution (“Max iterations”), how much it anticipates what it will need to do (“Look ahead”), and what it will do while it’s touching (“Follow”) group.
Line 93: Line 95:
 Both “Force:Strength” and “Force:Align strength” can be attenuated, each with their own settings.  In the example we’ve been using, the “Rook” Geometry Force does not have its main strength attenuated but does have its align strength attenuated.  This technique is used here so that the leaves are free to orient in any fashion until they get very close to the surface of the geometry. Both “Force:Strength” and “Force:Align strength” can be attenuated, each with their own settings.  In the example we’ve been using, the “Rook” Geometry Force does not have its main strength attenuated but does have its align strength attenuated.  This technique is used here so that the leaves are free to orient in any fashion until they get very close to the surface of the geometry.
  
-{{ :geometry_forces_attenuation.png?nolink&400 |}}+{{geometry_forces_attenuation.png?nolink&400}}
  
 In the screenshot above, the “Rook” geometry force is selected and the orange lines indicate the attenuation distance for alignment attenuation.  There is no main force strength attenuation on this force, but, if there were, it would be indicated by similar white lines. In the screenshot above, the “Rook” geometry force is selected and the orange lines indicate the attenuation distance for alignment attenuation.  There is no main force strength attenuation on this force, but, if there were, it would be indicated by similar white lines.
  
 =====Containers===== =====Containers=====
-{{ ::container_force.jpg?nolink&150}} 
 Similar to attenuation, forces can also have an area of effect controlled by another "container" geometry force, limiting its area of effect. You can indicate an area to be included or excluded for a particular force by setting the corresponding properties in the [[force_object#container_forces|"Container force"]] property group to the name(s) of the geometry forces you wish to use as containers. Similar to attenuation, forces can also have an area of effect controlled by another "container" geometry force, limiting its area of effect. You can indicate an area to be included or excluded for a particular force by setting the corresponding properties in the [[force_object#container_forces|"Container force"]] property group to the name(s) of the geometry forces you wish to use as containers.
  
-In the picture to the right, there are four forces: two direction forces and two geometry forces with a sphere mesh indicating the area of effect for the corresponding direction force. The branch is affected by the direction forces in a very precise manner.+In the following image, there are four forces: two direction forces and two geometry forces with a sphere mesh indicating the area of effect for the corresponding direction force. The branch is affected by the direction forces in a very precise manner. 
 + 
 +{{container_force.jpg?nolink&150}}
  
 ===== Using generators: Compute order matters===== ===== Using generators: Compute order matters=====
Line 108: Line 111:
 The screenshot below is from the sample named “vines_on_tree.spm” in the Geometry Forces sample folder. The screenshot below is from the sample named “vines_on_tree.spm” in the Geometry Forces sample folder.
  
-{{ :geometry_forces_pass_values.png?nolink&400 |VINE TREE PIC}} +{{geometry_forces_pass_values.png?nolink&400}} 
  
 Notice that several of the vines have a “Pass” level shown next to them.  Computation is done in passes.  Each generator is in the first pass unless otherwise edited.  In this example, “Trunk and Branches” are in pass 1 (pass 1 is the default and remains unlabeled).  “Vines A” is in pass 2.  “Vines B” is in pass 3.  The computation order is as follows: Notice that several of the vines have a “Pass” level shown next to them.  Computation is done in passes.  Each generator is in the first pass unless otherwise edited.  In this example, “Trunk and Branches” are in pass 1 (pass 1 is the default and remains unlabeled).  “Vines A” is in pass 2.  “Vines B” is in pass 3.  The computation order is as follows: