| Wishlist > Some Loving to the Material Definition Plugin | ||
| SnowStorm | ||
Member since: 2005-03-21 From: USA Posts: 415 | I would love it if we could incorporate what we know about the different items into the plugin. Such as, when you select an item, show text describing what the item does, listing what the valid values are etc. And for the items that have color triplets, give us a color picker dialog to use if desired. And if you want to be really ambititious, actually display a preview using all the settings we've specified. My biggest wish though is that color picker! | |
| Emily | ||
Member since: 2006-04-17 Posts: 361 | Do you know the ANIM Plugin? It has a PropertyGrid, which is doing exactly what you want. Quaxi planed to add something Similar for the TXMT Plugin, the only thing that is slowing the development of that, is that the Informations about the Fields is kinda scattered at the Moment :( So maybe it would be a good idea to collect the stuff we know (links, copied Text and stuff) in this Thread. :) | |
| quaxi | ||
Member since: 2006-04-28 Posts: 3154 | That is a good Idea. Anyone interested in this, here is a short spec of the xml we use to teach stuff to the TXMT Plugin: <category name="Textures"> <property type="enum:blend"> <name>stdMatAlphaBlendMode</name> <help>determins the Blend mode this Material uses</help> <default>0</default> </property> </category> The type can be one of the following:
if type is enum, you have to define that enum like this: <enum name="blend" writeas="name"> <field value="0">none</field> <field value="1">blend</field> </enum> write as can be
The category filed is restricted as well, but I don't know which categories make sense. So any suggestions are welcome. Here is a list of the categories so far:
Every Property can only be assigned to one category. I plan to reuse that category when we start to create new TXMTs from scratch. So that the user can say, create a reflective Texture, and SimPe will create all needed Properties automatically. So that is all, I hope some people will help with this, as collecting the Information is a real time consuming job :D | |
| Xanathon | ||
Member since: 2005-03-06 From: Remscheid, Germany Posts: 813 | # int # color # float # string # enum # txtrref (at the moment this is the same as string) I'm missing boolean? Used for example in "stdMatBaseTextureEnabled" And a category called "transparence" would be useful also (for "stdMatDiffCoef" and "stdMatUntexturedDiffAlpha"). Numenor started to collect infos about the MATD-properties in this thread on MTS2, but unfortunately it went to sleep... :wink: I just had a look at the TXMT-page of the MTS2-wiki and again I saw, that most of the parameters are still obviously guesses there. But that info-database isn't maintained very good (last edit: 2005-02-14 18:38:49. possibly because of the unintuitive usage of a wiki for the "technically not so brilliant" :wink: ). | |
| Emily | ||
Member since: 2006-04-17 Posts: 361 | Thanks, I added them to Quaxi's List. | |
| Numenor | ||
Member since: 2005-03-07 From: Italy Posts: 380 | Since I've first started that thread about the MATD, I've collected a lot of information about the divverent parameters of the MATD and their possible values. But it's more like a Wiki: I know that some parameters exist, and which values they can assume, but I don't know what they mean, nor what modification these parameters make to the final look of the object... Quaxi, some times ago, asked me to help him in renewing the MATD plugin, and I actually started organizing the data I've collected; bur soon I came to a stop because I didn't know how to proceed. My first idea was to have a MATD plugin that would let the user add any parameter (maybe with a drop-down list that would list all the known parameters) and let the user assign values to the chosen parameters, within the know range. But this idea was soon rejected, because the parameters must be added in groups, otherwise they are useless, and the different groups are needed for different purposes: a MATD for a normal object is very different from the one for a wallpaper, a floor, or a sim... This my current idea: create some templates and let the users create new MATDs based on them; the user would choose the best template regarding the package he is creating (an object, a sim, a skin, a roof...). The templates can be quite complete (with all the known parameters needed for that package, and the user can delete/edit them if needed. Obviously, not all the possible templates can be created, at least not immediately. But the most important and frequently used ones can be prepared quickly, I hope. What you think? | |
| quaxi | ||
Member since: 2006-04-28 Posts: 3154 | That is why I introduces the "Category" Field. A user can choose to build a TXMT that contains Information about a certain Category (like SimBody), and SimPe will create default Settings for all Properties assigned to that Category. I think this is the same as using Templates. :) At the moment i am assembling a List of all PropertyNames and all Values that are assigned to them in the game. The Sample you can see below, was created using this xml File: <?xml version="1.0" encoding="UTF-8" ?> <txmtproperties> <category name="SimBody"> <property type="guid"> <name>cafHairTone</name> <help>GUID of the Hairtone you want to assign</help> <default>00000000-0000-0000-0000-000000000000</default> </property> <property type="int"> <name>cafNumOverlays</name> <help>Number of assignable Texture Overlays</help> <default>0</default> </property> <property type="guid"> <name>cafSkinTone</name> <help>GUID of the Skintone you want to assign</help> <default>00000000-0000-0000-0000-000000000000</default> </property> <property type="string"> <name>compositeBaseTextureName</name> <help>Composition of all cafOverlay Texturenames</help> <default></default> </property> <property type="float"> <name>deprecatedStdMatInvDiffuseCoefMultiplier</name> <help>1.0-2.0 (???)</help> <default>1.0</default> </property> <property type="bool"> <name>eyeGizmoEnable</name> <help>Is an eye Gizmo assigned?</help> <default>0</default> </property> </category> <category name="Textures"> <property type="bool"> <name>stdMatAlphaTestEnabled</name> <help>Should the engine scan for TextureTransparence when showing a Mesh</help> <default>0</default> </property> </category> </txmtproperties> | |
| atavera | ||
Member since: 2005-03-07 Posts: 83 | This is very interesting stuff :) I was browsing through the sims executable a little while back, and came across some of these MATD properties. Most of them are in the XML, but there are a few that are not. I'm not sure whether they were used in the game or not, but they definetly look like MATD properties. stdMatNormalMapTextureParam stdMatBaseTextureParam stdMatCutoutTextureName stdMatReduceBoneWeights stdMatMorphState stdMatShapeColorIndex stdMatSpecMaskTextureName maybe these are present in the game, but just haven't been used? | |
| SnowStorm | ||
Member since: 2005-03-21 From: USA Posts: 415 | Based on what I've been experimenting with: stdMatDiffCoef equates to the Diffuse Color in my UV Mapper program stdMatEnvCubeCoef equates to the Ambient color stdMatEmissiveCoef equates to the Emissive color stdMatSpecCoef equates to the Specular color The sims colors are a triplet (Red, Green, Blue) with values of 0 - 1. To convert the color in uv to sims, you take the color and divide by 256. | |
| Numenor | ||
Member since: 2005-03-07 From: Italy Posts: 380 | Here is the first "template" for the MATD: it's the "StandardMaterial", used for all the objects (not sims, doors, windows, floors, etc...). It's quite complete and should be suitable for any normal object; includes texture animation and bump mapping parameters. I've skipped some very rare parameters, though. I've included the known range for each parameter, and the default value (that is the most frequent). The help isn't complete, though, because some (many) parameters are unknown to me, and for other ones I can guess their purpose, but I've never experimented them, so it's not correct for me to explain something that I don't know :) It's in Excel format, for best readability; sorry, I couldn't convert into XML (if needed, I can do it, but I have to do it by hand...) | |
viewthread, 0, 0, Some-Loving-to-the-Material-Definition-Plugin