Warp mesh ?

Blitz3D Forums/Blitz3D Programming/Warp mesh ?

Yue(Posted 2016) [#1]
Hi, I 'm trying to think as to deform the ground by the impact of a bomb falling on the ground or any mesh , my tests are more focused to a meteor impact , but I really do not know how . In this has to do TformPoint ?, I would like someone to tell me that this form command means is that point refers to a point.

Greetings.







Edit

	For  c% = 1 To CountCollisions(terreno%)
		
		colisionBomba% = GetEntityType(bomba%)
		
		If c% = colisionbomba% Then RuntimeError "Boom!!"
		
		
		
	Next 


Edit 2 no work for me.


	For  c% = 1 To CountCollisions(terreno%)
		
		colisionBomba% = GetEntityType(bomba%)
		
		If c% = colisionbomba% Then 
			
			
			x# = EntityX(bomba%,True)
			y# = EntityY(bomba%,True)
			z# = EntityZ(bomba%,True)
			
			TFormPoint (x#, y#, z#, terreno%, 0 )
			
			ModifyTerrain ( terreno, TFormedX(), TFormedY()-100, TFormedZ(),True)
			
			
		End If 
		
		
		
		
		
	Next 



RemiD(Posted 2016) [#2]
You can see how to deform a blitz3d terrain in the demo Blitz3D\samples\mak\castle

also an example to modify the height with 0.1 precision :
TerrainB3D = CreateTerrain(32)
ScaleEntity(TerrainB3D,1,25.5,1) ;(max height of 25.5)
TerrainDetail(TerrainB3D,2048,True)
TerrainShading(TerrainB3D,True)
PositionEntity(TerrainB3D,0,0,0)

For HX% = 0 To 32-1
 For HZ% = 0 To 32-1
  HeightRGB% = Rand(030,035) ;(height between 3.0 and 3.5 on a greyscale heightmap)
  Height# = 1.0/255*HeightRGB ;(height in percent, if i remember correctly)
  ModifyTerrain(TerrainB3D,HX,HZ,Height,False) 
 Next
Next



Yue(Posted 2016) [#3]
Thanks, but as I make a crater in the ground , I mean detect the coordinates of impact on terrain mesh and make a hole.


Rick Nasher(Posted 2016) [#4]
Hehehe Yue. I did this years ago making use of some code from around here. Didn't know what I was doing but it worked more or less.
I'll look it up...

found it :




Rick Nasher(Posted 2016) [#5]
So basically you shoot bullet entity at the terrain and when it collided with terrain you execute this function.
I used it like this..
bullitX#=EntityX(b\entity)
bullitY#=EntityY(b\entity)
bullitZ#=EntityZ(b\entity)
				
PositionEntity b\entity,bullitX#,bullitY#+fall,bullitZ#	;fall to earth when velocity gets below threshold (1)
				
; if bullit is at terrainheight then explode & hide
If bullitY#<TerrainY(terrain,bullitX#,bullitY#,bullitZ#)+4 Or EntityCollided(b\entity,col_level) ; create different response for what has been hit later..

	b\inflight=0 ;flight has finished, so set flag & a MakeGrenadeExplosion
	MakeGrenadeExplosion(b\entity)
	HideEntity b\entity ; hide shot collided bullir

EndIf


Oh and btw you need to put a ; before the scorch bit, for I think it's something I added leaving a black stain on the crater.

or use this with it:



And:


Result is something like this:



Yue(Posted 2016) [#6]
Ok , I have no problems , I have a bomb falling on the ground and leaving a huge crater.

Thank you very much. :)









Rick Nasher(Posted 2016) [#7]
Nice. :-)


Rick Nasher(Posted 2016) [#8]
These are meant for a meteor storm on Mars? So that the Rover needs to run away from them?


Yue(Posted 2016) [#9]
@Rick Nasher, Yes,

If so , this is intended for meteors . if I remember correctly , it was your idea. :)


Rick Nasher(Posted 2016) [#10]
:-D


Guy Fawkes(Posted 2016) [#11]



Rick Nasher(Posted 2016) [#12]
@ GF: ha, you took out my mods, making it pure again. :-)


Guy Fawkes(Posted 2016) [#13]
LMFAO!

~GF