Moving to 3D

Blitz3D Forums/Blitz3D Beginners Area/Moving to 3D

Kirkkaf13(Posted 2010) [#1]
Hi all,

I have been working with BB3D for a month or so now and want to move on to the basics of 3D. However I have no idea how 3D games all piece together. Could somebody explain to me fully what steps are involed what tools I need and maybe reccomend some tools for such a beginner as myself?

This would be much appreciated.

OneHitWonder.


Amanda Dearheart(Posted 2010) [#2]
While B3d is capable of doing almost anything you can imagine, there are certain tools that you can use to make life easier. Some of these tools are listed in the tools tab under the account tab on the Blitz website.

My favs are

TrueSpace for modeling (and level design) I use both 5.0 and 7.5 (free) until collada is widely supported. unfortunately, truespace does not export to the b3d format (or any game engine format for that matter) therefore you would have to use a format xfer program. My fav is Ultimate Unwrap. Another popular one is MilkShape, itself a popular low-end modeler.

L3DT
ALE for creating landscapes. especially if you're doing something like RPG's or 3d shooters.

Paint Shop Pro. Yeah, you're going to need textures for all those things that you create!

Those are the major things that you would need! talk to you later!


GfK(Posted 2010) [#3]
Forget any tools for now. Create some primitives (CreateCube, CreateSphere etc), learn how cameras and lights work. Get a few objects moving around and learn how to get them colliding with each other.

Get the basic concepts down before you even attempt anything else, otherwise you're screwed from the start.


Kirkkaf13(Posted 2010) [#4]
Thanks for the GOOD advice, I think I will do just that.

Ill be back here to ask again once I have messed around with basic 3D objects.

OneHitWonder.


Drak(Posted 2010) [#5]
Blitz 3D is based on entities. An entity is pretty much anything physical in your 3d world. Characters, props, trees, weapons, even cameras and lights are entities. Take time to learn the proper use of the basic entity commands. Learn the differences why one would use TranslateEntity() instead of MoveEntity(), or TurnEntity() instead of RotateEntity(). Learn the basics first and don't be afraid to ask questions if you don't understand something.


Kirkkaf13(Posted 2010) [#6]
@Drak

Cheers, I think RotateEntity() rotates the axis of the entity I think I remember reading that somewhere.

OneHitWonder


PowerPC603(Posted 2010) [#7]
If you would use:
TurnEntity obj, 10, 0, 0

The "obj" entity will turn everytime you call the above line, rotating around it's X-axis. If the "obj" entity is already turned 5 times, and you call it again, it will be turned a 6th time. Now the rotation should be 60°, relative to it's original rotation.

RotateEntity turns the "obj" entity to the rotation you give it, relative to it's original rotation.
If you call it 6 times in a row, then it would still be rotated 10° relative to it's original rotation.

Graphics3D 800, 600, 0, 2
SetBuffer BackBuffer()

Global cube = CreateCube()

Global cam = CreateCamera()
PositionEntity cam, 0, 10, -10
PointEntity cam, cube



While Not KeyHit(1)
	If KeyHit(20) Then TurnEntity cube, 0, 5, 0 ; 't' turns the entity
	If KeyHit(19) Then RotateEntity cube, 0, 30, 0 ; 'r' rotates the entity
	If KeyHit(57) Then RotateEntity cube, 0, 0, 0 ; 'spacebar' rotates the entity back to it's original rotation
	RenderWorld

	Text 10, 10, "Press 't' to turn the entity 5°"
	Text 10, 20, "Press 'r' to rotate the entity to 30°"
	Text 10, 40, "Press 'spacebar' to reset the entity to it's original rotation"

	Text 10, 60, "Rotation: " + EntityYaw#(cube)

	Flip
Wend

End


It's the same as MoveEntity and PositionEntity.
MoveEntity moves the object relative to it's current position, while PositionEntity positions the entity to the given coordinates.


Ross C(Posted 2010) [#8]
Only a madman would use turnentity. I really have never ever had a use for that command... RotateEntity, using relative rotations, works much better :)


GfK(Posted 2010) [#9]
Only a madman would use turnentity. I really have never ever had a use for that command... RotateEntity, using relative rotations, works much better :)
Its TurnEntity which turns an entity relative to its current orientation. RotateEntity turns it to an absolute orientation. Unless something changed since I last used Blitz3D.


Ross C(Posted 2010) [#10]
Yes, but using:

Rotate_Entity(entity,0,1,0)

Function Rotate_Entity(entity,x,y,z)

   RotateEntity entity, EntityPitch(entity)+x, EntityYaw(entity)+y, EntityRoll(entity)+z

End Function


Turns the entity alot differently, and properly in most cases, than just using turnentity. It's just really my opinion, but the way turnentity turns entity's, when you rotate it around more than 1 zxis, is completely different from RotateEntity, as above. I just find it unusable if your rotating around more than 1 axis.

Agsin, my own personal experience with the command.


Drak(Posted 2010) [#11]
I was just trying to point out that similar sounding commands have different results and uses.


Ross C(Posted 2010) [#12]
Nah, i know. Sorry if you thought that was directed at you. I've just always wondered what real uses it would have in a game :)


Tobo(Posted 2010) [#13]
Not sure how this link will turn out, but this is a good book-

http://www.amazon.co.uk/gp/aw/d.html/ref=mp_s_a_3?qid=1266838851&a=1598638432&sr=8-3

Don't be put off by the title.