Seite 1 von 1

3D - Kollision zwischen zwei StaticBody

Verfasst: 12.08.2013 22:19
von STARGÅTE
Hallo,

Wie kann ich die Kollision zwischen weil Entitys ermittel, die ein #PB_Entity_StaticBody haben und mit MoveEntity bewegt werden:

Code: Alles auswählen

InitEngine3D()
InitSprite()

Enumeration
	#Window
	#Camera
	#Mesh
	#Entity
	#Entity2
EndEnumeration

OpenWindow(#Window, 0, 0, 1600, 900, "ScreenTitle", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(#Window), 0, 0, WindowWidth(#Window), WindowHeight(#Window), 0, 0, 0)

CreateCube(#Mesh, 1)

WorldDebug(#PB_World_DebugBody)

CreateCamera(#Camera, 0, 0, 100, 100)
MoveCamera(#Camera, 8, 8, 8)
CameraLookAt(#Camera, 0, 0, 0)

CreateEntity(#Entity, MeshID(#Mesh), #PB_Material_None)
ScaleEntity(#Entity, 8, 0.2, 8)
EntityPhysicBody(#Entity, #PB_Entity_StaticBody)

CreateEntity(#Entity2, MeshID(#Mesh), #PB_Material_None)
EntityPhysicBody(#Entity2, #PB_Entity_StaticBody)

CreateLight(#PB_Any, $FFFFFF, 10, 5, 0)

WorldGravity(0)
EnableWorldPhysics(#True)
EnableWorldCollisions(#True)

Repeat
	
	MoveEntity(#Entity2, 0, Sin(ElapsedMilliseconds()/100)*2, 0, #PB_Absolute)
	MoveEntity(#Entity, 0, 0, 0, #PB_Absolute)
	
	If ExamineWorldCollisions(#True)
		Debug "Collisions"
		While NextWorldCollision()
		Wend
	EndIf
	
	Repeat
		
		Select WindowEvent()
			Case #PB_Event_CloseWindow
				End
			Case #PB_Event_None
				Break
		EndSelect
		
	ForEver
	
	RenderWorld()
	
	FlipBuffers()
	
ForEver
das Modell ist später komplexer, deswegen muss ich #PB_Entity_StaticBody nutzen, da die anderen zu ungenau sind.

Re: 3D - Kollision zwischen zwei StaticBody

Verfasst: 12.08.2013 22:47
von man-in-black
wär jetzt zu einfach, aber meinst du vielleicht:

EntityCollide(#Entity, #Entity2)

MFG
MIB

Re: 3D - Kollision zwischen zwei StaticBody

Verfasst: 13.08.2013 00:23
von STARGÅTE
Ah natürlich, danke.