PDA

View Full Version : [Tutorial] Custom placeable walkmesh


glovemaster
02-16-2009, 07:41 PM
Created this about a week back, only just realised that no one can ask questions in the Tutorial thread. Anyway here's the holowan copy for Q&A.

Tutorial created in response to: http://www.lucasforums.com/showthread.php?p=2586115

Back when Team Jawa was running we had experimented with walkmeshes and apparently no one has explained how to make a new placeable walkmesh. Well, almost a year later, here it is :D

Since I'm only covering the walkmesh I will be recreating a walkmesh for an existing placeable, so I need not embarrass myself with my terrible modeling skills :p

First of all I am going to extract the model that I am altering the placeable for, though you won't need to do this since you will have your own model that you have made; so the placeable I am going to be editing is "plc_bed1". And here it is:
http://img4.imageshack.us/img4/3199/plcbed1uj7.jpg
I didn't bother with the textures.

Now first step is to add a dummy at 0,0,0 and call it "walk_parent".
http://img4.imageshack.us/img4/7623/walkparentzp4.jpg
So we go Create > Helpers > Dummy; click and drag, the size of the dummy doesn't matter. Then change the coordinates to 0,0,0 (center) and name it "walk_parent". Finally we go Modify > AuroraPlaceable > Check "Placeable [PWK]"; you will also notice "Door [DWK]", this is because you follow the same principal for door walkmeshes, though I won't be going in to how to make those.

Second, we need to create the walkmesh its self. Now normally the walkmesh for the bed would be just a rectangle and recreating a rectangular walkmesh is pointless and you can accuse me of just using the old one :p So this walkmesh is going to be circular, so we can be agreed there is a fair difference. :p
http://img4.imageshack.us/img4/1035/newwalkmeshvr0.jpg
So this is the walkmesh: a flat plane. I used Create > Shapes > Circle > (Right click) > Convert to Editable Mesh. But it doesn't matter how to make it, so long as it is an Editable Mesh. Name this mesh "PWK".

Now we need to go into Modify, with the walkmesh selected, and choose under Selection, "Face" or "Polygon" anything that allows you to select faces.
http://img4.imageshack.us/img4/2043/editwalkmeshvy7.jpg
Select all the faces and under Surface Properties > Material, Set "Set ID" to 7. This means "Non-Walk" so for all the faces selected, the PC will not be able to walk over them; So the circle is "un-walk-on-able".
http://img3.imageshack.us/img3/5494/editmaterialyy4.jpg

So now all we need to do is link it all together. Link the mesh "PWK" to the dummy "walk_parent", and the dummy to the AuroraBase.
http://img3.imageshack.us/img3/3338/linkobjectsge2.jpg
EDIT: BTW, using the link tool, you need to select the walkmesh, click-drag and you should have a line from the object to the cursor, release the mouse over the dummy and it should bind the walkmesh to the dummy. Make sure you don't do this the otherway round, and its the same for the dummy to the AuroraBase.

Then hit export and you should find, in addition to your model file, a ".pwk" file. However, before we just throw these in the override we need to finish the walkmesh (pwk) file. First of all you need to find another random placeable walkmesh from KotOR (Using KotOR Tool) we need to go through: BIFs > models.bif > Placeable Object Walkmesh; and I'm going to be using "plc_chair1" as this is clearly different to "plc_bed1".
http://img3.imageshack.us/img3/4093/randompwkzb5.jpg
(I put a few spaces in that screenshot for the purposes of the screenshot, don't do the same :p)
Save as ASCII and that box that appears, just use default, it doesn't matter anyway.

We need to extract some data from this pwk and put it in our own pwk. So open up them both in notepad and in the random pwk (The one that is NOT yours) find the line beginning "multimaterial 20" and copy all of the indented.
http://img3.imageshack.us/img3/4069/copydataxk8.jpg

Finally in KotOR Tool, Tools > Open PWK/DWK Editor; Then File > Open ASCII PWK... (BTW don't hit CTRL + O because this is for Binary PWK's and you'll get errors) Then simply save as Binary PWK and put it (And your compiled custom model of course) into the override.

Then, assuming you have made your changes to "placeables.2da", run the game and have a look.

Here is the results of my custom walkmesh for the "plc_bed1" placeable.
The PC is hitting the new and larger walkmesh.
http://img3.imageshack.us/img3/2306/testkz3.jpg

Well I hope this is of help to those who want to create their own own placeables. :)

HK-42
02-16-2009, 08:10 PM
hey GM, having another problem with my 2nd pwk. I trying to open a ascii with PWK/DWK Editor and Im getting error: Object reference not set to an instance of an object"? Any ideas?

glovemaster
02-17-2009, 06:51 AM
Hmm, that could probably be a lot of things. I suggest that you go back to the model, select the walkmesh and in the NWMax window: Mesh > "Reset X-Form". Then relink everything and try exporting again.

HK-42
02-17-2009, 06:20 PM
I redid the whole thing and it worked. Thanks!

HK-42
02-27-2009, 05:29 PM
Yep Another problem. (4th walkmesh.) Im making a mesh for a invisible placeable and I followed the steps and got the PWK file. But when I opened it in PWK editor I got error: Unable to read beyond the stream? I tried opening in notepad and all that was there was:

# Exported from NWmax 0.8 b60 at 2/28/2009 4:25:37 PM
# pwk file
#
#NWmax PWKMESH ASCII

Redid. Fixed now, got to check it ingame though.

Canderis
08-05-2009, 12:58 AM
Where is the link tool? The only "link" thing I know of is the "fast linker" in NWmax.

ForeverNight
08-05-2009, 01:20 AM
The linker tool is on the top tool bars... it's one of the selectable tools that you can use... I think it's to the left of the bar....

:shrug:

Ӄhrizby
01-06-2012, 01:57 AM
Hate to revive an age old thread, but I have a question on this topic. I followed your tutorial, it was most helpful glovemaster, thank you! So now I have my working walkmesh on a placeable, but I'm wondering if there's a way to block the camera from passing through it too? For example a piece of wall, if I turn the camera it just clips through it. I tried making walkmesh 'walls' by extruding the walkmesh up and making the ID on them 7 as well, which is how I've done it making new modules, but it didn't do anything. Am I out of luck?

Quanon
01-06-2012, 05:11 AM
Am I out of luck?

I believe so. I've tried it before on my own made areas to get a blocking wall. But not a single ID on the walkmesh seems to stop the camera. Somehow none of our modding tools seems to do it 'right" for the game.

Though I think some peeps did a hex edit method, where they re-used an old walkmesh from an other placeable. It's ofcourse hard to find a perfect fit, but it's another option.

Sithspecter
01-06-2012, 12:41 PM
Hate to revive an age old thread, but I have a question on this topic. I followed your tutorial, it was most helpful glovemaster, thank you! So now I have my working walkmesh on a placeable, but I'm wondering if there's a way to block the camera from passing through it too? For example a piece of wall, if I turn the camera it just clips through it. I tried making walkmesh 'walls' by extruding the walkmesh up and making the ID on them 7 as well, which is how I've done it making new modules, but it didn't do anything. Am I out of luck?

What you could possibly do is reskin a door to be invisible, and put some around or on top of your placeable. This is the only method that I know of that will block the camera.

Ӄhrizby
01-06-2012, 02:45 PM
Thanks, those are good ideas, they put me on the right path and after some experimentation I found an actual solution!! It's a simple 2da tweak actually, in placeables.2da there's a column called 'hitcheck', if you change that to '1' for your custom placeable your camera can't pass the non-walkable zones!

Edit: Hold one, still experimenting, this might need some more thought.. lol

Sithspecter
01-06-2012, 03:14 PM
So, does that work or not? If so, then it would be interesting to see then what it would take to make it happen for areas.

I just checked, and there is a similar column for the doors. I'm trying to find a .2da that deals with areas.

Ӄhrizby
01-06-2012, 03:23 PM
Okay, it works with any existing placeables, but when I try it on a custom placeable it doesn't do anything.. Even if I open up an existing placeable model in gmax and export it without making any changes, then it won't work. There must be something they do to the models that I'm not and that gmax doesn't import/export automatically.

And also, it's separate from the walkmesh. The models don't even need a walkmesh, the camera just finds the sides of the model itself.

And also again! When I imported it and exported it before I still had it as a custom placeable, when I just imported/exported and replaced an existing placeable something interesting happened. The camera clipped like it shouldn't, even though the original placeable didn't clip, and the part that actually affects the camera (aka the part you can touch) disappeared completely. The other pieces of the placeable, the details that you can't reach, were still there, floating above me (I'm using the windmill in k1).