Jump to content

Face numbers - How to predict their order? (Assigning materials in Maya 2012)


You are about to reply to a thread that has been inactive for 1121 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hello everybody,

I have spent the last day searching through the forums, following the advice previously posted on similar threads and editing the DAE file as well. Nothing works for me.

My problem is that I would like to have absolute control over the order in which the 8 materials I assign to my objects translate into faces in SL.  I have observed that the alphabetical order of my materials does not translate, nor does the order in which they are shown in Hypershade.

I need to be able to match the face numbers between not only copies of the same mesh but also between different meshes.

I am using Maya 2012, exporting FBX and then using the FBX Converter 2011.3, I am converting to DAE. I have deleted the history, froze transforms, even tried putting my objects in a new scene and re-assigning the materials. Nothing, still.

Link to post
Share on other sites

Adele Bumblefoot wrote:

I need to be able to match the face numbers between not only copies of the same mesh but also between different meshes.

We all do. At least we need to match the faces between the various LOD models for the same mesh and that can sometimes be difficult.

I do not know the software you use but in Blender the order of the materials in the dae file is simply the order they were created in - and are listed in. Maybe FBX Converter does something similar? (Just out of curiosity: is there any reason why you use FBX as an intermediate file format? Maya should be perfectly able to write dae files right away, you just need a free plugin for it.)

 

There is one last emergency solution to try if all else fails. A dae file is essentially a text document describing the mesh. You can open it with any text processor and modify it to your hearts content. The syntax differs a lot depending ont he software it was made with but the material nuymbers shouldn't be that hard to find and once you've identified them you can just swap them around.

Link to post
Share on other sites

Thank you for your reply!



ChinRey wrote:

I do not know the software you use but in Blender the order of the materials in the dae file is simply the order they were created in - and are listed in. Maybe FBX Converter does something similar? (Just out of curiosity: is there any reason why you use FBX as an intermediate file format? Maya should be perfectly able to write dae files right away, you just need a free plugin for it.)

 

There is one last emergency solution to try if all else fails. A dae file is essentially a text document describing the mesh. You can open it with any text processor and modify it to your hearts content. The syntax differs a lot depending ont he software it was made with but the material nuymbers shouldn't be that hard to find and once you've identified them you can just swap them around.


I have changed the material order in the DAE file produced by the converter of 2011.3 for FBX . It doesn't work :/


I use Maya 2012, export as FBX and then convert from FBX to DAE with the aforementioned converter, as is suggested by LL and all the people here on the forums.

 

 

 

Link to post
Share on other sites


arton Rotaru wrote:

With the
exporting should work correctly as DAE out of Maya.

I downloaded this as per your instructions and used it to export to DAE directly.

Then I edited the lines in notepad++ as suggested here https://community.secondlife.com/t5/Mesh/Mesh-Face-Numbers-in-Maya/td-p/2821632

 

IT WORKED.

I will make a few more tests soon and update here.

 

THANK YOU from the bottom of my heart ♥♥♥

this was driving me nuts!!!

Link to post
Share on other sites

Hi Adele,
Maya 2012 fbxmaya.mll plug-in is known to have issues.  You could update your fbxmaya.mll to 2013 fbxmaya.mll.
That way you wouldn't need to export your mesh as a FBX  or use the FBX Converter.

I have a video on YouTube that goes over all the options for exporting Collada out of Maya.  While the video is geared towards rigged mesh and my MayaStar Plug-in there is a lot of good info in the video in general.  Plus in the description there is a bunch of links to Open Collada plug-ins as well as Autodesk's Archive plug-ins.

Here is a link to the archive: http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775920
You want 2013.3.  If you want to also keep your original fbxmaya.mll on your C drive under programs Autodesk Maya 2012 look for folder named Bin then Plug-ins.  That is were your fbxmaya.mll is located.  Just rename the file to something like fbxmaya2012.mll.  If you don't the file will be written over when you install 2013.3 fbxmaya.mll.  Just in your Plug-in Manager don't have both set to "Load" at the same time.  They can conflict with each other otherwise.

Here is a solution I figured out to be able to have complete control over the order of the materials.  I am copying and pasting from a thread that is a year or two old.

https://community.secondlife.com/t5/Mesh/Mesh-Face-Numbers-in-Maya/m-p/2821632#M29190

OK got it to work inside Maya! :D

Drongle pointing out it is the order in which the materials appear in the DAE file was the key.   Thanks Drongle! 

OK there may be a better way but here is how I was able to do it in Maya without having to edit the DAE file.

1. Extract all the faces of the different materials so each material is a separate object.
     In your case you have two materials.  One for the shirt and one for the tie.  So extract the tie faces from the shirt making them separate objects not just one object with two materials with boarder edges.  The extract function under the Mesh menu has an option to either "Separate Extracted Faces" or not.  If this is not checked then the selected faces of the tie will not become a separate object.

2. Once separated into two objects delete history of each object.  Then, in object mode, select the object you want to be FACE 0 in SL first.  Then while holding down the SHIFT key click on the object you want to be FACE 1 in SL.

3. Under the "Mesh" menu click "Combine".  Then click the "Edit Mesh" menu and click "Merge".  NOTE: This will make the edges where the two object combine hard edges so you may need to soften these edges for your particular needs.

4. Delete history of the newly combined object in this case your shirt and tie.

5. Export your mesh as a DAE file as usual.

If your shirt and tie are already rigged and you don't want to rig them all over again duplicate the mesh first and separate, combine and merge as in steps 1 through 5.  Then do a quick Smooth Bind to the skeleton and then Copy Weights from your original to the duplicate but don't use the "Use smooth skin weight copy" option in the "Copy Skin Weights Options" window.  The "Copy Skin Weights" function is under the "Skins" menu > Edit Smooth Skin> Copy Skins Weights.

What you are doing when separating your mesh into separate objects and then combining them back into one object is really reordering the vertiex order.  Maya creates the DAE file by exporting the vertex in order.  Lower vertex numbers first then higher. Vertex named vtx(0) exports first.  So if the material you want to be FACE 0 is made up of 10 vetices then they need to be named vtx(0) through vtx(9) so they are exported to the DAE file first.

Here is a link to a nice little MEL script that I use that automatically separates a mesh into separate objects by materials.

http://www.creativecrash.com/maya/script/poly-split-per-assigned-shader

It is only for Maya 7 through 8 but it seems to be a simple script so it may work for newer versions of Maya as well.  New versions of Maya may even have this feature already built in.

Hope that helps. :)
Cathy

Link to post
Share on other sites

Some time ago, there was an important change to the situation described in the link referred to a couple of times here. Before, when the older thread took place, the order of the face numbers was decided only by the order of appearance of the <polylist> in the geometry, with no effect of the material names. This was changed when material matching across LODs was changed to depend on material names. Now the faces are sorted according to the material names. The first in alphabetical order is face 0, the next id face 1, etc. In Blender, this means that the order of materials in the material list no longer determines the face numbers.

As I don't use Maya, and don't know the detail of the exporter, I can't say for certain how things will work there, This is because of the complicated indirect nature of the association of faces with material properties in Collada. The <polylist> has a "material" attribute string that is matched to by a "symbol" attribute in a <instance_material> tag inside a <bind_material> section. That <instance_material> then also has a "target" attribute that points to the <material> via its id. That indirects again through  an <instance_effect> child to reach the <effect> that actually contains the material properties, colour etc.

Since Blender uses the material name with appropriate suffixes for all these links and attributes, the alphabetical ordering would be the same wherever in the chain the uploader took the name from. However, by experimentally manipulating the collada file, it can be shown that the importer actually uses the "material" attribute of the <polylist> as the basis for alphabetic sorting of the faces. Thus it does not matter what appears in all those other links, or even if the links are broken.

There is nothing in the Collada specification that requires the "material" attribute of the <polylist> to be related in any way to the name of the <material> or the <effect> or the name of the material in the authoring package. To be clear about how the face numbering will work in Maya, it would be useful for someone to determine whether and how the "material" attributes of the exported <polylists> (or<triangles>, or <ploygons>) are determined in Maya. This is most easily done by exporting a simple cube with three or four named materials on it, and looking in the collada file at the places indicated above.

  • Like 1
Link to post
Share on other sites

Hi Drongle,
you provide great info as always. :D

I spent an hour testing it out and yes indeed things have changed.  Took me a while to figure how to get a predictable order out of Maya but I managed it. :)

In Maya 8.0 using the Open Collada plug-in alphabetical order of the material names doesn't matter.

It still matters the order in which the materials are combined but instead of first to last it is now last to first.

Step 1:  Separate your mesh into individual objects so each material is its own object.  Delete History of each object.

Step 2: Select the object you want to be the last face in SL and shift select the object you want to be the next to last and combine the two and VERY IMPORTANT merge the verteices.  Example if your mesh has 4 materials and will be 4 faces in SL you pick the object you want to be Face 3 first then shift select the object you want to be Face 2.  Remember Face 0 is the first face in SL so a mesh that has 4 faces will be named Face 0, Face 1, Face 2 and Face 3.  So Face 3 is the last face in SL.

Step 3: With the object you just combined and merged shift select the object you want to be next lowest.  In this case it would be for Face 1.  Combine and Merge.

Step 4: With the object you just combined and merged shift select the last object which you want to be Face 0 and combine and merge.  I normally Delete History at this point.  You are now ready to export your DAE file. NOTE: When merging vericies a hard edge is formed so if you want soft edges you will need to soften them before you export your DAE file.

I have only tested this with the Open Collada plug-in and my version of Maya so I can't say for sure it will work for all Maya users.

Hope that helps. :)
Cathy

Link to post
Share on other sites

I made a simple cube and applied 4 materials.  The material names are A, B, C, and D.  Here I will copy and paste the DAE code below.  The material id is near the top of the code.  I don't think the order in which the materials appear matter.  If I remember right one of the test I did to DAE files of the same cube but different combining order had the same material order in the DAE files but in SL they had different faces assigned to each material but I ran so many tests hard to keep everything in order. If I remember right A = Blue Material, B = Green Material, C = Red Material and D = Black Material color.  Blue is on 3 sides of the cube and green, red and black are on one side each. Almost forgot when rezzed the whole cube has 20% alpha setting on all materials.  Don't ask me why I didn't set a transparency level on any of the materials.:

________________________________________________________________________________________________

<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
<asset>
<contributor>
<author>Cathy Foil</author>
<authoring_tool>Maya8.0 | ColladaMaya v3.05B</authoring_tool>
<comments>ColladaMaya export options: bakeTransforms=0;exportPolygonMeshes=1;bakeLighting=0;isSampling=0;
curveConstrainSampling=0;removeStaticCurves=0;exportCameraAsLookat=0;
exportLights=0;exportCameras=0;exportJointsAndSkin=1;
exportAnimations=0;exportTriangles=0;exportInvisibleNodes=0;
exportNormals=1;exportTexCoords=1;
exportVertexColors=0;exportVertexColorsAnimation=0;exportTangents=0;
exportTexTangents=0;exportConstraints=0;exportPhysics=0;exportXRefs=0;
dereferenceXRefs=0;cameraXFov=0;cameraYFov=0</comments>
<source_data>file:///C:/Users/Cathy%20Foil/Documents/maya/projects/default/scenes/Male%20Avatar%20Fixed%207%20Fixing%20Male%20Weights%202.mb</source_data>
</contributor>
<created>2015-10-12T18:07:58Z</created>
<modified>2015-10-12T18:07:58Z</modified>
<unit meter="1.0" name="centimeter"/>
<up_axis>Z_UP</up_axis>
</asset>
<library_materials>
<material id="A" name="A">
<instance_effect url="#A-fx"/>
</material>
<material id="D" name="D">
<instance_effect url="#D-fx"/>
</material>
<material id="B" name="B">
<instance_effect url="#B-fx"/>
</material>
<material id="C" name="C">
<instance_effect url="#C-fx"/>
</material>
<material id="lambert1" name="lambert1">
<instance_effect url="#lambert1-fx"/>
</material>
</library_materials>
<library_effects>
<effect id="A-fx">
<profile_COMMON>
<technique sid="common">
<lambert>
<emission>
<color>0 0 0 1</color>
</emission>
<ambient>
<color>0 0 0 1</color>
</ambient>
<diffuse>
<color>0 0 0.8 0.8</color>
</diffuse>
<transparent opaque="RGB_ZERO">
<color>0 0 0 1</color>
</transparent>
<transparency>
<float>1</float>
</transparency>
</lambert>
<extra>
<technique profile="FCOLLADA"/>
</extra>
</technique>
</profile_COMMON>
</effect>
<effect id="D-fx">
<profile_COMMON>
<technique sid="common">
<lambert>
<emission>
<color>0 0 0 1</color>
</emission>
<ambient>
<color>0 0 0 1</color>
</ambient>
<diffuse>
<color>0 0 0 0.8</color>
</diffuse>
<transparent opaque="RGB_ZERO">
<color>0 0 0 1</color>
</transparent>
<transparency>
<float>1</float>
</transparency>
</lambert>
<extra>
<technique profile="FCOLLADA"/>
</extra>
</technique>
</profile_COMMON>
</effect>
<effect id="B-fx">
<profile_COMMON>
<technique sid="common">
<lambert>
<emission>
<color>0 0 0 1</color>
</emission>
<ambient>
<color>0 0 0 1</color>
</ambient>
<diffuse>
<color>0.8 0 0 0.8</color>
</diffuse>
<transparent opaque="RGB_ZERO">
<color>0 0 0 1</color>
</transparent>
<transparency>
<float>1</float>
</transparency>
</lambert>
<extra>
<technique profile="FCOLLADA"/>
</extra>
</technique>
</profile_COMMON>
</effect>
<effect id="C-fx">
<profile_COMMON>
<technique sid="common">
<lambert>
<emission>
<color>0 0 0 1</color>
</emission>
<ambient>
<color>0 0 0 1</color>
</ambient>
<diffuse>
<color>0 0.8 0 0.8</color>
</diffuse>
<transparent opaque="RGB_ZERO">
<color>0 0 0 1</color>
</transparent>
<transparency>
<float>1</float>
</transparency>
</lambert>
<extra>
<technique profile="FCOLLADA"/>
</extra>
</technique>
</profile_COMMON>
</effect>
<effect id="lambert1-fx">
<profile_COMMON>
<technique sid="common">
<lambert>
<emission>
<color>0 0 0 1</color>
</emission>
<ambient>
<color>0 0 0 1</color>
</ambient>
<diffuse>
<color>0.4 0.4 0.4 0.8</color>
</diffuse>
<transparent opaque="RGB_ZERO">
<color>0 0 0 1</color>
</transparent>
<transparency>
<float>1</float>
</transparency>
</lambert>
<extra>
<technique profile="FCOLLADA"/>
</extra>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<library_geometries>
<geometry id="polySurfaceShape57" name="polySurfaceShape57">
<mesh>
<source id="polySurfaceShape57-positions" name="position">
<float_array id="polySurfaceShape57-positions-array" count="24">1.34368 -0.792339 0.5 1.34368 -0.792339 -0.5 1.34368 -1.79234 0.5 1.34368 -1.79234 -0.5 0.343681 -0.792339 0.5 0.343681 -0.792339 -0.5 0.343681 -1.79234 0.5 0.343681 -1.79234 -0.5</float_array>
<technique_common>
<accessor source="#polySurfaceShape57-positions-array" count="8" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="polySurfaceShape57-normals" name="normal">
<float_array id="polySurfaceShape57-normals-array" count="72">1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -1 0 0 -1 0 0 -1 0 0 -1 0 0</float_array>
<technique_common>
<accessor source="#polySurfaceShape57-normals-array" count="24" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="polySurfaceShape57-map1" name="map1">
<float_array id="polySurfaceShape57-map1-array" count="44">0.625 0 0.875 0 0.875 0.25 0.625 0.25 0.375 0.25 0.625 0.25 0.625 0.5 0.375 0.5 0.375 0.75 0.625 0.75 0.625 1 0.375 1 0.375 0 0.625 0 0.625 0.25 0.375 0.25 0.375 0.5 0.625 0.5 0.625 0.75 0.375 0.75 0.125 0 0.125 0.25</float_array>
<technique_common>
<accessor source="#polySurfaceShape57-map1-array" count="22" stride="2">
<param name="S" type="float"/>
<param name="T" type="float"/>
</accessor>
</technique_common>
</source>
<vertices id="polySurfaceShape57-vertices">
<input semantic="POSITION" source="#polySurfaceShape57-positions"/>
</vertices>
<polylist material="lambert8SG" count="3">
<input semantic="VERTEX" source="#polySurfaceShape57-vertices" offset="0"/>
<input semantic="NORMAL" source="#polySurfaceShape57-normals" offset="1"/>
<input semantic="TEXCOORD" source="#polySurfaceShape57-map1" offset="2" set="0"/>
<vcount>4 4 4</vcount>
<p>6 12 12 2 13 13 0 14 14 4 15 15 5 16 16 1 17 17 3 18 18 7 19 19 7 20 20 6 21 12 4 22 15 5 23 21</p>
</polylist>
<polylist material="lambert11SG" count="1">
<input semantic="VERTEX" source="#polySurfaceShape57-vertices" offset="0"/>
<input semantic="NORMAL" source="#polySurfaceShape57-normals" offset="1"/>
<input semantic="TEXCOORD" source="#polySurfaceShape57-map1" offset="2" set="0"/>
<vcount>4</vcount>
<p>7 8 8 3 9 9 2 10 10 6 11 11</p>
</polylist>
<polylist material="lambert10SG" count="1">
<input semantic="VERTEX" source="#polySurfaceShape57-vertices" offset="0"/>
<input semantic="NORMAL" source="#polySurfaceShape57-normals" offset="1"/>
<input semantic="TEXCOORD" source="#polySurfaceShape57-map1" offset="2" set="0"/>
<vcount>4</vcount>
<p>4 4 4 0 5 5 1 6 6 5 7 7</p>
</polylist>
<polylist material="lambert9SG" count="1">
<input semantic="VERTEX" source="#polySurfaceShape57-vertices" offset="0"/>
<input semantic="NORMAL" source="#polySurfaceShape57-normals" offset="1"/>
<input semantic="TEXCOORD" source="#polySurfaceShape57-map1" offset="2" set="0"/>
<vcount>4</vcount>
<p>2 0 0 3 1 1 1 2 2 0 3 3</p>
</polylist>
<polylist material="initialShadingGroup" count="0">
<input semantic="VERTEX" source="#polySurfaceShape57-vertices" offset="0"/>
<input semantic="NORMAL" source="#polySurfaceShape57-normals" offset="1"/>
<input semantic="TEXCOORD" source="#polySurfaceShape57-map1" offset="2" set="0"/>
<vcount/>
<p/>
</polylist>
</mesh>
<extra>
<technique profile="MAYA">
<double_sided>1</double_sided>
</technique>
</extra>
</geometry>
</library_geometries>
<library_visual_scenes>
<visual_scene id="VisualSceneNode" name="Male_Avatar_Fixed_7_Fixing_Male_Weights_2">
<node id="polySurface57" name="polySurface57" type="NODE">
<rotate sid="rotateZ">0 0 1 0</rotate>
<rotate sid="rotateY">0 1 0 0</rotate>
<rotate sid="rotateX">1 0 0 0</rotate>
<instance_geometry url="#polySurfaceShape57">
<bind_material>
<technique_common>
<instance_material symbol="lambert8SG" target="#A"/>
<instance_material symbol="lambert11SG" target="#D"/>
<instance_material symbol="lambert10SG" target="#B"/>
<instance_material symbol="lambert9SG" target="#C"/>
<instance_material symbol="initialShadingGroup" target="#lambert1"/>
</technique_common>
</bind_material>
</instance_geometry>
</node>
<extra>
<technique profile="FCOLLADA">
<start_time>0.041666</start_time>
<end_time>2</end_time>
</technique>
</extra>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#VisualSceneNode"/>
</scene>
</COLLADA>

_______________________________________________________________________________________

Hope that helps. :)
Cathy

Link to post
Share on other sites

Here's some extracts from your collada file. The links I mentioned are shown by colours and arrows. You can see here where the problem comes from. The last two links use the given material name "A", but the one the importer uses, the material attribute in the top box, is different. It's "Lambert8SG". At the bottom you can see the other ploylists with similar material attributes (except for the last one which isn't used and will therefore be ignored by the SL uploader). It's the order of these names that will determine the face numbers. So now we need to solve the question of where these names come from, and then how to control them. Any ideas?



ETA: it might be worth pointing out that these Maya names are unlikely to be generally effective for alphabetic sorting because they don't sort in the order of the numbers they contain. In number order these would be 8SG, 9SG, 10SG, 11SG. In alphabetic order they are 10SG, 11SG, 8SG, 9SG. So even if you find a way of getting the numbers in the right order, that will not generally produce the correct alphabetic order.

Link to post
Share on other sites

To make the distinction clear, here are the links for a material called "A" exported from Blender. The name used by the uploader is now "A-material". It has "-material" tacked on the end, but since the name is still there in front, its alphabetic order will still determine its face number. Thus in Blender the face numbers can be controlled by the material names.



  • Thanks 1
Link to post
Share on other sites


Drongle McMahon wrote:

 Thus in Blender the face numbers can be controlled by the material names.

I must admit that i have not looked into this since a long time.

So the SL Importer nowadays uses the Material names for ordering? And now (in blender) the order of appearance of the materials no longer matters and the new feature for re-ordering Materials has become obsolete ?

[edit]: i just read further up in this thread that indeed now the texture face number is derived from the material order after materials have been sorted by name.

Now i wonder since we (Blender) have the option to export objects in alphabetical order, should we also export materials in alphabetical order? Would this be beneficial in any way? Probably it does not matter...

Link to post
Share on other sites

"... should we also export materials in alphabetical order?"

My conclusion that the materials, and thus the faces, are sorted by name came from both inspecting the code of the current release viewer and doing some tests, also with that viewer (i.e. Firestorm etc. could be different). I am fairly confident that is right, although it would be good if somebody else could do an independent test.

If I am right, then sorting the materials in the collada (it would have to be the polylist order, for the uploader to notice - the material or effect tag orders don't seem to matter) would not make any difference, as the uploader does it anyway. There's no guarantee that this will stay the same though.

I think this sorting was introduced at the same time the material names, instead of their order in collada, were used to match polylists (SL faces) between LOD models. I don't see why the latter would require alphabetical ordering in the high LOD though. It works by re-ordering the materials list, then the geometry lisdt, according to the order in the high LOD. Maybe it was just considered neater if that was already alphabetical.

For anyone interested, the code for the sort is in LLModel::sortVolumeFacesByMaterialName(), which is called by LLDAELoader::loadModelsFromDomMesh(). I can't say I have read it carefully enough to know if it always happens. To test in practice, I used a cube with four materials names Amat ... Dmat. Changing the order in Blender changed the order of the polylists in the collada file, but did not affect the face numbers. Changing the names in the collada file to change the alphabetic order, without changing their order in the file, did affect the face numbers.

ETA: It might be suggested that the uploader should really use the name attribute of the <material> tag instead of the material attibute of the <polylist>. That would be the name actually given to the material, whether in Blender or Maya, or presumably anything else..

 

Link to post
Share on other sites

Here's another test. Used Cathy's dae, first as it is, then with "lambert8SG" replaced by "lambert08SG" and "lambert9SG" by "lambert09SG". That changes the alphabetic order to be the same as the numeric order. Here are the reports of a script that gives the face colours in face-number-order...



ETA: the material names were added by hand, not available to the script.

Link to post
Share on other sites

WOW!  You are amazing Drongle. :D

In my testing I only uploaded my DAE files with the Singlulairty viewer on the Beta Test Grid. 

Uploading the DAE code I pasted using the Singulaity viewer I get Blue = Face 0, Black = Face 1, Red = Face 2, and Green = Face 3.

I wonder if all viewers would assign the faces in the same order?

What a nightmare if my method of separating a mesh so that each material used is it's own object then in Maya combining them in reverse order and merging the vertices as you go would only work if uploading with the Singulairty.

It would be nice if LL gave us the option in the uploader window to assign the Faces to the particular material names that appear in the DAE file.  Like in my example you see a list in the uploader window "A" then a drop down field where you could select the Face it will be in SL and so forth for materials B, C and D.  If I had named my material "A"  "Blue_Material" instead then in the window you would see "Blue_Material" with the drop down field next to it.

Link to post
Share on other sites

Oh dear. The order you get with singularity is just the order the polylists appear in your file. So it seems that viewer is still using the old system. How old is it? I think you would have to contact the developer(s) to clarify whether it has the new code in in that I mentioned. I'll see if I can find their code. Had a look. Model.cpp is hugely different. The sorting stuff isn't there. So I think it's clear that Singularity is using the old method of face numbers, which is just the order the assigned geometry (polylists) appear in the dae file. If so, that's a definate incompatability with the LL viewer. What about Firestorm, anyone?

I like your idea of optionally defining the face numbers at upload a lot. It might not be very easy because they would have to get the right name from the name attribute of the material tag. Otherwise you would be confronted with the "lambert..." names and no know what they were. As I said though, that would probably be better anyway. They could use an interface that put the material colours next to the name too, or even the textures if they are uploaded.

Link to post
Share on other sites

Here is the version of Singularity I am currently using:

Singularity Viewer (64 bit) 1.8.6 (6157) Feb 26 2015 19:38:50 (Singularity)

It is the most recent version of Singularly.

I have always seemed to have the best success rate with uploads using Singularity verses any other viewer.

Of course I always go to the most updated version of LL default viewer if all else fails.

Up until recently I was on a PC that was just over 10 years old and found that Singularity gave me the best FPS rates.

Link to post
Share on other sites
  • 2 years later...
On 10/13/2015 at 3:57 AM, Drongle McMahon said:

To make the distinction clear, here are the links for a material called "A" exported from Blender. The name used by the uploader is now "A-material". It has "-material" tacked on the end, but since the name is still there in front, its alphabetic order will still determine its face number. Thus in Blender the face numbers can be controlled by the material names.



The alphabetical order of the materials works great in Maya! Thank you!

Edited by Sloan Drammond
Link to post
Share on other sites
You are about to reply to a thread that has been inactive for 1121 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...