Milkshape & Plugins - Latest/Best versions and where to get them
-
Well i’ve just had a quick blast with this. I can’t get the sur to register hits from guns. Collision detection seems to be working, i can bump into stuff etc, but if i just sit there and let ships shoot me, they get as far as taking the shields down but no hull damage.
Then tried a sur made with LS’s sur builder and that worked. Either i’m doing something wrong or it’s not quite right yet.
If someone can talk me through how to add hardpoints to the sur using the 1.3 exporter, mucho appreciated
-
Adoxa - what do you mean, too quick? I’ve downloaded it again anyway
What have you added in 1.3 please?
You really are terrible on giving out info, aren’t you! lol
-
Gibbon wrote:
…
If someone can talk me through how to add hardpoints to the sur using the 1.3 exporter, mucho appreciatedThis is for anyone who needs this info, Gibbon already knows much of this.
I don’t know about 1.3 but as it is a progressed 1.1 it should be the same.
NOTE: I am including many hardpoint types for adding to a .cmp, but some are not needed in the .sur file, so be aware that the SUR exporter will ignore the ones it does not need.
In Milkshape make a small pointed triangle (the smaller the better) as a hardpoint, place it where you want it, point it in the direction you want, and name it:
Hp\Fixed\HpMount (NOT HpMount01)
Hp\Fixed\HpEngine01
Hp\Fixed\HpTractor_source (NOT HpTractor_source01)
(note: HpScanner is NOT needed)
Hp\Fixed\HpPilot (NOT HpPilot01)
Hp\Fixed\HpCockpit (NOT HpCockpit01)
Hp\Fixed\HpCockpitEx (NOT HpCockpitEx01)
Hp\Fixed\HpThruster01
Hp\Fixed\HpCM01
Hp\Fixed\HpShield01
Hp\Fixed\HpMine01
Hp\Fixed\HpTorpedo01
Hp\Fixed\HpWeapon01
Hp\Fixed\HpEngineGlow01
Hp\Fixed\HpDockLight01
Hp\Fixed\HpHeadLight or Hp\Fixed\HpHeadLight01, Hp\Fixed\HpHeadLight02, if you have more than 1
Hp\Fixed\HpRunningLight01
Hp\Fixed\HpBayDoor01 (baydoor closed position)
Hp\Fixed\HpBayDoor02 (baydoor open position & cargo ejection point - No more baydoors? I don’t know)
or - cargo ejection trajectory?or
Hp\Revolute\HpTurret01
Hp\Revolute\HpTorpedo01
Hp\Revolute\HpWeapon01Also note the battleship turret naming is special and dependent on size (the exporter will put in a sur part of different size):
Bretonia:
Hp\Revolute\HpTurret_B1_01
Hp\Revolute\HpTurret_B2_01
Hp\Revolute\HpTurret_B3_01
Hp\Revolute\HpTurret_B4_01
Hp\Revolute\HpTurret_BM_01Kusari:
Hp\Revolute\HpTurret_K1_01
Hp\Revolute\HpTurret_K2_01
Hp\Revolute\HpTurret_K3_01
Hp\Revolute\HpTurret_K4_01
Hp\Revolute\HpTurret_K5_01
Hp\Revolute\HpTurret_KM_01Liberty:
Hp\Revolute\HpTurret_L1_01
Hp\Revolute\HpTurret_L2_01
Hp\Revolute\HpTurret_L3_01
Hp\Revolute\HpTurret_L4_01
Hp\Revolute\HpTurret_L5_01
Hp\Revolute\HpTurret_LM_01
Hp\Revolute\HpTurret_LT_01Rheinland:
Hp\Revolute\HpTurret_R1_01
Hp\Revolute\HpTurret_R2_01
Hp\Revolute\HpTurret_R3_01
Hp\Revolute\HpTurret_R4_01
Hp\Revolute\HpTurret_RM_01Order:
Hp\Revolute\HpTurret_O1_01
Hp\Revolute\HpTurret_O2_01
Hp\Revolute\HpTurret_O3_01
Hp\Revolute\HpTurret_O4_01
Hp\Revolute\HpTurret_OM_01Nomad:
Hp\Revolute\Hp_1_01Utility ships:
Hp\Revolute\HpTurret_U1_01
Hp\Revolute\HpTurret_U2_01
Hp\Revolute\HpTurret_U3_01Liners:
Hp\Revolute\HpTurret_Liner_01Prisons:
Hp\Revolute\HpTurret_Prison_01Stations:
Hp\Revolute\HpTurret_S1_01
Hp\Revolute\HpTurret_S2_01For all hardpoints the 01 can be 02 for the second of that type, and so on.
Choose Fixed/Revolute as appropriate, or as you prefer.
You can use the “|” (pipe) character instead of the “”, as you prefer.
Put them all at the end of the Groups tab list, after the ship groups.
Don’t include them in the Groups count when you export.
Note that the 1.1 (and I think also 1.2) exporters used to align the hardpoint’s axes parallel to the ship’s nearest surface, and add it to the nearest ship model group.
Also note:
- HpPilot is where the model pilot mesh will be placed in the ship if it is in the shiparch.ini. - put it out on a wing and see!
- HpCockpit is where the cockpit model and its viewcamera for the cockpit view will be placed in the ship. I’ve not put this out on a wing! I will do some testing and report.
- HpCockpitEx - in vanilla it is placed high and back, but I’ve not been able to see any changes by moving this so I don’t know what it does ior what it mounts. It looks like it should be controlling the external camera view but it does not seem to have any effect. The external camera view is controlled in shiparch.ini
For dockables you can add:
HpDockMountA,
HpDockMountB
etc,HpDockPointA01, HpDockPointA02
HpDockPointB01, HpDockPointB02
etc,
(dock path is from HpDockPointA02 to HpDockPointA01 to HpDockMountA, and ship takes its orientation from the orientation of the hardpoint it is heading to, so if it is going backwards…)HpDockCamA,
HpDockCamB,
etc,HpLaunchCamA,
HpLaunchCamB,
etc.There are also HpFx1, HpFx01, HpExhaust01, many others, and also a lot of Dp hardpoints (Damage points) - too many to mention here.
Please add if you know more.
-
From what Adoxa was telling me, the 1.3 was based on the 1.1 code as he now has that as well.
My understanding of the HpCockpit hardpoint is a bit vague. I’ve never added one from day one as all the information for the cockpit is in the relevant cockpit.ini file. You need HpPilot as that affects the viewpoint from the ship. Maybe if you have a custom cockpit then put one on but i’ve never used one and they’ve always showed up.
-
Not sure but isnt HpCockpitEx used for the cut scenes in single player. Only certain ships have it.
HpEngineGlow is a strange one, EngineGlows are described in lights.ini but they dont do very much, unused effects I suppose
HpBaydoor01 - HpBaydoor02 is the path taken by ejected cargo. Note they cannot be in the same place or it will cause a CTD. Nothing actually to do with the bay doors and their animation
HpCockpit is the point from which cockpit view is taken, if its not set Freelancer defaults to the absolute 0,0,0 center position. you can see this in the old Hogosha CSV mod where the HpCockpit is angled wrongly. Like trying to fly looking out the top of your head. Not easy
-
That’s great, sorry - I misread as 1.2. That is good news, 1.1 made good surs. I will edit my main post, thanks.
Ok I will check on HpCockpit.
If you don’t put in a HpCockpit then the cockpit is still put in but is placed at the Origin (0,0,0).
But no, the HpPilot hardpoint is for the placement of the pilot.cmp model if you add the shiparch.ini entry:
pilot_mesh = generic_pilotIf you don’t put this entry in, the pilot model will not be put in the ship.
It’s not for the view. Put him out on a wing and have a look in the game (turret view), he will be sitting there out in the open, cursing you!
-
Thaddeus wrote:
…
HpEngineGlow is a strange one, EngineGlows are described in lights.ini but they dont do very much, unused effects I supposeNo HpEngineGlowxx do work, they are where you mount the EngineGlow lights - I used them in the Enterprise range in the engine nacelles, they are great.
By the way - Lancer’s Errorchecker called them out as errors.
I’ve edited the main post, let me know if anything is wrong.
-
what do you mean, too quick?
There was a bug in the release version caused by the VC6 optimizer (I only tested that with the importer, not the dumper). There was also a problem in generating the triangle offset for secondary parts.
What have you added in 1.3 please?
Removed orientation (always “back-to-front”) and scale (always 1). Added 3db checkbox to use the “zero” mesh. Fixed some memory leaks. Fixed tag count and bits section scale values. Provide a default file name (although it really only works if you load an .ms3d); allow one to be entered (without having to browse). Still a problem generating the hull (have a look at DATA\SOLAR\DOCKABLE\docking_ringx2_lod.cmp - it misses the bars jutting out from the middle), but that will have to wait till the rewrite (I’ll be using a different algorithm - same one as the ConVexTool).
-
@ ST
You’re quite right of course, HpPilot is for the pilot. What i meant to say was that if you don’t put one in, Lancers error checker throws a fit. Now it shouldn’t because some models come with pilots, only solution is to add the hardpoint and then not add the pilot in the shiparch file where a pilot is already in the model.
Regarding HpCockpit, yes i’ve found it does count the view from 0,0,0 if you don’t add the hardpoint in. Think i’ve just got lazy over the years and i can almost calculate the correct viewpoint with my eyes shut these days from 0,0,0, it’s more a matter of convenience on my part (or lazyness, take your pick).
-
cata123 wrote:
The exporter don`t appear in export lists on ms3d 1.8.5 beta 1 and 1.8.4 in windows 7 64bit.
I saw in 32 bit win xp works good.adoxa -
No, it’s not appearing in the Export list for me either, I’m running XP and MS 1.8.5 beta.
I have had this before with a test release of a cmp exporter, not sure what was done to fix it though but it was fixed, and the file size was quite a bit larger.
It also causes the Sur Exporter v1.1 (simultaneously installed) to give “unable to create D3D device” immediately, this use to only happen after several sequential exports.
I have added a note to my main post reminding people that I have listed many of the hardpoint types used in .cmp files, but some are not needed in .sur files and will be ignored by this Sur exporter (unless you changed anything here?).
Thanks for your work as always.
-
Ah sorry, looks like MilkShape just hides the fact it couldn’t load, so you can’t see that it’s missing an import. You probably need d3dx9_42.dll. Not sure which DirectX update has it, but a search should find the file itself (that’s how I originally got it).
-
Thanks adoxa, works now.
I found d3dx9_42.ll at http://www.dll-files.com
You have to peer carefully through all the sponsored downloads links though, to click the right link!
I’ve not had time to test it properly, just generated a sur from a large ship but I need to do some detailed testing before reporting back.
Can you clarify these point please:
1. Is there a limit on the number of any certain hardpoint type? I think I remember max=6 of any type (or some particular Hp types?) in the old exporter but I am not 100% sure. Anything over the limit was ignored, e.g. HpCM07 etc.
2. Although there is a Group Quantities option, Bejaymac always insisted that each sur shape must not have more than 1 part, to ensure convexity. What does this exporter actually do, does it group together all the parts of a group and then generate a single sur shape for that group, or does it make individual shapes for each part of each group and attach each one to the same group name?
If it generates separate sur shapes for each part of a group this could be a great way to make concave fly-through shapes, e.g. if you remember the Avioki rear doughnut, I split that into 4 parts and made a manual spliced sur that I could fly through.
3. Are you now able to remove the 18 group limit?
Thanks.
-
This was just supposed to be a quick update - I doubt I’ll be doing any more work on it (you all kept telling me how good 1.1 was, I guess those rose-colored glasses can come off now :)). After I finish FLMM (if ever!) I’ll totally rewrite the exporter. It’ll be split in two - a sur generator tool (much like ConVex tool, but with more options) and the sur file exporter (which uses the generated/imported groups, not the model, so in that regards it’ll be more like the obj->sur converter).
1. There was no such limit.
2. The latter, I think.
3. Yes (but indirectly, via the rewrite, where the groups will be formed based on the name, same as the importer).
-
I see it works with a d3dx9_42.dll inside ms3d folder.
Anyway i crashed once again freelancer with a sur made from a 32k poly mesh and sur size 1.7Mb .
How you guys make a sur for a high poly model for example .
Sushi how he succeded to make surs from his Freeworlds mod ?
Is it remade sur with a 3D program and export with ms3d all toghether, or maybe export one by one and splice, or export with Schmackbolzens tool and splice (this one i didn
t succeded and i found out why), or lancers builder ? Really i
m curious . -
Cata - you have to do some work to reduce the polycount first.
Make a copy of your model .ms3d to work on, make sure your original model is safe.
Select all groups and use Tools… ConvexTool (you need to have that plugin,and there are 2 versions - use the one that does not open a dialog).
Check the new groups one by one to see how they fit to the original groups, and if you are satisfied delete the original group for each one, and rename the new group to the original by removing the “_convex” suffix.
Save the new .ms3d as you go, each time you are happy with a new group is a good time.
When you are not happy with the fit you need to make changes to the original group and try again.
When you are happy with all the new groups, and you have deleted all the original groups in your work model, you will have a good low-poly model copy of the original model. Export this sur and hardpoints, and you should have a good-fitting sur.
Let us know how you get on, good luck.
-
adoxa wrote:
This was just supposed to be a quick update - I doubt I’ll be doing any more work on it (you all kept telling me how good 1.1 was, I guess those rose-colored glasses can come off now :)). …adoxa - v1.1 is all we had, it generated good surs sometimes. Yes it has its limitations, and many people could not understand how to use it and got it wrong because they didn’t put in the time to learn it. And some times it produced bad surs and we could not see why.
For my part I am disappointed again, that you won’t do more development on this version 1.3, but in any case very many thanks for doing this part, it is already more useful.
If you relent (hint), for example to remove the 18 groups limit, I will be jumping for joy again, because we can get round the.cmp exporter 18-group limit by using the .cmp “grafting” process.
-
Well, this is a surprise.
I think I’m seeing things!
After importing my new test sur for the Brakiri Avioki, I thought I saw group names had been deciphered. Very nice!
But when I imported it again a while later, there were only hashcodes and not group names!
I retried several times but still got only hashcodes!
Luckily I had taken a screenshot of the first import or I would have doubted my sanity!
adoxa, can you explain please? I used your Sur importer for all imports.
Both screenshots are attached.
-
Found it - I had renamed the sur file. The .cmp file for the same ship was in the same folder, I renamed the .cmp to match the .sur and the group names came back.
I’ve not seen this nice feature of your sur exporter documented though?
-
It was added as part of v1.2. I snuck it into the readme:
NOTES
The NameCRC::GenerateName() function creates a mesh name based on the mesh number and CRC code. If the CRC code is not in the lookup table or related CMP file, the hex code will be used as the name - eg. S2_12345678.