I need help

Blitz3D Forums/Blitz3D Beginners Area/I need help

Azaratur(Posted 2007) [#1]
I have some question.. I am new of blitz3d!

First of all hi to everyone!
1) How can i make a fast and real time shadows? or There is something already ready?

2)I tried tokamak, i read on the forum that there is the possibility to modify the adjacency.cpp file to convert a 3ds with more than 255 vertex/face/edge. I don't know c++ do you have an already modify adjacency.exe or can explain to me how i can modify it?

3)There is some good sun rays?

4)I read there is some problem with antialaising, then there is other way to use it?

5)I want to create an huge map, what is the best way to do it?

Sorry for many questions.. And thanks to all
Aza


chwaga(Posted 2007) [#2]
those are broad questions, I can answer 3 and inquire on 1:


-for fast and real-time shadows, use devil's shadow system

-anti-aliasing in blitz3d has issues, it works on some graphics cards, but not others, I don't think it works with Nvidia, I believe blitzmax has functional anti-aliasing, though

-for huge maps, you could use milkshape 3d, 3ds max 8, gile[s], other 3d modellers, or some of the terrain-creation apps found here

What excactly do you mean by "some good sun rays"?


Mortiis(Posted 2007) [#3]
1) There is Swift's shadow system, making one yourself needs a lot experience and time.
2) Dunno.
3) What do you mean? Lens flare?
4) No, there is no way to use antialiasing in blitz3d.
5) I suggest 3d World Studio.

Cheers.


chwaga(Posted 2007) [#4]
blitz3d anti-aliasing works on some cards doesn't it?? Otherwise, why is there a command for it? (Antialias = true)


boomboom(Posted 2007) [#5]
anti-aliasing did work on certain graphics cards, with certain driver versions (probbaly similer combinations ot marks programming rig when he programmed it)


Mortiis(Posted 2007) [#6]
You can't say "This game has Anti Aliasing" if it works when very limited conditions met. Like specific gfx cards specific drivers.


Azaratur(Posted 2007) [#7]
Hi tanks for your help,
sun ray = sun flare. sorry for my english (i am italian!)
I tried devil shadow but when i move the light, the shadow don't work correctly.. I can't explain better, probably i need more pratice.

I already create a huge map with terrain generator but the texture are too big.. If i create a map with 3d studio how can i place the texture?

Do you know how i can make a good water reflex? I try with raytrace of 3d studio max, but it doesn't work..
Thanks again for all your help!!
Aza


chwaga(Posted 2007) [#8]
3ds max raytracing is production-grade stuff, no way with our technology can raytracing be done realtime. Devil shadow system also has a water/dot-3 system, you may want to check that out.


Mortiis(Posted 2007) [#9]
You can use cubemapping for the water but that can kill the performance if you do not optimize it deeply.

3D world studio is great for texturing / shadowmapping / placing custom objects, AI etc.


Azaratur(Posted 2007) [#10]
I Moritiis, thank for your help, i already try 3d world studio, but when i use a b3d file (it's an prebuilding b3d file, you can find it in the demo) blitz 3d say to me acces memory violation.. I think, please correct me if i wrong, that in blitz3d you cannot open b3d or 3ds file bigger then 2 mb.. it is correct?


chwaga(Posted 2007) [#11]
what do you mean by AI? (artificial intelligence, or animated images)


Azaratur(Posted 2007) [#12]
A good sun flare?


Mortiis(Posted 2007) [#13]
Artificial Intelligence....I place them in the 3d World Studio then while loading the map in my code, I give the specific AI to those objects.


chwaga(Posted 2007) [#14]
How???


Mortiis(Posted 2007) [#15]
Have you seen the advanced map loading functions of leadwerks?

Here it is;

http://blitzbasic.com/Community/posts.php?topic=51660

And here is how I do it;

I load the enemy in the loadworld function.(it is a custom entity I wrote for 3dworldstudio, you can add your entites through "entities.def" file)
			Case "raider1"
				Raider1.tRaider1 = New tRaider1
				
				Raider1\pivot = CreatePivot()
				Raider1\entity = LoadMesh( pak( "Models\Enemies\Raider1.b3d" ), Raider1\pivot )
				Raider1\engine = FindChild( Raider1\entity, "EngineBone" )
				
				Raider1\tex = LoadTexture( "Models\Enemies\raider1tex.dds" )
				EntityTexture Raider1\entity, Raider1\tex
				
				Raider1\x = EntityX(node)
				Raider1\y = EntityY(node)
				Raider1\z = EntityZ(node)
				
				Raider1\scale = 1
				
				Raider1\speed = 0
				Raider1\maxSpeed = 22
				Raider1\range = 600
				
				EntityPickMode Raider1\entity, 2
				
				ScaleEntity Raider1\entity, Raider1\scale, Raider1\scale, Raider1\scale
				PositionEntity Raider1\pivot, Raider1\x, Raider1\y, Raider1\z
				EntityShininess Raider1\entity, .5


Then in the AI code, I give the intelligence specifications;

	;! RAIDER 1
	For Raider1.tRaider1 = Each tRaider1
		UpdateNormals Raider1\entity

		;If Player is in range
		If EntityDistance( Raider1\pivot, Player\pivot ) < Raider1\range
			;Move Enemy
			Raider1\speed = Raider1\speed + .4
			If Raider1\speed > Raider1\maxSpeed Then Raider1\speed = Raider1\maxSpeed
			
			;Turn Enemy
			Local temp_y_raider1 = DeltaYaw( Raider1\pivot, Player\pivot )
			TurnEntity Raider1\pivot, 0, temp_y_raider1 * 0.09, 0
			
			If temp_y_raider1 > 0 Then Raider1\rotation = Raider1\rotation + 4
			If temp_y_raider1 < 0 Then Raider1\rotation = Raider1\rotation - 4
			If temp_y_raider1 = 0 Then Raider1\rotation = 0

			If Raider1\rotation > 45 Then Raider1\rotation = 45
			If Raider1\rotation < -45 Then Raider1\rotation = -45

		;If player not in range
		Else
			;Stop
			Raider1\rotation = 0
			Raider1\speed = Raider1\speed - .4
			
			If Raider1\speed < 0 Then Raider1\speed = 0
		EndIf

		;Move and rotate the enemy according to the final values
		RotateEntity Raider1\entity, 0, 0, Raider1\rotation
		MoveEntity Raider1\pivot, 0, 0, Raider1\speed
	Next