|Search this Thread|
|11th Nov 2009, 8:42 PM||Tutorial: Creating Paintings with Multiple Images pt. 2 - Changing the Default Patterns #1|
Tutorial: Creating Paintings with Multiple Images pt. 2
- Changing the Default Patterns
This tutorial is the second part of my tutorial, Tutorial: Creating Paintings with Multiple Images. I will be describing a method to change the default pattern and color of objects to an in-game pattern. This only works on similarly formated patterns (in this case, changing a single color metal to a single color wood) because anything else requires modifying the material block, something I haven't figured out yet. Instead of adding patterns/textures to our package, we will be linking to in-game patterns.
What you need:
* Sims3pack Multi Extracter
* Completed painting from previous tutorial
Gathering the Information
1. First, start up TS3 and change the pattern and color of our frame. Once you have what you want (and while still in CAS), click the Save button in the presets window in the top left corner of your screen. After it saves, click the Share button (next to the Save button). Give it a name, click OK, and once its done, click OK again. Exit the game.
2. Start the Sims3pack Multi Extracter, click the first browse button, and browse to your Exports folder (Documents\Electronic Arts\The Sims 3\Exports). Click the second browse button and browse to where you want to put your recolour package. Make sure the Rename files on Save box is checked, and click Extract. Close the extracter.
3. Start and open the recolour package. There should be three files: _XML, _COMP, and _THUM. Select the _COMP, and click the Value button. In this window, scroll down until you see the 1st entry: <pattern name="pattern name". Here is the information we will need:
a. pattern name
b. pattern_xml instance number
c. specmap instance number
d. background image instance number
e. H, S, and V Bg values
f. Base H, S, and V values
g. HSVShift Bg values
Once you have all these, close the value window, go to the File menu and open our painting.
Linking to the Pattern
4. Now we need to link the our painting to the pattern, but first we need to know where to put our info. Select the PaintingCars_OBJD and click the Grid button. Select Materials and click the open box on the right.
Now click the plus sign next to MaterialBlock, select MaterialBlocks and click the open box on the right.
In this window, you will see an entry "XMLIndex 0x06". This means that our pattern_xml is listed 7th in the TGIBlock (starting with zero and counting in hex).
5. Select TypeCodes and click the open box. Go down the TypeCode list until you see ControlCode 0x0A (list number ). 0x0A is the control code for the specmap. In our painting, its TGI index is 0x0B (11th in the TGIBlock list).
6. Continue looking through the TypeCode list until you see ControlCode 0x0B (list number ). 0x0B is the control code for the background image. In our painting, its TGI index is 0x08 (9th in the TGIBlock list).
7. Now click OK twice to get back to the TGIBlock list. Select the TGIBlock and click the open box. In the List Editor, count down 7 from the top (should be the 2nd _xml reference). Select this entry, and on the right, change its instance number to our new pattern's xml instance number. Next, count down 11 from the top, select it, and change its instance number to our new specmap's instance number. Finally, count down 9 from the top, select it, and change its instance number to our new background image's instance number and click the Save button.
Changing the Color
8. Open the MaterialBlocks>TypeCodes again. Now go through the TypeCode list, changing the values according to the control codes:
0x01 = Material/pattern category/pattern name (i.e. Material/Wood/cocobolo01VerLrg_1)
note: changing the name may be unecessary; please read comments below
0x0D = H Bg value
0x0F = S Bg value
0x0E = V Bg value
0x10 = Base H value
0x12 = Base S value
0x11 = Base V value
0x0C = HSVShift Bg values
9. After all the values have been entered, click OK. In the current window, click the plus sign next to Unknown 1 to expand it. Then change the data entry to the new pattern name.
Click OK, OK, and Commit. Finally, save your package and test in-game. If everything is okay, apply these steps to the other materials.
note: You may need to delete your thumbnail cache in order for your thumbnails to show correctly. Also, you can delete the recolour you made in the beginning.
Pattern list (extracted from game by Cocomama)
String Table (Wiki)
5 users say thanks for this.
[ Click here to view a longer list ]
|11th Nov 2009, 9:25 PM||#2|
Ooooooh! I love you for this! Thank you so much
Exactly what I need.
|11th Nov 2009, 11:16 PM||#3|
Another beautiful tutorial Cmo Thanks for posting this!
|12th Nov 2009, 12:33 AM||#4|
Join Date: Apr 2005
Like Blondie OM said
This will come in very handy, thank you !
|13th Nov 2009, 7:44 PM||#5|
Whew, so finally I sat down to try this and got through from start to end. It took me one hour to change ONE pattern. But it worked! Yay! But such hard work and so many steps could go wrong, you really-really have to pay attention to what you're editing. I wish there was a way to automate this...
One small note for anyone who attempts this:
if you're copy-pasting the HSV values for Step 8, make sure to change the number format like this:
1.2345 ----> 1,2345
because otherwise you get an error.
|13th Nov 2009, 8:19 PM||#6|
The process goes a lot faster once you get used to what to look for and where to put it. I'm happy it worked for you though I never got that error...
|13th Nov 2009, 8:26 PM||#7|
This is so true LC "...you really-really have to pay attention..." and I thought that with changing the paintings too. If you have one lapse the whole thing comes apart. It isn't a project to take on unless you're ready to concentrate. It's a great trick though nontheless.
|15th Nov 2009, 11:00 PM||#8|
Join Date: Apr 2005
Thank you! This is very helpful. I like the detailed step-by-step description.
|10th Dec 2009, 8:08 AM||#9|
Well, I hope this is the right place for this, but I finally got around to trying this, and ye gods am I frustrated.
I'm following the directions exactly, as far as I can tell, except that I'm not changing a painting-- I've got a chair, and a vase cloned from the Zinc Pot Perrenials.
After I make all the changes/edits, when I hit "commit" at the end of the process, I get an error and the OBJD is dead-- the hex, value and grid buttons are disabled and the righthand pane of just shows the error message. Broken package.
Being stubborn, I tried this as written 6 or 7 times on two different objects, with the same result. Then I tried the steps incrementally to see where I might be going wrong, and I found that I could change the instance numbers in the TGI block list with no problem, but when I got to step 8, Changing the Color, I ran into problems.
For my chair, I could change the three sets of HSV values, but when I changed the pattern name, either in TypeCodes in step 8 or under Unknown1 in step 9, the package broke.
So I tested the package in game with the pattern name unchanged, but everything else edited as it should be, and it worked, and looked just as it should, and I was mystified but happy. Until I tried the next object.
In the second object (a vase), I can still edit the TGI instance numbers fine, and in step 8, in TypeCodes, I can edit the Base H, S, and V values and the HSVShift Bg values sucessfully, but changing any or all of the H, S, and V Bg values or the pattern name causes the package to break.
I tested the package in game with unedited H, S, and V Bg values, but perhaps unsurprisingly it did not look fine-- the color is way off. And I am way frustrated.
Can anyone help? Please? Want to see the error message? I think my head might explode, and I can't afford a new laptop if I get brains all over this one...
|11th Dec 2009, 1:26 AM||#10|
Not sure, but sometimes there are two typecodes with the same control code (i.e. two 0x0D's or 0x0C's). Maybe your are changing the wrong one?
|11th Dec 2009, 11:13 AM||#11|
I just tried this again using the same painting as in the tutorial, and I still can't get it to work. Same deal-- changing the pattern name or the HSV bg values breaks the package. There are no duplicate control codes in the package, so that's definitely not it.
I can't for the life of me figure out what's going wrong-- other people have gotten this to work, so what am I missing? I'm using the most recent and s3oc-- did some change on one of the apps make this no longer work? I'm grasping at straws, here...
|11th Dec 2009, 11:25 AM||#12|
This is probably a silly question...but you did see LC's post above right?
|11th Dec 2009, 3:04 PM||#13|
I just want to point out about LC's post, I think the difference between . and , is region of your OS. In the US decimals use the . and in probably everywhere else the , is used.
I have had the same problem regarding changing color values, which is why in the end my LACK surfaces ended up as the default misc white color. Because every time I tried changing the color values the objects turned black. I am able to successfully change the textures, just not the color.
|11th Dec 2009, 9:10 PM||#14|
I did see LC's post about the decimal/ comma issue, and I agree it must be an OS region thing (I'm in the US). I suspected as much when I read it to begin with, but I did try anyway. For me, won't even accept a comma as part of a numerical value.
HL, it is a great comfort to me that you couldn't get it to work either.
Though I do find it interesting that the *way* in which it didn't work was different for you. The (seeming) inconsistency is mysterious. I have a couple of objects for which I have successfully changed the color, and a couple that will not co-operate no matter what. And then of course the fact that I can't get it to work with the original tutorial object is kinda bizarre.
|12th Dec 2009, 12:26 AM||#15|
I thought it would be a silly question but I wasn't sure since, I'll admit, I've been too intimidated by this tutorial to try it. The other one required so much concentration to successfully complete and this one looks even more demanding.
Anyway, HL thanks for clarifying...I wouldn't have guessed something like that...but it does seem true to EA form to make things one way for some people and another way for other people...it toughens us up that they throw out these little challenges.
BabaYaga, I think it's probably the case that the seeming inconsistencies are, indeed, real inconsistencies...how else to explain it? I'm half to being convinced that EA built all this variability in objects into the game purposefully just to make the mesher's heads explode...lol.
|12th Dec 2009, 1:19 AM||#16|
Well the . and , thing is something we can't blame EA for. That is the language options for an operating system. And as far as I know that is cross platforms.
I have noticed different objects have different amounts of those numbers. So maybe something like a table is a bit different than a picture. I'm hoping over Christmas break to have some time to dig in and see if I can figure it out.
|12th Dec 2009, 1:39 AM||#17|
*really*! Who knew? That's no fun...I do love blaming EA for everything and now I can't pin that on them...lol.
I hope you can get somewhere with all of it...that's one of the benefits of being only a mesher...you don't have to flog your brain with things like that.
|12th Dec 2009, 9:47 PM||#18|
I'm pretty sure I figured out why altering the color sometimes works for me and sometimes doesn't.
For some of the TypeCodes, editing a value by entering a number with more decimal places than the original will cause the package to break.
Even if the value I'm copying over from the recolor package has seven decimal places, if the value I'm replacing in the mesh package has only four decimal places that's all I can enter without breaking the package.
This seems to only be true for the V Bg (0x0E) and S Bg (0x0F) values.
So replacing, say -0.1141 with -0.6359223 will break the package--- I have to enter -0.6359 instead.
Easy enough to do, now that I figured it out
Also, I haven't tested this part as much, but it seemed that when I entered a value with *fewer* decimal places, the program added an "@" symbol to the end of the number. That didn't seem to break the package per se-- I could still commit the changes without killing the OBJD-- but when I tested the package in-game, the texture showed up as completely black. Like HL was talking about.
(The "@" wasn't visible unless I commited the changes and then went back into the OBJD. And then when I deleted the "@" it seemed to break the package entirely)
Still can't touch the pattern name fields without breaking the package, but I don't care about that because as far as I can tell it doesn't affect how it looks in-game.
I think I'll finally be uploading some stuff soon...
|2nd Mar 2011, 9:49 PM||#19|
Join Date: Jul 2009
I need help I save the preset in game, but when I click the Share button it tells me 'Export Failed'. If I try exporting an EA painting it lets me export it. Any ideas why? My custom painting works fine otherwise.
Roo's Sims - Realistic and unique sims and CC free for download.