Hard Light Productions Forums
Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: Akalabeth Angel on August 21, 2008, 02:59:55 am
-
Is it cool to put the docking point of a fighter on the bottom rather than the top? Does it cause any problems? I tried to test it out, but I didn't seem to add the dock point correctly because the game crashed when I called in a support ship. I was using PCS1 btw because my crap video card can't hack PCS2 :)
Actually another question, how do I specify in PCS whether the thrusters are shivan, terran or vasudan?
-
Actually another question, how do I specify in PCS whether the thrusters are shivan, terran or vasudan?
The way that works: Change $Species: to the desired one.
The way that doesn't work but people do anyway: Reskin the thruster polygons to thruster01 (for Terran) thruster02 (for Vasudans) thuster03 (for Shivans).
-
And the way you should do it... http://www.hard-light.net/wiki/index.php/Ships.tbl#Customized_Thruster_Effects
EDIT: As for the support ship issue.. First couple of checks.. Did you define the dockpoint with required two points? Did the game spat out error? Can you post the error here? Or run debug and then post the error here?
-
Yeah no problem, I'm sure I just screwed up somehow. First time I've done any dock points. But here's the error I got:
Error: Cannot find a dock path for ship Alpha 1, dock index 0. Aborting dock.
File:J:\src\cvs\fs2_open_3_6_9.final\code\ai\AiCode.cpp
Line: 4172
[This filename points to the location of a file on the computer that built this executable]
Call stack:
------------------------------------------------------------------
fs2_open_3_6_9.exe 005de64e()
fs2_open_3_6_9.exe 004c0140()
fs2_open_3_6_9.exe 004c0981()
fs2_open_3_6_9.exe 004921bc()
fs2_open_3_6_9.exe 00428423()
fs2_open_3_6_9.exe 0109b340()
fs2_open_3_6_9.exe 0109b55c()
fs2_open_3_6_9.exe 0109b778()
fs2_open_3_6_9.exe 0109b994()
fs2_open_3_6_9.exe 0109bbb0()
fs2_open_3_6_9.exe 0109bdcc()
fs2_open_3_6_9.exe 0109bfe8()
fs2_open_3_6_9.exe 0109c204()
fs2_open_3_6_9.exe 0109c420()
fs2_open_3_6_9.exe 0111f1c0()
------------------------------------------------------------------
-
Did you also make a path for the docking point?
-
Easiest thing to do is to import the dock points and paths from another ship, then move them to the desired position.
And there are a couple ships that have their dockpoints on the bottom; the Anubis, for example.
-
The Boanerges has it on the bottom too if you don't have FSPort.
-
Did you also make a path for the docking point?
Uh, I dunno. I just put the point and a normal. I'll try just pulling some from another ship I guess as they said. Seems simple enough. I didn't fill in all the boxes because I didn't know what they were all for. Guess I should've filled them in :)
-
I got some more questions, this time just with regards to modelling. Rather than start a new thread just modified this older one.
1. Is there a way to resize a ship other than to take it back into Truespace and do it there? Can I resize it with PCS2? I have a model, I got some cool textures for it but its too big. I want the model about 33% smaller. I seemed to have deleted all my .cobs so I used PCS1 to convert the pof to a cob and then resized it in TS3.2 (ICK!!!!) and then brought it back in, but then the center point is like 10 metres above the ship and the hull smoothing is gone (I guess the texture guy did it, because I don't think I did that). All in all TS3.2 is a huge pain in the ass. But you know if I have to create more LODs and Debris and bring them into TS3.2 and resize them all then that'll be a pain. I hear the Collada support is forthcoming, but not sure what stage it's at. I'm guessing it's not finished because no one's asked me to pony up the cash I pledged for that endeavour.
2. If I had the LOD0, and a texture to go with it. And then I go on to create LOD1+ and the debris, can I somehow use that same texture map for the other LODs?? Or does a person need to create another one for the less detailed??
Think that's it for now. Thanks
-
In my limited understanding (and never use lods) why don't you just use the existing model textured and reduce polys (either in TS or milkshake?) :D
-
1) Well firstly, use PCS2 for that conversion from POF to COB because PCS2 will export it in a format that should be directly reconvertable, though I've not thoroughly tested that myself.
Secondly, the collada DAE support (link in Spicious's sig) works almost 100% with blender (I totally forgot about insignia again :\ ), so another alternative is to import the output DAE and resize the lot there before resaving and reconverting. AFAIK you'll lose MOI, subobject rotations and the turrets in the PCS2 turret tab, but everything else should convert and scale correctly. :)
2) Yes - you should always use the same LOD0 texture map on LODs and if possible/practical debris as well, because it's much more efficient for the rendering engine.
-
In my limited understanding (and never use lods) why don't you just use the existing model textured and reduce polys (either in TS or milkshake?) :D
TS is a serious pain in the butt. I can't even figure out how to do a percentage-based re-scale. Like can a person say "50% smaller" or do they have to eyeball it with the normal scale function? Using that program is like sticking glass shards up my nose.
But yeah, I haven't really tried to create the lesser LODs yet. Have to find my thread from a few months ago where I asked about that. I think there is something in maya for scaling up and down detail (or subdivisions), but not sure if it works on complex objects.
1) Well firstly, use PCS2 for that conversion from POF to COB because PCS2 will export it in a format that should be directly reconvertable, though I've not thoroughly tested that myself.
Secondly, the collada DAE support (link in Spicious's sig) works almost 100% with blender (I totally forgot about insignia again :\ ), so another alternative is to import the output DAE and resize the lot there before resaving and reconverting. AFAIK you'll lose MOI, subobject rotations and the turrets in the PCS2 turret tab, but everything else should convert and scale correctly. :)
2) Yes - you should always use the same LOD0 texture map on LODs and if possible/practical debris as well, because it's much more efficient for the rendering engine.
Does the Collada support work with Maya as well yet? Or just Blender? I've never used nor downloaded blender. The model in question is just a fighter, so the only thing I'm worried about loosing is the smoothing effect. Though the texture guy can probably tell me how he did it, or I can figure it out for myself. There's no turrets or sub-objects to speak of.
But yeah, same texture map sounds good. Anything involving LESS work is good.
-
to scale by % yank out the old calc.exe and get the object size values in X Y Z and multiply them by .5 to get their sizes at 50% reduced scale... best way ive found to do it, but also, in pcs theres a cob to pof scale setting you can use
-
Well, seems I can get it out of maya now with the Collada thing so resizing isn't an issue anymore. Yay.
-
Can someone tell me what's wrong with the dock points on this damn thing? (see attachment)
I can't open it in PCS2, because when I look at the dock points it crashes. But anyway. What I did was take the dockpoints off a Horus and throw them on my fighter, repositioned as appropriate. But when I try to load my mission in FSOpen it either crashes during loading, or when I start playing it'll crash when I call in a support ship (specifically when it arrives). Complaining that it can't find a dockpath. I don't know what's wrong with it. If I take a dock off one fighter and throw it on my own, logically it should work unless something got screwed up in the process. The dock point shows up in Modelview so not sure where the problem is.
[attachment deleted by ninja]
-
If it says the dock lacks a path did you define a path (no i dont mean only the dockpoints) for it as well or not?
-
Well firstly you appear to have 3 dockpoints on it there - two appearing in the correct location and with the correct rotation but the first one (the most important one) being in the centre of the model pointing up.
Secondly you need to add something like "$name=Docking Point" or rearming dock to the docking point properties, and specify a path number for it.
Thirdly you need to add a path to the dockpoint for ships to approach and leave by. The path should have 4 points, starting with the one furthest away (say, 500m in this case) and ending with one that's just next to the final dockpoint. Their radii should decrease from about 1000 to 1 in the same way. Finally there you probably need to add "$dock01-01" to the properties of that path, though I think it's more reliant on the docking point specifying the correct path number than getting the name right here.
If you can, you should be able to just hit 'Auto-Gen' and have PCS2 come up with pretty good paths for you. :)
-
If it says the dock lacks a path did you define a path (no i dont mean only the dockpoints) for it as well or not?
Yeah there was four "paths", which were present when I grabbed the docking info off the Horus. I adjusted them when I adjusted docking01_01 and docking01_02
Well firstly you appear to have 3 dockpoints on it there - two appearing in the correct location and with the correct rotation but the first one (the most important one) being in the centre of the model pointing up.
Hmmn, I thought I just grabbed something off the Horus but evidently doesn't work.
So . . . how many dock points do I need? Most fighters seem to have two. I don't get why. Apparently I've somehow given it three? So is one for rearming, one for normal docking by transports, and one for the fighter docking other craft??? or what?
Should the dock points be inside the fighter or just outside? I would assume slightly inside so there's no gap between the rearming craft and the fightercraft.
If you can, you should be able to just hit 'Auto-Gen' and have PCS2 come up with pretty good paths for you. :)
Hmmn, I still lack a proper video card so I imagine it'll crash on me. Unless I can do it without having it displayed onscreen. But I can try to mess around in Maya since the Collada thing works pretty well. Like in maya there's uh . . . the docking node. And has like:
>docking01 (node)
>>helper (node)
>>>rearming_dock (loc)
>>path (node)
>>>dockingpath_01 (loc)
>>>dockingpath_02 (loc)
>>>dockingpath_03 (loc)
>>>dockingpath_04 (loc)
>>docking01_01 (loc)
>>docking01_02 (loc)
Not sure if that's quite correct, as I'm not at work and don't got my stuff here. But originally it was the "rearming_dock" type of thing, which is a locator not a node which confused me. I think I exported three different fighters (Anubis, Horus, Tauvri) and each of them had completely different names for that. So that first locator, is the actual docking point? For rearming that is?? Hopefully I can get away with naming it properly in Maya and not having to fiddle with it in PCS2. (since Modelview doesnt edit docking, and not sure about PCS1). I need to get a better video card :D
-
You need two dock points for every dock, right next to each other, because that tells the docker what position to attach to the dockee. Think of the docking connector being a figure 8 and not a O, where each circle is one dockpoint. Again, the best thing to do is look at models that are already functional.
-
You need two dock points for every dock, right next to each other, because that tells the docker what position to attach to the dockee. Think of the docking connector being a figure 8 and not a O, where each circle is one dockpoint. Again, the best thing to do is look at models that are already functional.
Okay, so . . .there shouldn't be a third docking point then?? Not that I'm even sure how I have one since I only have docking01_01 and docking01_02
-
Since the current importer does things based on id, it treats the helper as a dockpoint at 0,0,0. I'll try switching things to work based on names instead. The other problem is the exporter seems to turn $ and = into _ which kills the naming.
-
Ok, here's basically how dockpoints work in terms of their components:
You will need two main components:
1) A dock
2) A path leading to the dock
I'll start with the assumed situation of a support ship coming in to rearm, meaning we start with....
The path
A docking path has a few components. The first two are a name and a properties field, where the name should just be "$path##", and the properties should be "$dock01-01" for the first dockpoint on the first dock. (I don't know how important this particular field is TBH. It seems a little redundant.)
The last and most important component of a path is the path points themselves. A docking path will consist of four points in order of furthest-away to closest-to. Each of these points has a location and a radius. I think the game uses these points as waypoints for incoming docking ships.
So, it will first fly towards the centre of the first path point until it is within that points radius (the biggest one), and then look to fly inside the radius of the second etc, repeating the process until it gets inside the radius of the final tiny radius point. Once it gets to that point, the path following is complete, and the docking ship will start seeking to dock.
At this point, the game will switch to the data of the dock that is associated with this particular path, which brings us to....
The dock
Docks consist of 3 main components: Properties, an associated path number and the docking points. In retail the dock properties field is what defined the docks compatability - ie, calling it a "rearming dock" would mean that it could ONLY dock with a support ship there, and "cargo dock" would mean it could only dock with cargo there. AFAIK this restriction was lifted in FSO, leaving it up to the modder/fredder to decide what should and shouldn't happen. Due to this you should be able to safely call your docks whatever you like - as these names are the ones that appear in FRED.
The path number is just the bit that links the dock itself to the path that leads to it. Easy to forget, but it won't work without it.
Now onto the docking points:
Don't confuse "docks" with "docking points". Each "dock" will have two "docking points" that have a location and a normal. The first one is the main one, as this is the one who's normal the incoming docking ship will seek to align it's own first docking point normal to in the exact opposite direction, so they will basically be pointing at each other.
Also during this alignment the second dockpoint comes into play. As Galemp described, this controls how the docking ship will rotate around an imaginary axis through the docking point normals when it docks. If that is hard to visualise or makes no sense at all, think of it as basically the bit of data that tells the docking ship which direction the 'front' of the dockee ship is.
Ie, if you have the second docking point in front of the first point (a 1m larger Z axis postion) on both the docking ship and the dockee ship, then when they dock both ships will be facing in the same direction. If both docks are set up so that the second point is 1m behind the first, then they will also both still face the same direction. If however one ship has the second point in front and the other ship has it behind the first, then when they dock they will be facing in directly opposite directions.
Anyway, during this alignment stage you will probably see the docking ship slide around a bit to bring the normals into line, and then it will continue to slide straight down the normal line until both first dockpoints are touching. Once these two points are coincident, the ships are considered docked.
Note: It may try and do the alignment a bit earlier, like at the 3rd path point or so. Not sure there but it seems likely.
And that's it!
Some of this info may be a bit out of date or needlessly precise (mainly the names and properties descriptions) due to the SCP, but follow it and you should be fine. (Though I would certainly like to know from coders if any of it is wrong. ;) )
-
And that's it!
Some of this info may be a bit out of date or needlessly precise (mainly the names and properties descriptions) due to the SCP, but follow it and you should be fine. (Though I would certainly like to know from coders if any of it is wrong. ;) )
Cool thanks I'll save this to disk or something. Nothing wrong with precision, quite the opposite.
I'll leave the dockpoint for now, until it exports better or maybe I try my hand at PCS1's dockpoint editor (or I finally get myself a damn video card). Since model wise I've still got to finish LOD1 for my fighter + others + debris. Turns out the "Mesh Reducer" in Maya is nigh-useless, at least with my model. Darnit. But one of these days, I'll release a model damnit. First time's always a big learning curve it seems.
-
Sorry to bump this old thread. But I don't really understand how you can tell the alignment of the docker/dockee ship. Could you show me some drawing about this second docking point ?
-
Sorry to bump this old thread. But I don't really understand how you can tell the alignment of the docker/dockee ship. Could you show me some drawing about this second docking point ?
Imagine a line between points one and two for the dock. This line defines the azimuth that the docking ship will align itself to (i.e. the way it will point). The other two axes are determined by the normals, whcih will be aligned in exact opposition to one another.