dont add contact joints for geom-geom
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				studiorailgun/Renderer/pipeline/head This commit looks good
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	studiorailgun/Renderer/pipeline/head This commit looks good
				
			This commit is contained in:
		
							parent
							
								
									cc40718f42
								
							
						
					
					
						commit
						f2c0a799e9
					
				| @ -2079,6 +2079,7 @@ Render pathing nodes (still needs some work) | ||||
| Pathing construction between town buildings and road nodes | ||||
| Pathing construction for farm plots | ||||
| Bounding sphere work | ||||
| Don't allocate contact joints for geom-geom | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -486,44 +486,31 @@ public class CollisionEngine { | ||||
|             int numc = OdeHelper.collide(o1,o2,MAX_CONTACTS,contacts.getGeomBuffer()); | ||||
|             Globals.profiler.endCpuSample(); | ||||
|             //create DContacts based on each collision that occurs | ||||
|             if (numc != 0) { | ||||
|                 for (int i=0; i<numc; i++) { | ||||
|             if(numc != 0){ | ||||
|                 for(int i=0; i<numc; i++){ | ||||
|                     DContact contact = contacts.get(i); | ||||
| 
 | ||||
|                     //special code for ray casting | ||||
|                     if (o1 instanceof DRay || o2 instanceof DRay){ | ||||
|                         DVector3 end = new DVector3(); | ||||
|                         end.eqSum( contact.geom.pos, contact.geom.normal, contact.geom.depth ); | ||||
|                         end.eqSum(contact.geom.pos, contact.geom.normal, contact.geom.depth); | ||||
|                         continue; | ||||
|                     } | ||||
| 
 | ||||
|                     // // | ||||
|                     // //apply shallow slope correction | ||||
|                     // if( | ||||
|                     //     //is terrain | ||||
|                     //     (c1.getType() == Collidable.TYPE_TERRAIN || c2.getType() == Collidable.TYPE_TERRAIN) && | ||||
|                     //     (!c1.getType().equals(c2.getType())) && | ||||
|                     //     contact.geom.normal.length() > 0  | ||||
|                     //     && | ||||
|                     //     //force is pointing basically upwards | ||||
|                     //     PhysicsUtils.odeVecToJomlVec(contact.geom.normal).dot(MathUtils.getUpVector()) > 0.7 | ||||
|                     // ){ | ||||
|                     //     System.out.println(PhysicsUtils.odeVecToJomlVec(contact.geom.normal).dot(MathUtils.getUpVector())); | ||||
|                     //     if(//force is pointing basically upwards | ||||
|                     //     PhysicsUtils.odeVecToJomlVec(contact.geom.normal).dot(MathUtils.getUpVector()) > 0.7){ | ||||
|                     //         contact.geom.normal.set(PhysicsUtils.jomlVecToOdeVec(MathUtils.getUpVector())); | ||||
|                     //     } | ||||
|                     // } | ||||
| 
 | ||||
|                     // | ||||
|                     //add contact to contact group | ||||
|                     DJoint c = OdeHelper.createContactJoint(world,contactgroup,contact); | ||||
|                     if(b1 == null){ | ||||
|                         c.attach(null,b2); | ||||
|                     } else if(b2 == null){ | ||||
|                         c.attach(b1,null); | ||||
|                         if(b2 == null){ | ||||
|                         } else { | ||||
|                             c.attach(null,b2); | ||||
|                         } | ||||
|                     } else { | ||||
|                         c.attach(b1,b2); | ||||
|                         if(b2 == null){ | ||||
|                             c.attach(b1,null); | ||||
|                         } else { | ||||
|                             c.attach(b1,b2); | ||||
|                         } | ||||
|                     } | ||||
| 
 | ||||
|                     // Use the default collision resolution | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user