[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [839] branches/ivygen/ivy_test.py: - collision seems to be working now

Florian Meyer florianfelix at web.de
Thu Jul 22 09:45:56 CEST 2010


Revision: 839
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=839
Author:   testscreenings
Date:     2010-07-22 09:45:56 +0200 (Thu, 22 Jul 2010)

Log Message:
-----------
- collision seems to be working now
- except the unsquashable bug is still there
- still needs the correct conversions object -- world space

Modified Paths:
--------------
    branches/ivygen/ivy_test.py

Modified: branches/ivygen/ivy_test.py
===================================================================
--- branches/ivygen/ivy_test.py	2010-07-22 06:54:40 UTC (rev 838)
+++ branches/ivygen/ivy_test.py	2010-07-22 07:45:56 UTC (rev 839)
@@ -192,7 +192,10 @@
             ####################################################################################################
             ####################################################################################################
             ####################################################################################################
-
+            #print('\nold_grow', growVector)
+            growVector = new_pos - prevIvy.position - gravityVector
+            #print('new_grow', growVector)
+            '''
             try:
                 climbing, new_pos = collision(self.ivyCollider, root, prevIvy.position + growVector + gravityVector)
                 #print('old_Grow', growVector)
@@ -202,8 +205,8 @@
 
             except:
                 print('---COLLISION FAILED---')
+            '''
 
-
             # create new IvyNode
             tmpIvy = IvyNode()
 
@@ -268,7 +271,7 @@
 
     ray_result = ob.ray_cast(old_pos, new_pos)
     if ray_result[2] != -1: # if collides with mesh
-        print('Collided with Object: ', ob.name)
+        print('XXXXXXXXXXXXXXCollided with Object: ', ob.name)
     
         climbing = True
         face = ob.data.faces[ray_result[2]]
@@ -277,13 +280,15 @@
         #Vector3d p0 = newPos - t->norm * Vector3d::dotProduct(t->norm, newPos - t->v0->pos);
     
         projVec = mathutils.Vector((new_pos -
-                                    (face.normal * face.normal.dot(ray_result[0]))))
+                                    (face.normal * face.normal.dot(new_pos - face.center))))
     
         new_pos += 2.0 * (projVec - new_pos)
-        #print('\ncolliding')
 
-    #else:
-        #print('not colliding')
+        #new_pos = 0.5 * (ray_result[0] - old_pos)
+
+
+    else:
+        print('not colliding\n')
     
     collisionResult = [climbing, new_pos]
     return climbing, new_pos
@@ -339,7 +344,7 @@
                             default=0)
     ivyIter = IntProperty(name='Iterations',
                             min=0, soft_min=0,
-                            default=9)
+                            default=40)
     ivyGravityWeight = FloatProperty(name='Gravity Weight',
                             min=0,soft_min=0,
                             max=1,soft_max=1,




More information about the Bf-extensions-cvs mailing list