Ok, I've got some good news and some bad news.
-Good News
I am almost finished doing the Sniper Rifle Beam, Blaster and CG tracer recolors as well as a Readme on how to use them in game.
I have also successfully got
3rd person weapon skins to work online.
*See Pics Below*
--Bad News
I can't seem to figure out a way to modify the data that tells the skeletal mesh (not static mesh) of the weapons which textures to use. Perhaps, if those of us who still play could put our heads together, we could find out how we can do this as I'm almost positive we can.
Here is the deal, when in first person view, your weapon is a
Skeletal Mesh. When in third person view or when a weapon is dropped, it turns into a
Static Mesh. Now, when you open the Static Mesh browser in TVEd, all you will see are the Static Meshes listed in whatever package you have open. I know that the Static Meshes as well as the Skeletal Meshes are also located in the Weapons.pkg file located inside your Art folder. I know this from looking at certain values of weapon classes which point to the same package for both types of meshes.
For example:
Notice how they both property values start with
weapons.. This indicates that both skeletal and static meshes for the spinfusor lay within the same file. Now, when you open up the Static Mesh browser, and open the Weapons.pkg file, you will see all the
Static Meshes inside. What you will
not see, are any
Skeletal Meshes.
Ok, lets say you wanted to skin the Spinfusor static mesh. The first thing you would need to do is, load the Weapons.pkg file in the Static Mesh browser, then highlight the one named
spinfusorheld. Next you will need to right-click on a viewport and select
Add Static Mesh: 'weapons.spinfusorheld'. After that, go back to your static mesh browser and click
Edit on your toolbar and then select
Create From Selection. The next window that opens will let you specify the Package you want to copy the mesh into, the name of the duplicated mesh and optionally the group name. I named my package
BoDeansSkins and named the mesh
BoDeansSpinfusorheld. After you have duplicated the mesh into a new package, you will be able to modify it's default properties. To do this, click the drop-down list and select the package name you duplicated the mesh into (BoDeansSkins). Then, highlight the mesh name (BoDeansSpinfusorheld) and in the properties box at the bottom of the Static Mesh browser, expand
Render -> Materials and change the value to point to whatever skin you have made for the mesh. Saving the package is next.
Now your on to the good part, being able to see the new skin in-game. Let me say that, this is not exactly plug-n-play. You will need to start T:V with the console enabled. If you don't know how to do that, right-click the shortcut icon you use to start the game and make it look similar to mine. Make sure you point it to the correct install location:
"C:\[ Gamez ]\Tribes Vengeance\Program\Bin\TV_CD_DVD.exe" -console
After you started T:V with the console enabled, and are at the main menu, load a map by accessing the console (via the TAB or Scroll Lock key) and type:
open mp-emerald
I just used emerald as an example, you can use any map you want. Once the map has loaded, access the console again and type in the following:
SET WeaponSpinfusor thirdPersonStaticMesh StaticMesh'BoDeansSkins.BoDeansSpinfusorheld'
What that does is tell your client, to display the duplicated static mesh instead of the default one. This is all done clientside. No one but yourself will be able to see the different skin, even if they have the same skin package file.
For your eyes only so to speak.
In-game during online play:
Ok, now, there is no
firstPersonStaticMesh property to alter/change. There is a property named:
firstPersonMesh
Now, when I modify the value of
firstPersonMesh to point to my static mesh, it crashes the game. So, I've come to the conclusion that any property that states
MESH refers to Skeletal Meshes and that any property states
StaticMesh of course refers to Static Meshes.
If I could find a way to duplicate the Skeletal Meshes
OR modify Skeletal Mesh properties directly, we can overcome the problem with weapon skins for online play.
The properties that need to be changed are found in the Static Mesh Browser.
Example:
If anyone knows how to set properties of an array for a value (by using the SET command via the console) or how to duplicate/extract the Skeletal Meshes, please reply.
Cheers folks, I hope we can get this worked out in due time.