Quote Posted by Judith
3) Creating new tag valuesSounds a bit exotic, does it? For now you have a new material category, recognized by 3dsmax. T3ed also recognizes it as new thing, but you’ll need to assign new sounds to it somehow.
If you open the schema browser and look at some files in schemas_sfx, you’ll notice those with “ft_materialtype_pc_movementtype” name pattern. “Ft” refers to footsteps, material type is an obvious thing, “pc” stands for player character (notice that there’s also the “ai”) and movement type is pretty self-explanatory as well. Now if you select for example ft_veg_pc_walk and take a look at “Tags” field, you’ll see four of them:
+footstep: - a tag without any value, probably indicating that this is a surface on which characters can walk.
+charactertype:player - this, in connection with AI noise type field is probably the information for AI that this sound is generated by Garrett and it should pay attention to it. Notice that ft_veg_ai_walk sound doesn’t use this tag and “AI noise type” is set to “unassigned”.
+movementstate:walk - this is pretty self-explanatory, it defines the movement type needed to hear this schema.
+groundmaterial:vegetation - this tag is the most important thing here. I guess that it is responsible for associating the sound schema set up here with material category defined in “categories.txt” and in 3dsmax via Ion Shader. If you click “Modify tags” button, a new window will appear. On the right there is a list of tags currently assigned to this schema. If you select groundmaterial:vegetation and press “Edit value” button you’ll see that you cannot choose the new “snow” value here. That’s because it wasn’t defined yet.
The next logical step would be to open the Tag Database (View -> Tag Database -> Sounds), but after the new window appears you’ll see that it’s completely useless, you cannot add new values here at all...
Fortunately, there’s a workaround for that. If you ever tried nosing around in your editor install, you probably saw a “\...\CONTENT\T3\TagDatabase” folder. There are three subfolders there. You cannot do much about first two, but “Vocabularies” folder is what you need. Use Notepad to open “PhysicsSounds.vcb” file. You’ll notice 2 particular tags in there one starting with “+PO1Material” and the second with “+PO2Material”. You’ll see some familiar material categories in each. Put colons at the end of both and add snow category there. Both tags should look like this:
+PO1Material|bitfield|unassigned:carpet:ceramic:earth:flesh:glass:gravel:metal:moss:puddle:stone:tile:vegetation:wood:stoneclimb:ShallowWater:DeathWater:snow
+PO2Material|bitfield|unassigned:carpet:ceramic:earth:flesh:glass:gravel:metal:moss:puddle:stone:tile:vegetation:wood:stoneclimb:snow
Save the file, close it and open “sounds.vcb”. You'll see sound tags here, sorted by categories. Scroll down to “SFX TAGS”, find the +groundmaterial tag along with its values. Again, put a colon right after “stoneclimb” value and add snow category. The tag should look like this:
+groundmaterial|bitfield|unassigned:carpet:ceramic:earth:flesh:glass:gravel:metal:moss:puddle:stone:tile:vegetation:wood:stoneclimb:snow
Save and close the file. Now after restarting T3Ed and schema browser you should see a new value that can be assigned to +groundmaterial: - a snow category.
4) Creating a set of schemas for new material categoryNow comes the most tedious part. Actually it would be much faster, if you did by copying and editing .sch files in Notepad, than using schema browser, but I’ll use schema browser for a first time.
First, put all the four sounds in your “\...\CONTENT\T3\Sounds\schemas_sfx” folder. You could make a separate folder for it too, or use any naming convention you want, but you’ll be comparing a lot of things with what developers did.
Ok, (re)start T3ed, open schema browser and right-click “schemas_sfx”, choose “add schema to this folder”. Name it according to the convention, so you won’t have to scroll the list down too much while comparing it to other surface schemas, i.e. ft_snow_pc_walk.
Add 4 more metasounds to it, name those with numbers, from 1 to 4 and delete the “meta1” entry. Select the first metasound go to the “WAV” field on the right, click “Change” button. Choose the first file from the package you put in “schemas_sfx” folder, i.e. ftsnow_p1.wav. repeat the process for metasounds 2-4, assigning the rest of the files (except the ftsnow_pj.wav, which is a sound of jumping).
Now you’ll have to set values in “Parameter ranges” field. In order to do that properly, I looked for the values for the similar sound set, i.e. sounds assigned to “vegetation” category. Click the ft_veg_pc_walk schema to see it’s parameters. You’ll see that the volume range is set to -27, -27; pitch range is set to 0 in both boxes; pan range is also 0, while inner & outer radius is 5 and 75 respectively. Put those values in your ft_snow_pc_walk schema.
Ok, now it’s time to tell the game that you want those sounds to be assigned to a surface and recognized by AI. Click the AI noise type rollout menu and choose footstep_normal. This should be enough for the AI, as walking on a snow isn't as loud as walking on metal or tile, while it's louder than walking on carpets, for example. Then set metafile storage to memory and move onto Tags field.
Click “Modify tags” button. You have to select four tags and assign them to the schema using “Add” button. You can select them one by one, or all at once, using LCtrl-click. Those tags are: +footstep, +charactertype, +groundmaterial and +movementstate. You already know what they do, so let’s just choose the proper values. +footstep doesn’t require anything, for +charactertype choose player (obviously), for +groundmaterial select snow, and for +movementstate pick walk. Now use “Save this schema” or “Save all” button to finish making the first set of sounds needed for the snow to “work”.
Whew, not bad but you’ll have to repeat this process a few times. The good thing is, you can copy this .sch file in your folder and just rename it and change some values with a Notepad. So duplicate your ft_snow_pc_walk schema and rename it to ft_snow_pc_run. When you compare it to ft_veg_pc_run, you’ll see that only a few things changed: the sound is obviously louder (volume range set to -21, -21); there’s a slight change in a pitch range (2 to 2); and the tag +movementstate has run value (self-explanatory). After you finish making changes, save this schema and prepare for the next set to be done.