Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
hardcore_gamer

Can I use 3D models to create true 3D levels?

Question

Normally Doom can't have true 3D even with Gzdoom, since technically 3D bridges aren't actually real 3D. But I was wondering, since Gzdoom supports 3D models is it possible to use them to create actual 3D? Or can 3D models only be placed on the floor and ceiling the same as 2D sprites?

Share this post


Link to post

Recommended Posts

  • 0

If it's of any interest - this is what I have been playing with for a little while - a system with pre defined lines for multiple layouts, individually addressable and then arranged in a grid of 9 by 9, with a random generator to build a map. It then spawns in the 3d models for buildings, and then sets the appropriate linedefs to blocking. 

This was from a little while ago, so I have a bit more since then, and can give info on how it works if you want

 

 

Share this post


Link to post
  • 1
1 hour ago, hardcore_gamer said:

Normally Doom can't have true 3D even with Gzdoom, since technically 3D bridges aren't actually real 3D.

3D floors are arguably real 3D, as any 3D architecture can be constructed using them.

Share this post


Link to post
  • 1
1 hour ago, hardcore_gamer said:

Normally Doom can't have true 3D even with Gzdoom, since technically 3D bridges aren't actually real 3D.

Excuse me?

Share this post


Link to post
  • 1
10 hours ago, hardcore_gamer said:

since technically 3D bridges aren't actually real 3D

I think only @Graf Zahl is allowed to say what "Technically" is 3D and what isn't in GZDoom.

Share this post


Link to post
  • 1

Okay people seem to be arguing over some bullshit about what is and is not 3D and not actually answering the question.

 

YOU CAN MAKE AN ENTIRE LEVEL IN A 3D MODEL

 

However, not without a lot of additional work. So to get a 3D model into GZDoom, you replace a sprite for an actor with your model, presumably MD3 or whatever.

 

Because you've replaced a sprite, that means the 3D model has either NO COLLISION or a 6-sided BOX COLLISION. What this means then, is you need to ensure the actor has no collision, then manually re-create the 3D model as a map AROUND the model itself, but do so in such a way that your terrain is not visible through the 3D model. This becomes more intense when you have multiple 3D elements, sloped floors / ceilings, so on and so forth.

 

The tl;dr of it is - do not do this unless your 3D model really is above and beyond what's possible in Doom normally, and then be willing to pump numerous hours into painstakingly recreating the terrain again in a more primitive doom format.

 

Screenshots below to prove I'm not talking shit and have done exactly this.

 

1f677a963e37f11110117341d9d5bfae.png

 

b498ad104a1be542f46956ad908714cf.jpg

 

95587bc5a54134489388b86518162877.png

 

Share this post


Link to post
  • 0

3D Models are specifically to replace Sprites, AFAIK. So they will always have a rectangular boundary box that is locked to the orthagonal directions. If the only models you wanted to make we're perfectly rectangular, great, but otherwise you're rather limited.

Share this post


Link to post
  • 0

Guess not, You have to construct the collision manually using regular geometry below your 3D Model

 

English : Yes you can use a 3D Model for your level, But you will clip through it unless you build something below it to hold objects.

Share this post


Link to post
  • 0

Another way to create blocking in (static) models is to use invisible bridge things. Sometimes, creating collision geometry using 3D sectors may not be practical, or it may be time-consuming - e.g., placing a model on one or more 3D sectors, and then adding 3D sectors for blocking geometry around a complex model. Invisible bridge things work well in such circumstances.

Share this post


Link to post
  • 0
3 hours ago, hardcore_gamer said:

.... since Gzdoom supports 3D models is it possible to use them to create actual 3D? Or can 3D models only be placed on the floor and ceiling the same as 2D sprites?

3D models can, indeed, be used to create "actual 3D". However, the native blocking imposed by the DECORATE (or ZScript) definition will only work for cuboid or cylindrical models. Therefore, you'll need to use invisible 3D sectors or invisible bridge things for creating blocking in complex-shaped models.

 

3D models can be placed anywhere in playable space, not just floors and ceilings. Just give the actor the relevant attribute/flag in its definition.

Share this post


Link to post
  • 0
3 hours ago, hardcore_gamer said:

Or can 3D models only be placed on the floor and ceiling the same as 2D sprites?

Things in a running Doom game have 3D coordinates. Things saved in map files have 2D coordinates in Doom map format, and can have their initial height above the floor specified in Hexen format and UDMF. Whether the thing's graphic is a sprite or a model is irrelevant in all of these cases.

Share this post


Link to post
  • 0
2 hours ago, scifista42 said:

Things in a running Doom game have 3D coordinates. Things saved in map files have 2D coordinates in Doom map format, and can have their initial height above the floor specified in Hexen format and UDMF. Whether the thing's graphic is a sprite or a model is irrelevant in all of these cases.

How do I do this?

Share this post


Link to post
  • 0
15 hours ago, hardcore_gamer said:

How do I do this?

Make sure your map is either in Hexen format or UDMF. Select a thing in the map and open its properties. One of the properties is called "Z height". That's the property I was talking about. Feel free to change its value to whatever you want. When the map will start, the thing will be spawned that many map units above the height of the floor in the sector they're in. Note that this doesn't work on player start things unless there's "UsePlayerStartZ" in the map's MAPINFO.

Share this post


Link to post
  • 0
2 hours ago, scifista42 said:

Make sure your map is either in Hexen format or UDMF. Select a thing in the map and open its properties. One of the properties is called "Z height". That's the property I was talking about. Feel free to change its value to whatever you want. When the map will start, the thing will be spawned that many map units above the height of the floor in the sector they're in. Note that this doesn't work on player start things unless there's "UsePlayerStartZ" in the map's MAPINFO.

Doesn't seem to work. I placed some candles down and wrote a number into the z field and nothing happened in-game.

Share this post


Link to post
  • 0

Candles are affected by gravity, so even if they spawn in mid-air, they then begin falling down and eventually fall all the way down to the floor. If you want things to stay in mid-air, you need to give them a NOGRAVITY flag in DECORATE.

Share this post


Link to post
  • 0
26 minutes ago, scifista42 said:

Candles are affected by gravity, so even if they spawn in mid-air, they then begin falling down and eventually fall all the way down to the floor. If you want things to stay in mid-air, you need to give them a NOGRAVITY flag in DECORATE.

 

Hmmmm interesting.

 

A question then: If I made a 3D model and gave it the nogravity flag, and then used it in a UDMF map, would it be possible to use the z gravity feature to create Doom 3 style 3D levels by using the 3D models as prefabs/props?

Share this post


Link to post
  • 0

But you will be limited, Collision for things in ZDoom is basically just cubes, you can't have accurate collision like that unless you put some invisible Bridge things as Rex suggested or Build something.

Share this post


Link to post
  • 0
1 minute ago, dmg_64 said:

But you will be limited, Collision for things in ZDoom is basically just cubes, you can't have accurate collision like that unless you put some invisible Bridge things as Rex suggested or Build something.

 

That doesn't sound like much of a problem honestly unless the 3D shape is very complex.

 

1 minute ago, Da Werecat said:

This sounds completely backwards to me. Woudn't it be much easier to just use 3D floors or pick a better engine?

Because it looks cool. I am currently using Brutal Doom 64 and Doom 3 textures to make a mod:

 

 

Share this post


Link to post
  • 0

Yes, but again, since the engine doesn't use the geometry of the models for collision detection, the models would need to be accompanied by (possibly invisible) actual map geometry for solid structures.

Share this post


Link to post
  • 0
Just now, hardcore_gamer said:

 

That doesn't sound like much of a problem honestly unless the 3D shape is very complex.

 

Sure, but don't expect every 3D shape to be a cube :P

Share this post


Link to post
  • 0

Maybe only if you use it for small-ish decorations. Kinda like Doom 3 itself did it - not all of its geometry is made of brushes.

Share this post


Link to post
  • 0

but ain't Total chaos is using Classic Doom Engine? how did the dev can come out fully 3d?

Share this post


Link to post
  • 0

It's not fully 3D, The weapons, monsters, items and decoration stuff (or I guess you could call them Static Meshes) are the only things that are 3D, The levels themselves are still not fully 3D.

Share this post


Link to post
  • 0
12 minutes ago, FantasmeDel'Esprit54 said:

No video game is truly 3D. Think about it, its on a flat screen

VR games are real 3D since you can look around.

Share this post


Link to post
  • 0
25 minutes ago, hardcore_gamer said:

VR games are real 3D since you can look around.

Two flat screens instead of one. Big deal.

Share this post


Link to post
  • 0
1 hour ago, Da Werecat said:

Two flat screens instead of one. Big deal.

My point was that the world actually FEELS 3D in that you can actually use your body/head to look around corners.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×