DTS vs DIF for a Spaceship
by Jonathan Toolan · in Artist Corner · 01/28/2008 (12:53 am) · 7 replies
I'm trying to get my head around the differences between DTS and DIF's in torque, and I apologise for the newbie-like quality of this question.
I have a rather large spaceship, with about 15 or 16 sections in it, including engine room and cockpit. My initial idea was to make it into a DIF interior, using constructor or similar.
However, I decided, in my finite wisdom, to make one section, the "neck" of the spaceship, moveable up and down to allow entry and exit from the ship by the main character. It is my understanding that DIF shapes are totally immobile, and cannot move in any way. Is this the case?
So, I re-created the ship in Blender as a DTS shape, with bones and all, and will have to learn how to do collision meshes for the insides.
My question is this:
Am I on to a hiding to nothing trying to do the spaceship as a DTS? Should I just bite the bullet and say "Nope. It's immobile. Deal with it." to the game design part of my head?
Thanks for any assistance anyone can provide.
Jonathan
I have a rather large spaceship, with about 15 or 16 sections in it, including engine room and cockpit. My initial idea was to make it into a DIF interior, using constructor or similar.
However, I decided, in my finite wisdom, to make one section, the "neck" of the spaceship, moveable up and down to allow entry and exit from the ship by the main character. It is my understanding that DIF shapes are totally immobile, and cannot move in any way. Is this the case?
So, I re-created the ship in Blender as a DTS shape, with bones and all, and will have to learn how to do collision meshes for the insides.
My question is this:
Am I on to a hiding to nothing trying to do the spaceship as a DTS? Should I just bite the bullet and say "Nope. It's immobile. Deal with it." to the game design part of my head?
Thanks for any assistance anyone can provide.
Jonathan
#2
If you choose the polysoup direction, you will lose the benefits of portaled interior optimization. If your ship is large, it could totally kill your framerate.
01/28/2008 (7:06 am)
You should check out pathed interiors and the opcode polysoup resource. Pathed interiors allow DTS objects to move along a path (say for elevators and such), and opcode allows DTS objects to have accurate collision.If you choose the polysoup direction, you will lose the benefits of portaled interior optimization. If your ship is large, it could totally kill your framerate.
#3
Disclaimer: I hate to ask follow up questions in other people's threads, but it would be better to keep all similar information in the same place for search purposes.
03/03/2008 (11:50 pm)
I'm pretty much in the same boat here. I have a ship that i'd like to model as a combat vessil so people have to move around it during flight. Since it pretty much has to move, does .dif allow flight path scripts? Disclaimer: I hate to ask follow up questions in other people's threads, but it would be better to keep all similar information in the same place for search purposes.
#4
Who knows, I may even manage to find some "spare time" (if such a thing exists) to actually implement the changes he has made, and turn my huge moveable spaceship into a haunt for players.
Of course, I may leave it as static until the time comes to move it, and then re-load it as a DTS with no player visible. We shall see.
Either way, it'd be nice to be able to link objects together like Ramen-sama has done.
03/04/2008 (1:23 am)
There's someone called Ramen-sama who has done quite a lot of work on making it possible to connect two objects together, as evidenced in this plan: www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=14331Who knows, I may even manage to find some "spare time" (if such a thing exists) to actually implement the changes he has made, and turn my huge moveable spaceship into a haunt for players.
Of course, I may leave it as static until the time comes to move it, and then re-load it as a DTS with no player visible. We shall see.
Either way, it'd be nice to be able to link objects together like Ramen-sama has done.
#5
Door opens slightly..stop
schedule...100 move door slightly...
etc...
to get it opening smoothly.
As for your ship, why not make the main body of the ship a dif, as it doesn't need to move, and needs complex collision without killing your framerate, and the front part as a dts with polysoup collision? Using dif for the parts that are not moved will help keep your framerates up as they are easier on the collision system and have portaling enabled.
03/04/2008 (3:50 pm)
Dif objects can move. It's tricky, and takes a lot of scripting, but it can be done. I made a door using a dif object. Door opens slightly..stop
schedule...100 move door slightly...
etc...
to get it opening smoothly.
As for your ship, why not make the main body of the ship a dif, as it doesn't need to move, and needs complex collision without killing your framerate, and the front part as a dts with polysoup collision? Using dif for the parts that are not moved will help keep your framerates up as they are easier on the collision system and have portaling enabled.
#6
03/04/2008 (8:28 pm)
Sounds like that'll be part of the plan! Since i've only heard about polysoup the other day, i'll take more time to look into it and learn as to what exactly is going on there.
#7
03/04/2008 (10:04 pm)
With some work, you could simple attach a DIF object to a player type object representing a spaceship, or you could try your luck using DTS geometry and polysoup.
Associate Ron Kapaun
3tdstudios.com
Collision Detection: .dts is usually quite a bit simpler because you generally construct the collision objects yourself. On the other hand .dif are generally created using something like constructor which usually creates a fairly complex collision mesh (to put it simply anyway).
Shadows: .dts is generally handled as a TSStatic object. Shadowing these is generally dependent on what the collision mesh looks like. For instance Trees in a game. Usually they are constructed with just the tree trunk having collision so the engine only creates a shadow based on those parts of the model that have collision. Dis on the other hand have the complex collision and are handled differently by the engine so the lighting and shadows generally are higher quality.
Animation: Here .dts have a definate advantage. You can animate and script most any .dts object to be animated. Where as .dif are pretty much static. In fact (don't quote me on this because I am sure SOMEONE out there has done it) I don't think you can animate a .dif at all.
So in summary.... and in reference to your question: it all depends on your needs. IF your particular model needs the animation. Why not make PART of the model a .dif and make the animated part a .dts? it will save you a lot of time in trying to create a collision mesh for all the non-animated parts and you will still get your animation. Just a suggestion. Good luck.