11
REAL RACING 3 CAR LIVERY EDITING Compiled and Documented by: Kiotu of Real Racing 3 Indonesia (RR3I). Credits to these guys: o “Luigi Aurriema”, for QuickBMS o “Barti”, of Xentax, for QuickBMS scripts o “173future”, of Real Racing Tieba, for basic PVR livery editing. o EA and FM for the Great Game. BASIC KNOWLEDGE So you want a distinctive livery that even the RR3 latest customization tool can’t provide. Here’s the how-to of how you can achieve that. For I have in my possession three types of device using three types of GPU that run Real Racing 3, so only these there format of RR3 textures are known by me (I don’t have a Tegra device). Each of the GPU uses its own image compression technology and file container. GPU Image/Texture Compression Image/Texture Container PowerVR PVRTC4 .PVR Mali ETC1 .ETC.DDS Adreno ATITC .ATC.DDS After RR3 ver. 1.3.5, the image containers used for RR3 Car Liveries are archieved. So it can’t be directly processed for extracting. We know it was compressed simply the naming behind those containers. e.g. .PVR.Z, .ETC.DDS.Z, .ATC.DDS.Z. With different image compression and container used, it can be a headache for some that just want to simply use a ready made liveries done by others. But the good news is, the textures used on the three devices type are interchangeable. For example, you can use PVR texture in both Adreno and Mali, Mali texture can be read by Adreno devices, and so on (go experiment yourself). So if you feel tired of editing your own textures, you can go download those liveries made by others and use it for your own device –albeit the texture type of origin device. The key to using interchangeable file format is simple, by file renaming. For example: most of ready made liveries are done in PVR format, I downloaded a livery for BMW Z4 with filename: 2012_audi_r8_lms_ext_audi_sport_black.PVR. So just backup your original file, simply by adding another file extension, for example .bak, copy the downloaded file to the original livery folder on your device, and rename it. Files located in: Android : “.depot/vehicles/”nameofcar”/livery/” iOS : “RealRacing3.app/res/vehicles/”nameofcar”/livery/” And here’s the renaming scheme: GPU Original filename Rename Downloaded File to PowerVR 2012_audi_r8_lms_ext_audi_sport_black.ptc.pvr.z 2012_audi_r8_lms_ext_audi_sport_black.ptc.pvr 2012_audi_r8_lms_ext_audi_sport_black.pvr Mali 2012_audi_r8_lms_ext_audi_sport_black.etc.dds.z 2012_audi_r8_lms_ext_audi_sport_black.pvr Adreno 2012_audi_r8_lms_ext_audi_sport_black.atc.dds.z 2012_audi_r8_lms_ext_audi_sport_black.pvr And as you can see, RR3 will still read the unarchieved texture despite the difference in filename extension. With other types of container you can experiment with the re-naming file within the same scheme. BASIC STEPS OF EDITING TEXTURES FILES So you decided that you want to make your own livery with your own resource files, here’s the steps: 1. Un-Archieve the livery texture. 2. Converting unarchieved livery to editable format. 3. Edit the livery. 4. Convert back to format readable by RR3. Those are the basic steps required, since the tools used are varied from one GPU to another, the specific steps will be described per GPU type.

Real Racing 3 Car Livery Editing

  • Upload
    lh3b

  • View
    1.910

  • Download
    387

Embed Size (px)

DESCRIPTION

Real Racing 3 Car Livery Editing Tutorial

Citation preview

Page 1: Real Racing 3 Car Livery Editing

REAL RACING 3 CAR LIVERY EDITING Compiled and Documented by: Kiotu of Real Racing 3 Indonesia (RR3I). Credits to these guys: o “Luigi Aurriema”, for QuickBMS o “Barti”, of Xentax, for QuickBMS scripts o “173future”, of Real Racing Tieba, for basic PVR livery editing. o EA and FM for the Great Game. BASIC KNOWLEDGE So you want a distinctive livery that even the RR3 latest customization tool can’t provide. Here’s the how-to of how you can achieve that. For I have in my possession three types of device using three types of GPU that run Real Racing 3, so only these there format of RR3 textures are known by me (I don’t have a Tegra device). Each of the GPU uses its own image compression technology and file container.

GPU Image/Texture Compression Image/Texture Container

PowerVR PVRTC4 .PVR

Mali ETC1 .ETC.DDS

Adreno ATITC .ATC.DDS

After RR3 ver. 1.3.5, the image containers used for RR3 Car Liveries are archieved. So it can’t be directly processed for extracting. We know it was compressed simply the naming behind those containers. e.g. .PVR.Z, .ETC.DDS.Z, .ATC.DDS.Z. With different image compression and container used, it can be a headache for some that just want to simply use a ready made liveries done by others. But the good news is, the textures used on the three devices type are interchangeable. For example, you can use PVR texture in both Adreno and Mali, Mali texture can be read by Adreno devices, and so on (go experiment yourself). So if you feel tired of editing your own textures, you can go download those liveries made by others and use it for your own device –albeit the texture type of origin device. The key to using interchangeable file format is simple, by file renaming. For example: most of ready made liveries are done in PVR format, I downloaded a livery for BMW Z4 with filename: 2012_audi_r8_lms_ext_audi_sport_black.PVR. So just backup your original file, simply by adding another file extension, for example .bak, copy the downloaded file to the original livery folder on your device, and rename it. Files located in:

Android : “.depot/vehicles/”nameofcar”/livery/”

iOS : “RealRacing3.app/res/vehicles/”nameofcar”/livery/” And here’s the renaming scheme:

GPU Original filename Rename Downloaded File to

PowerVR 2012_audi_r8_lms_ext_audi_sport_black.ptc.pvr.z 2012_audi_r8_lms_ext_audi_sport_black.ptc.pvr 2012_audi_r8_lms_ext_audi_sport_black.pvr

Mali 2012_audi_r8_lms_ext_audi_sport_black.etc.dds.z 2012_audi_r8_lms_ext_audi_sport_black.pvr

Adreno 2012_audi_r8_lms_ext_audi_sport_black.atc.dds.z 2012_audi_r8_lms_ext_audi_sport_black.pvr

And as you can see, RR3 will still read the unarchieved texture despite the difference in filename extension. With other types of container you can experiment with the re-naming file within the same scheme. BASIC STEPS OF EDITING TEXTURES FILES So you decided that you want to make your own livery with your own resource files, here’s the steps:

1. Un-Archieve the livery texture. 2. Converting unarchieved livery to editable format. 3. Edit the livery. 4. Convert back to format readable by RR3.

Those are the basic steps required, since the tools used are varied from one GPU to another, the specific steps will be described per GPU type.

Page 2: Real Racing 3 Car Livery Editing

POWERVR DEVICES Tools required:

QuickBMS, http://aluigi.altervista.org/quickbms.htm

Main tools for un-archieving the texture files.

RR3.bms, script to be used with QuickBMS, this is packed within RR3 tools in:

http://forum.xentax.com/viewtopic.php?f=16&t=10300&sid=21910eb2827dd41618f5c57d1b6d07cd Texture Packer: http://www.codeandweb.com/texturepacker/download

Tool for converting and repacking the .pvr format

Image editing software, Photoshop, GIMP, or whatever your favorite. Procedures:

1. Un-Archieve the livery texture. Copy or pull the livery file(s) to your PC, put it in a distinct location for easy access. Extract the RR3.bms downloaded from the specified link. Open QuickBMS, select RR3.bms, select livery file (.pvr.z), select folder for extracting. Do note that you can select multiple files for processing. You will have then the livery file in .pvr format.

Page 3: Real Racing 3 Car Livery Editing

2. Converting unarchieved livery to editable format. Open Texture Packer, select Pro Trial if you don’t wish to buy it as per now, select PVR Viewer, and pick the extracted .pvr from previous step. Choose File, Save As, select .PNG format, and select the output folder. By now we should have an image file ready for editing.

Page 4: Real Racing 3 Car Livery Editing

3. Edit the texture file as however you like. For easier editing, you can also extract the mask file provided in the parent folder of the car livery, use this mask for filtering the selection.

After finish with editing the texture file, flatten the image’s layer (if you use layers), and we need to flip the image vertically. In Photoshop, choose “Image” – “Image Rotation” – “Flip canvas vertical”. And finally save the image (still in .PNG format).

4. Convert back to format readable by RR3 Open Texture Packer, select from menu Add Sprites, choose the modified “.PNG” file. The texture will then be shown in preview window, from the tab “Sprites” select the name of the “.PNG” file. Change the texture setting for PVR format readable by RR3:

Page 5: Real Racing 3 Car Livery Editing

- Tab “Output” o “Texture Format”, select PVR, o Check “PVR Premultification” o “Image Format”, select “PVRTC4”

- Tab “Geometry” o “Max size”, select “1024”

- Tab “Layout” o “Border Padding”, select “0” o “Shape Padding”, select “0”

- Image ready to convert, select menu “Publish” - Fill in the name in .plist format, it will then produce both “.plist”, dan “.PVR” files, the “.PVR” file is what we are going

to use.

Open the output folder, copy the published “.PVR” file to the original location in your device, use the renaming scheme as pointed previously and you’re done, go open the RR3 for testing.

Page 6: Real Racing 3 Car Livery Editing

MALI DEVICES I haven’t found a single documented method of doing texture editing for native Mali device, here’s all the steps required based on my research and tinkering. Tools required:

QuickBMS, http://aluigi.altervista.org/quickbms.htm

Main tools for un-archieving the texture files.

RR3.bms and ddsetc2pkm.bms, script to be used with QuickBMS, this is packed into one archieve RR3 Tools in:

http://forum.xentax.com/viewtopic.php?f=16&t=10300&sid=21910eb2827dd41618f5c57d1b6d07cd

Texture Packer: http://www.codeandweb.com/texturepacker/download Tool for converting and repacking the .pvr format

PVRTexTool from Imagination, download the PowerVR SDK: http://www.imgtec.com/powervr/insider/powervr-pvrtextool.asp

Hex File Editor, I recommend using HxD (it’s free.. :D) http://mh-nexus.de/en/hxd/

Image editing software, Photoshop, GIMP, or whatever your favorite. Procedures:

1. Un-Archieve the livery texture. Copy or pull the livery file(s) to your PC, put it in a distinct location for easy access. Extract the RR3.bms downloaded from the specified link. Open QuickBMS, select RR3.bms, select livery file (.etc.dds.z), select folder for extracting. Do note that you can select multiple files for processing. You will have then the livery file in .etc.dds format. Note this file location and whatever you do don’t overwrite this file, make backup if necessary as we need this file later on. Different from step in PowerVR textures, you need to extract this “etc.dds” file once more to have a readable textures. Open QuickBMS, select ddsetc2pkm.bms, select the extracted “etc.dds” file and select the output folder. You will then be prompted for an action, you can select “y” for overwrite or “a” for append (if you are converting multiple files at the same time). The end result will be a file with “.PKM” extension. This file can be converted to PNG.

2. Converting unarchieved livery to editable format. Open Texture Packer, select Pro Trial if you don’t wish to buy it as per now, select PVR Viewer, and pick the extracted “.PKM” file from previous step. Choose File, Save As, select .PNG format, and select the output folder. By now we should have an image file ready for editing.

Page 7: Real Racing 3 Car Livery Editing

3. Edit the texture file as however you like. For easier editing, you can also extract the mask file provided in the parent folder of the car livery, use this mask for filtering the selection.

After finish with editing the texture file, flatten the image’s layer (if you use layers) and finally save the image (still in .PNG format).

4. Convert back to format readable by RR3 Here’s the trickiest part, we need to first create a set of mipmap for the new texture, which is different than in PowerVR of which can worked just by the main texture size. We need to use the original “.etc.dds” file to do so. Open PVRTexTool, select “file”. “wrap raw data”. I learned that by doing this we can skip all the texture container’s header and directly open the raw texture in its original compression methods (which is ETC1 in this case). Choose the original “.etc.dds” file, and make sure the parameter’s sets match with the following:

Page 8: Real Racing 3 Car Livery Editing

If the correct setting is applied, the Data Offset size should automatically changed to 128 bytes, which is the correct header size of .DDS container. Press OK, the original texture will be shown, select from the “Surface Browser” from the left tab, and here’s the result:

As you can see, we have 11 level of mipmaps. Mipmaps are used for decreasing the texture load on the GPU, for example when we are viewing the 3D object from far view then the map used should be the less detailed one (small mipmap), and vice versa. Now we need to replace each of the mipmap level with the edited image from earlier step. Select each of the mipmap levels, right click and select “load file to surface”, select the edited “.PNG” from previous step. Do this for all the 11 level. If there is a warning about size miss-match just select ok to resize.

Page 9: Real Racing 3 Car Livery Editing

After all the mipmaps been replaced, select from button menu “encode the current textures to a new format”

Select the following Group/API: OpenGL ES2, ETC1, or OpenGL ES1, ETC1 if your device not supporting it.

Page 10: Real Racing 3 Car Livery Editing

Select encode and it will popup a new texture window, select save as, choose .dds format, and save in name other than the original, for example I choose to name it “test.dds”. Ok, so now we have the new texture file, right? No… this file won’t work with RR3, It took me hours to find out how make this work, and after comparing the file with the original “.DDS”, it is very obvious (and simple actually) that the header of ETC compression is different. So we need to copy the original file’s header to the new one. Here’s how we can do it. Open both file using Hex Editor tool. Select the new “.dds” file, select the first 148byte of file’s data (block 00-93), and delete it.

Now select the original “.dds” file and select the first 128byte of file’s data (block 00-7F) and copy it.

Page 11: Real Racing 3 Car Livery Editing

“Paste-insert” the data into the new “.dds” file from offset 00000000. Save.

That’s it, the new “.dds” livery file is ready to be used. Copy it to the original folder on your device, and do the rename as described earlier. Open RR3 and test it.

ADRENO DEVICES Sorry, due to my lack of time, I haven’t completely done the research on Adreno texture, It probably near identical the steps on Mali devices except for different extraction and compressing tools required. So… be a Racer, and an Artist… Happy Racing Guys… (and Gals).

Best Regards, Kiotu