Plastic Tweaker for Sale
by Anthony Rosenbaum · 10/23/2008 (6:38 am) · 91 comments
Hello Garage gamers.
Plastic Games is proud to inform you that the Plastic Tweaker is now available for purchase thru the Garage Games development tool page. The Plastic Tweaker allows you to edit datablock, and global variable in game without reloading the application.
In case you missed its announcement this summer here is a link to its initial release as
Plastic Gem 35 . Some instructions on the Plastic Tweaker's comment convention some support files for gui picking and Ease support a couple application examples even a state machine example. If you would like to cut to the chase and see all the videos together be sure to watch this recap blog
The retail version will allow you to save tweaks back to file. The time saving alone is worth the cost of the product.
I hope you enjoy it and be sure to check out other
Plastic Gems

Plastic Games is proud to inform you that the Plastic Tweaker is now available for purchase thru the Garage Games development tool page. The Plastic Tweaker allows you to edit datablock, and global variable in game without reloading the application. In case you missed its announcement this summer here is a link to its initial release as
Plastic Gem 35 . Some instructions on the Plastic Tweaker's comment convention some support files for gui picking and Ease support a couple application examples even a state machine example. If you would like to cut to the chase and see all the videos together be sure to watch this recap blog
The retail version will allow you to save tweaks back to file. The time saving alone is worth the cost of the product.
I hope you enjoy it and be sure to check out other
Plastic Gems

About the author
#2
10/23/2008 (7:29 am)
Will this be expanded to include possibly making a AFX version of this. Perry started a version of it, This would seem like a long way to toward making it a reality. But great work otherwise.
#3
10/23/2008 (8:34 am)
Will this work to tweak the Material.cs for TGEA?
#4
@Surge - Similarly it will also work with Material datablocks out of the box.
10/23/2008 (10:26 am)
@Edward - It should work with AFX out of the box, use the tweaker to find the datablock you want to tweak and it generate a panel for you.@Surge - Similarly it will also work with Material datablocks out of the box.
#5
10/23/2008 (10:42 am)
What changes are there from the free resource? Looks awesome btw.
#6
10/23/2008 (11:12 am)
I see TGE, TGEA and TGB listed as supported. But I only see TGE and TGEA listed in the supporting docs. Is TGB supported? Will it be better supported in the future?
#7
10/23/2008 (12:09 pm)
Congratulations! Finally, an easy way to work with lights and particle emitters. Not to mention vehicle physics fine-tuning. Epic awesomeness.
#8
@jydog - Currently we don't support TGB do to how TGB 's gui source has been altered, however Associate James Ford was working on a possible fix, at which point we would gladly generate TGB version.
10/23/2008 (1:12 pm)
@MB - Those who purchase the Plastic Tweaker will be allowed to save dircetly back into the original files. The nag screen will also go away. If you had an earlier version both the retail and demo versions has improved Auto Typing; giving you default types and comments for ALL standard Torque datablock properties. Meaning you can impliment this into stock torque without ANY C changes.@jydog - Currently we don't support TGB do to how TGB 's gui source has been altered, however Associate James Ford was working on a possible fix, at which point we would gladly generate TGB version.
#9
Awesome, thanks! Great resource. I was just going to make my own, now I don't have too!
10/23/2008 (1:16 pm)
@Anthony Awesome, thanks! Great resource. I was just going to make my own, now I don't have too!
#10
However when in a Material.cs_ material definition.
When I choose a different jpg or png for a material
it doesnt update it. Is this because its the trial version or
just the way the tweaker works?
10/24/2008 (7:39 am)
Im working with the trial version right now. And I Must say its pretty nifty.However when in a Material.cs_ material definition.
When I choose a different jpg or png for a material
it doesnt update it. Is this because its the trial version or
just the way the tweaker works?
#11
10/24/2008 (10:58 am)
Surge, does calling the script function 'reloadMaterials' fix that?
#12
Heres what im doing.
Im tweaking an inside wall of my structure.
I can adjust all the other settings specular,translucency,color...etc
When I select a new JPG or PNG nothing happens
I exit hit ~ and reloadMaterials
Nothing happens....
10/24/2008 (11:25 am)
It doesnt seem too....Heres what im doing.
Im tweaking an inside wall of my structure.
I can adjust all the other settings specular,translucency,color...etc
When I select a new JPG or PNG nothing happens
I exit hit ~ and reloadMaterials
Nothing happens....
#13
Does this happen when the filename does not contain underscore or dashes?
10/24/2008 (12:18 pm)
We don't think this matters but. . . Does this happen when the filename does not contain underscore or dashes?
#14
After selecting it it shows the full path in the file name box but in the 3d View
....nothing happens .
Then I try ~ reloadMaterials
console windows processes
.... but
Nothing happens....
10/24/2008 (1:30 pm)
Yes I can select a simple named JPEG through the file select button , say.. sfbwall.jpg.After selecting it it shows the full path in the file name box but in the 3d View
....nothing happens .
Then I try ~ reloadMaterials
console windows processes
.... but
Nothing happens....
#15
I was able to make a new panel

Change the file

Save and close the Tweaker.
Type reloadMaterials(); in the console;
Look at the orc model in the options menu
10/24/2008 (2:57 pm)
In 1.7.1 from main menuI was able to make a new panel

Change the file

Save and close the Tweaker.
Type reloadMaterials(); in the console;
Look at the orc model in the options menu
#16
Thats what I was wondering from the begining?
But shouldnt the material change happen in real time?
Instead of having to close down and open back up.
Thats the purpose of the tweaker right?
10/24/2008 (3:29 pm)
Do you think its because I have a trial version and cannot save?Thats what I was wondering from the begining?
But shouldnt the material change happen in real time?
Instead of having to close down and open back up.
Thats the purpose of the tweaker right?
#17
Ok so I spent a couple hours working on this, there seems to be some funkiness in how models are loaded and how textures and materials all work together.
First off it seems Materials should not be used to swap texture on models, that is what exporters are for.
If I have material
The Material system is looking on the model for textures that were exported with it such as orc_ID6_eye and holds a pointer to it. I can make it the material that it is associated with tweakable with a callback for real time feedback.
If you changed the texture and saved it would update the texture. Alas the resulting material would not be any good afterwards, because the model was exported with a certain texture, which was just changed. So next load of the application it would not find the texture and in turn not to associate the material with it with.
Moral is, use Tweaker to adjust values not swap texture on models.
10/24/2008 (5:07 pm)
@ Surge Ok so I spent a couple hours working on this, there seems to be some funkiness in how models are loaded and how textures and materials all work together.
First off it seems Materials should not be used to swap texture on models, that is what exporters are for.
If I have material
new Material(OrcEye)
{
baseTex[0] = "~/data/shapes/players/SpaceOrc/orc_ID6_eye";
emissive[0] = "0";
glow[0] = "1";
}; The Material system is looking on the model for textures that were exported with it such as orc_ID6_eye and holds a pointer to it. I can make it the material that it is associated with tweakable with a callback for real time feedback.
new Material(OrcEye)
{
//M[ OrcEyeTweaks listener=onEyeTweaked
baseTex[0] = "~/data/shapes/players/SpaceOrc/orc_ID6_eye";
emissive[0] = "0";
glow[0] = "1";
//M]
};
function onEyeTweaked(%tweaks){
echo("onEyeTweaked - reloadMaterials");
//little delay
schedule(500, 0, "reloadMaterials");
}If you changed the texture and saved it would update the texture. Alas the resulting material would not be any good afterwards, because the model was exported with a certain texture, which was just changed. So next load of the application it would not find the texture and in turn not to associate the material with it with.
Moral is, use Tweaker to adjust values not swap texture on models.
#18
To be able to swap textures (and thus, materials) on a shape, your best bet would be to clone a material, unlink it from the texture it was linked to (via mapTo) and change the appropriate texture. Then, assign the new material instance to the shape instance.
Gareth Fouche's already done this, so you might want to check out his excellent TGEA Dynamic Skins & Material Swapping resource.
10/25/2008 (12:00 am)
Just as Anthony said, materials rely on the original texture. On the other hand, if you change a material, that will change all shape instances that work with the material by default. To be able to swap textures (and thus, materials) on a shape, your best bet would be to clone a material, unlink it from the texture it was linked to (via mapTo) and change the appropriate texture. Then, assign the new material instance to the shape instance.
Gareth Fouche's already done this, so you might want to check out his excellent TGEA Dynamic Skins & Material Swapping resource.
#19
If this is my material definition for "ceiling"
And I physicaly Change it with a texeditor to read this....
Upon a reboot I will see the "ceiling" change to the new material.
Im keeping the mapTo call the same in both.
I will see the Ceiling change to a different material.
Now I know I would never want to completley swap out
materials like that but for instance I might have
ceiling1.jpg or ceiling2.jpg or ceiling3.jpg that use diffferent color
schemes.
Or I might have different Normal Maps made.
That I would like to see change without having to close down TGEA
and reboot it again.
And although Im loving the Plastice tweaker.....
The only downfall with it that im seeing is that
When I change....
and I dont change the
even with a reloadMaterials call.
I understand your point here Anthony but like I was saying above
what If I wasnt swapping textures completley but instead had
3 or four Different color Schemed Textures that I just wanted to
swap in an out to see what looks best in game.
And thats why my first question was....
Do you think Im not seeing this update because I have the Trial Version
and not the Full version that can save?
10/25/2008 (5:54 am)
What I think is Unusual is this.....If this is my material definition for "ceiling"
new Material(ceiling)
{
//P[ ceilingTweaks
basetex[0] = "ceiling";
bumptex[0] = "ceiling_bump.png";
mapTo = "ceiling";
specular[0] = "0.52 1.0 1.0";
specularPower[0] = 17.0;
pixelSpecular[0] = true;
//P]
};And I physicaly Change it with a texeditor to read this....
new Material(ceiling)
{
//P[ ceilingTweaks
basetex[0] = "sfbwall";
bumptex[0] = "sfbwall_bump.png";
mapTo = "ceiling";
specular[0] = "0.52 1.0 1.0";
specularPower[0] = 17.0;
pixelSpecular[0] = true;
//P]
};Upon a reboot I will see the "ceiling" change to the new material.
Im keeping the mapTo call the same in both.
I will see the Ceiling change to a different material.
Now I know I would never want to completley swap out
materials like that but for instance I might have
ceiling1.jpg or ceiling2.jpg or ceiling3.jpg that use diffferent color
schemes.
Or I might have different Normal Maps made.
That I would like to see change without having to close down TGEA
and reboot it again.
And although Im loving the Plastice tweaker.....
The only downfall with it that im seeing is that
When I change....
baseText[0] ="WHATEVER MATERIAL" bumpText[0] ="WHATEVER MATERIAL"
and I dont change the
mapTo = "ceiling"Nothing is Refreshing......
even with a reloadMaterials call.
Quote:
Moral is, use Tweaker to adjust values not swap texture on models.
I understand your point here Anthony but like I was saying above
what If I wasnt swapping textures completley but instead had
3 or four Different color Schemed Textures that I just wanted to
swap in an out to see what looks best in game.
And thats why my first question was....
Do you think Im not seeing this update because I have the Trial Version
and not the Full version that can save?
#20
I don't think the problem lies in the fact that you have the trial version. As I understand it, the trial version is fully featured. It just won't let you save...
What you are asking for would be a very cool utility. I'm not sure if our Tweaker will allow you to do this YET. Like you, my gut says that's something in the mapTo call. We've had some problems with it in the past.
Even though the Tweaker is out and ready to be used, we're still absorbing wants and needs of users to improve our product and make it a better tool.
Please don't get frustrated. These are things we're working on and want to work out with developers who will use our tool.
We might be able to hone in on a solution quickly so bare with us. =)
Regardless. Thank you for trying it and giving us feedback.
Kirk Alberts
Artist - Plastic Games
10/25/2008 (10:31 am)
@SurgeI don't think the problem lies in the fact that you have the trial version. As I understand it, the trial version is fully featured. It just won't let you save...
What you are asking for would be a very cool utility. I'm not sure if our Tweaker will allow you to do this YET. Like you, my gut says that's something in the mapTo call. We've had some problems with it in the past.
Even though the Tweaker is out and ready to be used, we're still absorbing wants and needs of users to improve our product and make it a better tool.
Please don't get frustrated. These are things we're working on and want to work out with developers who will use our tool.
We might be able to hone in on a solution quickly so bare with us. =)
Regardless. Thank you for trying it and giving us feedback.
Kirk Alberts
Artist - Plastic Games
Employee David Montgomery-Blake
David MontgomeryBlake