You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
(13) |
Jun
(7) |
Jul
(4) |
Aug
(3) |
Sep
(4) |
Oct
(5) |
Nov
(1) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(1) |
2016 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Guillaume L. <gui...@gm...> - 2005-07-08 20:58:34
|
Hello everyone! This was a quiet, extended week, for the development of the plug-in. The challenge of the week was to improve the general performance of the plug-in and using diverse scenes: skinned meshes, animated meshes and so on, I was able to significantly improve the performance on both import and export. I'm personally happy with the new performance of the plug-in and if you have very specific cases that are especially bad, please send me your scene! Other than performance, the conformance has also improved, starting with per-vertex normals and closing the week with the "sid" attribute clean-up. If your mesh has no hard edges, you will not= =20 get normals in your tesselation anymore, they will be declared as an input in the <vertices> node of the mesh. About the "sid" attribute issue, this will most likely impact quite a few o= f=20 you: there are many nodes, such as <technique>, <skin> and <program> nodes that do not support the "sid" attribute in the official specifications. The translator erroneously assigned them a custom "sid" when building the= =20 animation targets. From now on, these nodes will not get "sid" attributed and your applications will have to do a breath-first search to find the animation targets. You can get this new Weekly Development Build at the following address: http://prdownloads.sourceforge.net/colladamaya/ColladaPluginForMaya-0.63.zi= p?download Have a good week-end! Guillaume Laforte Feeling Software Inc. Recent Changes: ---------------------------------------------------- 08/07/05 (Release 0.63) (gla...@fe...) Regressions: Corrected regression in 01-003-00, where an array was accessed= =20 out-of-bound during the vertex normals import. Fixed regression in=20 instancing, where only the first instance would get assigned materials.=20 Fixed regression with skin cluster creation, where multiple clusters uses= =20 the same joints. Reinserted the code to assign the bind-shape normals when= =20 importing a cluster. I had purposedly taken it out during my performance=20 improvements. Mantis #371: Invalid "sid" attributes on some nodes: Changed the animation= =20 target building algorithm to only add the "sid" attributes on the nodes=20 which support it, according to the specifications. 07/07/05 (gla...@fe...) Mantis #258: Performance Improvement: Worked on the import of Astroboy.=20 Slight improvement in performance when using the plug's attribute to get it= s=20 name, and using "shortNames" to reduce string comparisons. Slight=20 improvement when setting a vector plug using MFnNumericData to set all thre= e=20 components at once, rather than setting them individually. Mantis #258: Performance Improvement: Time-consuming work on controller=20 import performance: Assign only the necessary weights, using the plugs=20 directly, on the skin cluster. The skin cluster is now created manually. 05/07/05 (gla...@fe...) Mantis #261: Export of animated bounding boxes: Using the plug values,=20 export the time-changes in the bounding box min/max vectors. Abandoning the= =20 animated bounding box export, as Maya doesn't evaluate them as wanted. Mantis #258: Performance Improvement: By batching the set assignment when= =20 creating new shaders, which is used to assigning per-face materials, I got = a=20 good improvement. Mantis #258: Performance Improvement: Fixed small error in the scene=20 walking, which was causing a large delay before every node's export. Export= =20 skin weight as double, which is native to Maya, to avoid the full array=20 conversion that Maya was doing. 04/07/05 (gla...@fe...) Mantis #368: 3dsMax Conformance' 03-003-00 imports with corrupted spheres:= =20 Rewrote the Maya string-to-float function to support the exponent notation.= =20 Found another issue: 3dsMax exports -1#IND in rare cases: 01-002-00, which= =20 hangs the plug-in code. Fixed the string-to-float function to always skip a= t=20 least to the next whitespace. Mantis #262: Export more per-vertex parameters: Add detection of per-vertex= =20 normals and export of them as an input in the <vertices> node rather than= =20 the <polygons> node. Similarly for tangents and binormals, which have their= =20 tessellation defined by the ordering of the normals. Implemented the import= =20 of per-vertex normals and discard of per-vertex tangents and binormals.=20 Found out that MFnMesh::getVertexNormal is not compatible with modified=20 normals: refactored the per-vertex normals to index per-face, per-vertex=20 normals appropriately. Similarly for setVertexNormals. Mantis #258: Performance Improvement: When importing per-face, per-vertex= =20 normals, by sorting the smooth and hard normals first, instead of using the= =20 MFnMesh edge smoothing functions, I was able to get back about 15% of=20 performance improvement for unanimated mesh imports. 03/07/05 (gla...@fe...) Mantis #367: Check "backfaceCulling" plug when exporting "doubleSided": If= =20 "doubleSided" is set, also check "backfaceCulling" to define one-sided=20 meshes. 30/06/05 (gla...@fe...) Mantis #258: Performance improvements: Slight improvement by allocating the= =20 known-length arrays directly when sampling animations. Added index(),=20 rindex() and remove() string manipulation functionst to CStringBuilder and= =20 use them in DaeUtils functions. Merged in a patch from Jason Hoerner for UNC path support. Conformance Test 06-022-00, 06-023-00 Regression. Clean-up the code to allo= w=20 the expression sampling to co-habitate with cached IK sampling. Added=20 by-pass of "unitConversion" Maya nodes when verifying if a node is animated= . Mantis #262: Add Support for Blind data. Found an issue when exporting empt= y=20 strings. Instead, the "_" string will replace empty strings and are=20 overwritten on import. Mantis #276: <Asset> tags. This is the result of a good discussion that was= =20 brought by the bug filed with Alias: Using MEL commands, manually change th= e=20 up-axis, if necessary and then reset the camera view. |
From: Christian L. <cla...@fe...> - 2005-06-29 21:25:19
|
> I'd like to give an update regarding the ColladaMaya's support for > Physics export and the Novodex Physics integration. Initially, we had > packaged these two products together, but we've since decided them for the > time being. This should have read "we've since decided to separate them for the time being." Christian |
From: Christian L. <cla...@fe...> - 2005-06-29 20:46:46
|
Hello everyone, I'd like to give an update regarding the ColladaMaya's support for Physics export and the Novodex Physics integration. Initially, we had packaged these two products together, but we've since decided them for the time being. Note that the Collada physics export is still supported, although the standard disclaimer remains: the spec is nearing completion, but there are areas that could change in the short term. In case some of you are curious, here are some of the reasons why we decided to split the projects: - ColladaMaya has become a mature product, used by at least a dozen game studios. In contrast, Nima (the Novodex integration in Maya) is in early development and is a couple of months away from release to the general public. Our client, Ageia, wants to make sure that the integration of their physics engine reaches their standard of quality and completeness before releasing it. In the meantime, I want to spend as much productive time working on the feature set and implementation details, rather than supporting very early adopters. - ColladaMaya and Nima are complementary products, designed to work well with each other, but they are not interdependent. You'll be free to use or the other depending on your needs. Other than that, I'd like to assure you that Nima is progressing at a good pace and that our plan is still to make it available freely to game developers. Regards, Christian Laforte Feeling Software Inc. |
From: Guillaume L. <gui...@gm...> - 2005-06-29 20:24:17
|
Hello everyone! We have a few new features for you this week: the export of tangents and=20 binormals, import/export of per-vertex color (as opposed to per-polygon,=20 per-vertex colors), and basic import/export for per-vertex blind data. I've= =20 also spent a good deal of time on support and inter-operability and we are= =20 dedicated to the import of valid data from the other translators. As such,= =20 this version fixes important inter-operability issues with the cameras,=20 animations, textures and a few others. Also, Christian has taken out the Novodex requirement for the Collada=20 Physics exporter. This version includes new MLLs of ColladaPhysics for Maya= =20 6.0.1 and Maya 6.5. As usual, you can get the latest plug-in on SourceForge:=20 http://prdownloads.sourceforge.net/colladamaya/ColladaPluginForMaya-0.62.zi= p?download Enjoy! -------------------- Guillaume Laforte Feeling Software Inc. Recent Changes: 29/06/05 (Release 0.62) (gla...@fe...) Merged in a patch from Jason Hoerner for performance and new support for IK= =20 handles. Mantis #262: Add Support for Blind data. Implemented the import of=20 per-vertex blind data. Buffer together the blind data sources that have the= =20 same Ids, as Maya groups them together. MFnMesh::set(Type)BlindData doesn't= =20 work. The importer has to manually create the plugs and attributes to hold= =20 the blind data in Maya's polyBlindData node. The attributes have the be set= =20 "writable", "storable" and correctly created for Maya to accept the blind= =20 data and display it in the UI. 28/06/05 (gla...@fe...) Mantis #263: Invalid bind pose when skin has parent transform. Finally=20 received more information about this problem. By taking out the transform= =20 directly in the Collada file, I can fix the problem, so it implies that the= =20 parent transform is wrongly taken in consideration by the bind pose. Since= =20 the export is forcing only one transform to the identity, when a controller= =20 is instantiated, it needs to re-apply that transform to the subsequent=20 transforms and controllers, but not take the whole parent tree transforms= =20 into consideration when calculating the bind pose. Mantis #263: Invalid bind pose when skin has parent transform. Investigated= =20 and fixed the corruption in the skin's bind pose, as some of the vertices= =20 end up at random positions when exported/re-imported in Maya: implemented a= =20 safer way to get the inverse bind matrix for skin clusters. Mantis #344: 3dsMax' Conformance 06-015-00 imports unanimated. For the=20 animation targets in the given Collada file, there is only one "subid" afte= r=20 the "id" and there are many un-identified levels of nodes between the targe= t=20 "subid" and "id". According to the specifications, that should be supported= ,=20 so added support for un-identified nodes between the target "subid" and=20 "id". Mantis #262: Export blind data. Implementation of the basic export of=20 per-vertex blind data. 27/06/05 (gla...@fe...) Mantis #314: Ex_ColorsPerVert import sample. When exporting vertex colors,= =20 check if there is a reason to export per-face, per-vertex color. If there= =20 are none, export per-vertex colors only. The valid reasons for per-face,=20 per-vertex color include an animation curve linked to a plug or simply the= =20 same vertex having different colors for two or more faces. Verified that=20 this works with previous per-vertex color test cases. Mantis #337: 3dsMax' Conformance 04-005-00 imports shaderless. Re-added=20 import of 3D TexCoords sets as 2D TexCoords sets. Verified the fix with all= =20 the failed test cases attached. Mantis #339: 3dsMax' Conformance 04-009-00 imports too dark. Found/Fixed an= =20 unrelated problem with the camera import/export where the length factor for= =20 unit conversion is not taken into consideration for the Z planes, the=20 apertures and such.=20 Mantis #342: 3dsMax' Conformance 06-003-00: cylinder does not skin. Fixed= =20 the fact that the skin wasn't bound, that was due to the joint list parser= =20 that was too strict and didn't accept tabs as separators. 25/06/05 (gla...@fe...) Mantis #312: Ex_Bones import sample. Fixed rotation order for imported=20 cameras using the <lookat> transform by assigning the left-over axises in= =20 the reverse order. This was causing all the black screen with automated=20 testing of the custom import samples.=20 Mantis #314: Ex_ColorsPerVert import sample. This way of assigning vertex= =20 colors has yet to be implemented. Implemented import of multiple sources in= =20 the <vertices> node. Added a specific import path for the per-vertex colors= . 24/06/05 (gla...@fe...) Mantis #276: Asset Tag Information. Since the "setUpAxis" script is usually= =20 unavailable, I switched to using the correct API method, which completely= =20 breaks the camera in some cases. I filed a bug with Alias Support and=20 commented out that code. Changed the way the bind pose matrix is retrieved,= =20 as Maya was corrupting it for an unknown reason. Strangely, only three bind= =20 inverse matrices were corrupted in 06-003-03 and they are now correct. Fixe= d=20 regression with joint clusters, where the bindPreMatrix has a different=20 meaning. 23/06/05 (gla...@fe...) Mantis #259: More Animation Types. Added the export/import of UV placement'= s=20 boolean parameter animations: wrapU, wrapV, mirrorU, mirrorV, stagger and= =20 fast. Fixed issue with texture animation export, where the wrong input node= =20 was used. Mantis #269: Support for the Tangent per-vertex attribute. Investigated how= =20 to export tangent and bi-normal per-face, per-vertex attributes. Added=20 export option and updated readme.html documentation. Implemented the export= =20 of uncompressed per-face, per-vertex tangents and binormals. On import, the= y=20 are discarded, along with the UV inputs. Mantis #269: Support for the Tangent per-vertex attribute. Compressed the= =20 per-face, per-vertex tangents and binormals to match the normals indices.= =20 Cleaned-up the 'idx' assignment code. |
From: Guillaume L. <gui...@gm...> - 2005-06-22 21:10:41
|
Hello everyone! Another Wednesday, another great plug-in release! This time, I dubbed it=20 1.3.1 (0.61), as we're way past the 1.3 conformance. I also updated the=20 conformance results:=20 http://colladamaya.sourceforge.net/conformance_1-3-1.xls with tests that=20 were considered post-1.3 and some custom tests. During the past week, support for custom units, through the <asset><unit>= =20 tags, the export/import of vertex color animations and visibility animation= s=20 and the export of static bounding box information were added. Many small issues were also fixed, such as the invalid <lookat>=20 information, the per-face material deferred call was removed and imported= =20 skin weights are now normalized on import. There's some useful new export options too: to filter the export of=20 unnecessary per-vertex data, to disable the export of the invisible nodes,= =20 such as the default cameras, and the bounding box information. You can get this release here:=20 http://prdownloads.sourceforge.net/colladamaya/ColladaPluginForMaya-0.61.zi= p?download We're always happy to hear from you! Guillaume Laforte Feeling Software Inc. 22/06/05 (Release 0.61 - Unofficial 1.3.1) (gla...@fe...) Mantis #305: Invalid <lookat> export for cameras. Corrected the algorithm= =20 for getting the camera information that did not correctly find the camera= =20 node from the transform node. Mantis #261: Export <boundingbox> information. Add export options for=20 generating bounding box information: it defaults to true. Add the export of= =20 <boundingbox>, <boundingbox><min> and <boundingbox><max> in the <scene> and= =20 <node> nodes, using the information calculated by Maya, as top elements,=20 before any rotation is applied. On import, don't load the bounding box=20 information, but removed the warning about an unrecognized Collada=20 structure. Exception when exporting large geometry with normals. When exporting withou= t=20 normals, there was no problem. The exception happens when sorting the=20 normals: the problem was with the dynamic-sized array class data reservatio= n=20 function which for some odd reason takes in shorts. Changed it to=20 reserve(uint). There is now a huge performance speed-up and the scene loads= =20 fine. Mantis #259: More Animation Types. Add <extra> node in the <node> nodes for= =20 the visibility setting that will be animated. Implemented the export of=20 visibility animations, which is a boolean value in the transform. Disable= =20 the export of animation [in/out]tangents and interpolation data for boolean= =20 animations. Implemented the import of the <node><extra> parameters and the= =20 visibility animations. 21/06/05 (gla...@fe...) Mantis #276: Add support for <asset><up_axis> and <asset><unit>. When=20 exporting, write the UI conversion value in the <unit> node. Use that=20 conversion value to export in the right length system. Mantis #276: Add support for <asset><up_axis> and <asset><unit>. Fixed=20 another problem, this time with the import of the animation tangents. Maya= =20 uses angles for the animation tangents, so I need to multiply the Collada= =20 tangents, which represent lengths, by the length conversion and the Maya=20 unit conversion factor, in order to get the correct angle. Mantis #304: Exception on files with multiple meshes in the same skin=20 cluster. The exception is thrown during the export of the weights. Correcte= d=20 the exception thrown: less than half of the original mesh's vertices made i= t=20 to the final mesh, so we are missing influences and mesh elements. The give= n=20 mesh's skincluster covers seven meshes that were one when the skin was=20 bounds, and split afterwards, which is not supported. Mantis #75: Variable Sampling Support. Change the way sampling is set in th= e=20 UI to parse multiple periods and sampling rates. Updated readme.htmldocumentation according to my earlier proposal. The sampling times are now gathered when starting the plugin, either according to the animation=20 playback start/end/rate or if provided, the variable sampling rate. The=20 sampling times are then used directly to sample the animations. Conformance Test: Investigated once more how to get rid of the=20 evalDeferred() call that fails in the conformance tests for per-face=20 materials. Found a decent way using MFnSet and by manually adding each face= =20 to the shading group. 20/06/05 (gla...@fe...) Mantis #61: Per-Vertex Color Animation. If a "polyColorPerVertex" node is= =20 available in the mesh' history, use that information to export the mesh=20 per-face, per-vertex colors. Export animation associated with that node's= =20 per-face, per-vertex color plugs. Refactored the per-vertex color input=20 function to be more flexible and handle loading multiple color sources,=20 within different <polygons> declarations. Implemented the import of vertex= =20 color using a "polyColorPerVertex" node, rather than straight on the mesh,= =20 as the mesh vertex colors don't support animations. Mantis #294: Import empty nodes as locators. Verified the export of Maya's= =20 locators as empty transforms. Nodes without sub-nodes or instancing now get= =20 a locator shape instanced for them. Mantis #276: Add support for <asset><up_axis> and <asset><unit> tags.=20 Implemented the import of the <asset><up_axis> node at the document level,= =20 where only Y and Z axis are supported, constrained by Maya. Implemented the= =20 import of the <asset><unit> node, as a global length conversion factor.=20 Apply this length conversion factor when loading transformations:=20 translation, lookat and matrix: all the translation columns of matrices.=20 Created a few test scenes. Apply the conversion factor when exporting=20 length-output animations, vertex positions and specific camera parameters. 17/06/05 (gla...@fe...) Mantis #290: Finish Support for re-used TexCoord sources. Kept only one lis= t=20 of face-vertex counts, instead of replicating this data all over the place.= =20 Having indexed texture coordinates implies using the independent sources as= =20 one or more Maya UV set. Start by assigning UV set indices to each data=20 source, re-using indices across the <polygons> information, if possible.=20 Merge the indexCounts and indices buffers to set the UVs on the mesh. Mantis #295: Invalid Common profile texture parameters. Moved the wrapU,=20 warpV, mirrorU and mirrorV parameters to the Maya profile. Mantis #61: Per-Vertex Color Animation: According to the sample data, verte= x=20 color is animated on an history node, rather than on the mesh itself. When= =20 exporting per-vertex colors, go through the history of the mesh node, to=20 check if there is a "polyColorPerVertex" node. Then check if this node has= =20 any animation curve or expression on its vertexColor plugs, to determine if= =20 there actually is an animation. 16/06/05 (gla...@fe...) Mantis #290: Add Support for re-used TexCoord sources. Refactored the way= =20 the <polygons> nodes are imported in the plug-in to be more flexible: split= =20 the createMesh function, that was a thousand lines, into a set of more=20 manageable functions. Moved the ownership of the DaeIndexedData objects to = a=20 lower level, so that they may be repeated as necessary. Actually handle the= =20 "idx" information from the <polygons><input> nodes and order them by the=20 given "idx". Drop indices in the <polygons><p> data that doesn't have an=20 "idx" associated with it. Re-implemented the import of the texture mapping= =20 coordinate to use the "idx" when creating and assigning Maya UV sets. Three new export options: exportNormals, exportVertexColors and=20 exportTexCoords. They default to true and disable the export of the=20 per-vertex data. I guess I badly need to profile the import! Mantis #298: 1.2 Sample: Skin looks like an Hourglass. The weights were not= =20 normalized during the import and well, the sample had bad weights.=20 Unluckily, Maya's normalization fails miserably. Implemented manual=20 normalization of the weights on import, before enforcing them onto the skin= =20 cluster. Mantis #290: Add Support for re-used TexCoord sources. Fixed the import of= =20 the bind-pose normals, which had been purposedly broken during the=20 refactoring above. |
From: Guillaume L. <gui...@gm...> - 2005-06-15 20:31:58
|
Hello everyone! We are introducing a new, very exciting, feature this week: file=20 referencing! The import and the export of the Collada scene graph now=20 supports external file references; just create a couple of references in=20 Maya to other Maya files, export that scene to Collada and you'll have=20 external references! There also some fixes related to shaders and normals as well as new support= =20 for driven key animations. You can grab the weekly development build on SourceForge: http://prdownloads.sourceforge.net/colladamaya/ColladaPluginForMaya-0.60.zi= p?download Cheers! Guillaume Laforte Feeling Software Inc. Recent Changes: --------------------------------------- 15/06/05 (Release 0.60) (gla...@fe...) - File References: The "Load All References" preference was interfering wit= h=20 the loading of references(Really!). When it is set, don't attempt to load= =20 references and give a descriptive error message. - Selective Export: Added "exportInvisibleNodes" export option. Default is= =20 off. Skips the export of any invisible dag node and their children. - Selective Export: Found and fixed the timing issue that was causing=20 "Export Selected..." to export nothing when references were included in the= =20 scene. - Mantis #287: 1.2 Sample: Cube, should have hard normals. When no normals= =20 is associated with a set of polygons or the normals source cannot be found,= =20 enforce faceted normals by setting the surrounding edges smoothing to false= . - Mantis #270: Add support for CONSTANT shader. Implemented the import of= =20 the constant shader, as a surfaceShader node, which accepts only diffuse=20 color as an input parameter. Implement the corresponding export. - Mantis #278: Program-less shaders. Fixed the import of program-less=20 materials. - Mantis #265: Wrong rotation order on import. The rotation order detection= =20 code did not run when plug names where available. I fixed it so that it run= s=20 whenever <rotation> nodes are encountered. I made it more flexible, so that= =20 the rotation order will be detected whatever the count of <rotation> nodes. 14/06/05 (gla...@fe...) - File References: After discussion with Chris Aguilar, I changed the way= =20 the differential transforms are instantiated so that multi-parenting is use= d=20 on the referenced root transforms. Link to the root's children, append the= =20 root transform to the differential transform. On export, buffer the=20 transformation and instancing nodes so that the transformations can be=20 modified by instantiating an external reference, since the root transform= =20 needs to be taken out. Skip invisible transforms. When synchronizing with= =20 the scene, record the dagpaths of all the parent transform of the first=20 child node of the root transform. Check all transforms for re-rooting of=20 file references. Clear unused transformation nodes in the Collada scene=20 graph. - File References: Add bypass for the projection and bump3d nodes when=20 looking for file textures during the export of shaders. Fixed meter ->=20 centimeter mixed up when loading references. - Mantis#286: Collada.xml hangs Maya. I had changed the id comparison metho= d=20 to be case-insensitive. That was causing the hang. Now, it is back to be=20 case-sensitive. The exception thrown happens because the normals are split= =20 across multiple sources. When importing the normals, find for each=20 <polygons> data, the normals input and use only that data with that input t= o=20 set the normals and the smoothing information. - File References: Added import/export of the projection 3d texture node,= =20 with it's 3d texture placement node and the bump 3d node. 13/06/05 (cla...@fe...) - Physics: Added name and rigid body id to actor wrapper class. Fixed crash= =20 that could occur when deleting a rigid body then undoing and deleting again= .=20 Connect solver to transforms per component, rather than per-vector, to be= =20 consistent with Maya's native rigid body dynamics and to minimize the risk= =20 of DG evaluation bugs related to multis of compound connections. Since=20 Novodex does not preserve the order of actors creation, use a temporary lis= t=20 of ActorWrapper, sorted in order of increasing rigid body id. - Physics: Deleting and adding more rigid body objects now work fairly=20 reliably, although scene destruction is not yet properly handled.=20 - Physics: Added initialPose() method to ActorWrapper. Added error checks t= o=20 colladaPhysics.mel. Added rigidWorldMatrix attribute to rigid body: this=20 will eventually give the ability to the user to interactively place the=20 rigid body, just like in Maya native. - Physics: Split the ActorWrapper initialization in two stages: creation an= d=20 setting the mesh. - Physics: Implemented pseudo-interactive initial position and orientation= =20 placement. Right now, it is driven through a connection from a proxy=20 transform; next, I'll try to implement it to replicate the native=20 interactive placement feature. Note: I #ifdefed-out the caching code... it= =20 didn't help simplify the code after all. (gla...@fe...) - Mantis #264: Driven Key Animation Support. Buffer the animations in=20 DaeSceneElement so that they can be exported at the very end, where all the= =20 node information is available for driven key support. Refactor the system i= n=20 DaeTransform that removes unnecessary nodes to remove/add them as needed by= =20 the animation system. Traverse the tree, once everything else is exported,= =20 and export the animations. When driven key animations are encountered, look= =20 for the connected plug amongst all the known plugs. - Mantis #264: Driven Key Animation Support. Changed the way the scene grap= h=20 is imported, as was done with the export code, to buffer the imported node= =20 and their animations inside a tree of DaeSceneElements. - Mantis #264: Driven Key Animation Support. Merged the animation buffering= =20 code so that both export and import use the same data structures. When a=20 "DRIVER" <input> is found with the input <source>, find the driver's url in= =20 the known plug references and attach the unitless animation curve to the=20 correct input plug. Fixed regressions found with my extended conformance=20 test. 12/06/05 (gla...@fe...) - File References: Added support for the file references on Maya 6.0.1. For= =20 this, I had to stay away from the cool MFileIO functions, as well as=20 MGlobal::executeCommandOnIdle and instead of the MEL commands. Also,=20 re-order the code to take into consideration that Maya 6.0.1 doesn't return= =20 the correct information when creating references. On Export, the algorithm= =20 was changed to gather the information from a new, temporary, reference, as= =20 the modification data is not available in Maya 6.0.1. (cla...@fe...) - Physics: Moved scene callbacks in a separate file. Added callbacks for=20 "node removed" events. Added code to release shapes and actors when the=20 corresponding Maya node is deleted. There are still some problems left with= =20 handling deletion: some mismatches occur between the Novodex actors and the= =20 Maya equivalents. 11/06/05 (gla...@fe...) - File References Import: The reference group transform does not work durin= g=20 import. Instead, use unique namespaces generated using the filename and an= =20 increasing index. Instead of re-parenting the root transforms to the Collad= a=20 transform, re-parent to the Collada transform's parent and apply to it the= =20 Collada transformations, in MEL so that the reference node registers the=20 changes. When only external instances are loaded in a Collada <node>, delet= e=20 the associated transform. - File References Import: For external references, full references are=20 instantiated. If the Collada reference requests a root transform, rather=20 than to the whole file, toggle the visibility of the other root transforms= =20 and save them in an "unused" list, within the file information. Check the= =20 "unused" when instantiating references to avoid replication. 10/06/05 (gla...@fe...) - File References Export: During the initialization of the reference=20 manager, for each reference: unload the reference, get a list of the=20 modifications, clear the modifications, reload the reference, grab the=20 original transformation and redo all the modifications. Handle the fact tha= t=20 the node names may have been changed. - File References Export: Export the differential matrix for referenced roo= t=20 transforms. Remove the filename prefix from the root dag path when creating= =20 the id. - File References Import: Added utility class and function to get URLs as= =20 filename/reference pair. Streamlined the way the scene graph nodes are=20 imported. When importing <instance> nodes, check for non-empty filename in= =20 URL that generate reference nodes. - File References Import: Create one reference node for each external=20 reference found. Get the list of the root transforms for the new reference= =20 node and make them children of the last transform read from the Collada=20 file. Create and load the reference originally in its own group, so that th= e=20 original naming is available. - File References Export: When synchronizing the reference manager with the= =20 scene, check for repeated filenames, as everything is prefixed using the=20 filename renaming occurs frequently. Implemented an algorithm who checks al= l=20 the references using the same filename for the nodes with the smallest=20 indices. 09/06/05 (gla...@fe...) - Mantis #263: Driven Key Animation Support: Large refactoring aimed at=20 buffering the animations and their plugs to support the export of driven ke= y=20 animations. Split away the scene visiting into its own set of classes that= =20 are recorded for later use. All animation export now goes throught them. - File References Export: Change the scene graph traversal algorithm to=20 check the traversed nodes for file referencing. When a transform or joint= =20 node belonging to an external reference is found, export it using a=20 different pipeline and do not traverse further. If any other node belonging= =20 to an external reference is found, don't export. Add support to export=20 differential matrices, rather than a full transformation in DaeTransform=20 class. Fixed memory overwrite on animation export. - File References Export: Added CReferenceManager class that synchronized= =20 with the Maya scene graph on export to gather the necessary referencing=20 information: filenames, dag paths of root transforms and original transform= s=20 for the root transforms. - File References Export: When exporting the referenced root transform,=20 calculate the differential matrix from the current and the original. Export= =20 that transform in the Collada scene graph node, then add an instance node= =20 where the url is "filename#root_transform_id". |
From: Guillaume L. <gui...@gm...> - 2005-06-09 02:56:44
|
Hello everyone, This is another mid-week release that includes interesting improvements! As= =20 promised, I hooked up a profiler to the plug-in and I was able to extract= =20 quite a bit of extra performance during the export. For the last two days,= =20 I've been working on completing the support of animation curves. I've added= =20 support for the import/export of weighted animation curves, the=20 pre/post-infinity parameters and the curve interpolation modes. Stay tuned= =20 for more features! You can get release 0.59 on sourceforge: http://prdownloads.sourceforge.net/colladamaya/ColladaPluginForMaya-0.59.zi= p?download Enjoy! Guillaume Laforte Feeling Software New Changes: 08/06/05 (gla...@fe...) Mantis #260: Animation Curves Support: Implemented the export of the weight= s=20 for a weighted animation curve node. Improved the documentation related to= =20 the animation curves. Implemented the import of weighted animation curves,= =20 if weights for both the "inTangents" and the "outTangents" are found. Mantis #260: Animation Curves Support: Corrected the accessor parameters fo= r=20 merged animation curves. Implemented a prototype of the export of driven=20 key, as per my proposal. 07/06/05 (gla...@fe...) Mantis #258: Improve Performance: Export 06-003-10. Large post, includes=20 optimizations in animations, some suggested by Jason Hoerner, string=20 manipulation and memory allocation. Mantis #260: Animation Curves Support: Matched the interpolation types as= =20 follow: linear -> linear, step -> none, all the rest -> bezier. Implemented= =20 the export of the interpolation data, when exporting animCurve nodes.=20 Implemented the import of the interpolation data. Fixed the issue with the= =20 import of splines. Mantis #260: Animation Curves Support: Grouped up the animation parameters= =20 on export. Implemented the import/export of the pre-infinity and=20 post-infinity parameters. They appear in the "INPUT" source, under a=20 maya-specific <technique> node. 04/06/05 (cla...@fe...) Physics: Now setting initial orientation. 03/06/05 (cla...@fe...) Physics: Moved the geometry creation code in NxRigidBodyNode. Physics: Conversion of polygon geometry is now working. Physics: Implemented update of rotation from physics engine. |
From: Guillaume L. <gui...@gm...> - 2005-06-02 15:09:55
|
Hi everyone! This is a Thursday release of the Weekly Development Build. It features=20 improved inter-operability, but more importantly: no more memory leaks! It= =20 also includes a few features requested by users: the export of the layer=20 information and two new export options. I will be off-grid until the middle= =20 of next week. Christian will be more than happy to answer any concerns or= =20 questions you may have! During that time, I will be looking at the=20 performance of the export plug-in, as there have been concerns expressed=20 that way. You can get the Weekly Development Build 0.58 on Source Forge:=20 http://sourceforge.net/project/showfiles.php?group_id=3D136478&package_id= =3D149942&release_id=3D331942 Enjoy and have a good weekend! Guillaume Laforte, Feeling Software 02/06/05 (Release 0.58) (gla...@fe...) Mantis #254: Export Options Requested. For the animation-bypass export=20 option, added the "exportAnimations" export options, defaults to true and= =20 simply returns early in the "exportAnimation" and "exportAnimationArray"=20 functions. Also added the "exportControllerTargets" export option, defaults= =20 to true. It exports controllers without a target first, if there is no=20 controller, then it exports the geometry. These will not import back into= =20 Maya. 01/06/05 (gla...@fe...) Mantis #244: Joint-type is not required for skinning. Pre-buffer the name o= f=20 the all the joints used by the controllers. When importing a new <node> nod= e=20 from the Collada file, check before creating a Maya transform node, whether= =20 it is in our pre-buffered list and should created as a Maya joint node=20 instead. Mantis #246: Moved the export of the "EMISSION" material parameter to=20 Phong-only. Mantis #247: XSI Cameras Renamed. The renaming was due to the fact that the= =20 exported name was always equal to the id, for nodes, cameras, meshes and a= =20 few others. Fixed this so that the exported name is equal to the exported= =20 node's name. Fixed small regression with the joint names getting squashed. Fixed Linux Compilation. Mantis #249: Importing twice the same scene containing lights causes errors= .=20 As expected, this was simply due to a missing qualifier, so that the first= =20 light was being attached twice to the light list. Added the full transform= =20 path name to the light's name. Mantis #250: No normals sharing/compression. Refactored the normals import= =20 code to use the polygon iterator, which has access to the edge information.= =20 When unindexing the normals to enforce them onto the mesh, record the index= =20 of the (edge, normal) pairs. For each vertex in each polygon, verify if the= =20 face is connected to an edge that already uses this normal. If this is the= =20 case, that edge must be smooth. (cla...@fe...) Mantis #131: Implemented double to MString function (dtos), for Windows and= =20 non-Windows OSes, to conform to the XML standard: INF, -INF, NaN. Only used= =20 for export. Import hasn't been implemented yet; it will be implemented once= =20 there's a clear need for it. Physics: Refactored the nxRigidBody command, to call the nxCreateRigidBody= =20 mel script internally. It's going to be easier to maintain and extend that= =20 way. Physics: Update the position of a rigid body according to the simulation.= =20 Set the simulation initial position. Made rigid body creation more robust= =20 and added error checking. Created ActorWrapper class to translate from Maya= =20 rigid bodies <-> Novodex actors. Physics: Implemented basic rewind functionality (according to the timeline)= .=20 Only updates position for now. 31/05/05 (gla...@fe...) Mantis #236: Export Layer Information. Added export of a second=20 <scene><extra> node, at the very end, to include the layer information as= =20 described in the Mantis issue. On import, find or create the layers dictate= d=20 by the <scene><extra> nodes and assign to the them given objects. 30/05/05 (gla...@fe...) Memory Leaks! We had two major leaking points: xmlGetProp(),=20 xmlNodeGetContent(). Patched up the use of xmlGetProp() and=20 xmlNodeGetContent() to custom functions avoiding the leak. Performance Improvement. Pre-buffer the target nodes, then process array=20 elements or target references instead of checking all the=20 <animation><channel> nodes for all the possible animations. Changed the way= =20 the blend shape weight animations are imported to use the pre-buffering. Mantis #196: Import twice of the skinned parented mesh is wrong. By=20 importing the test scene 10-15 times, I can usually get it to fail five or= =20 six times. I was able to pinpoint it to the part of the code that overwrite= s=20 the original mesh position with the controller's bind position. Replaced=20 that code. (cla...@fe...) Physics: Changed NxRigidBody command and node to be much more similar to=20 Maya's native node and command, to simplify eventual integration in UI and= =20 to maximize the probability that other Maya solver interact with it=20 properly. Added arguments (name, solver, initialPosition,=20 initialOrientation, active, passive) to rigid body command, along with some= =20 of the necessary logic to process these arguments.=20 28/05/05 (gla...@fe...) 1.2 Samples: Fix the controller naming when the name included invalid=20 characters. Removed left-over debug code for Mantis #196. Mantis #231: Materials get renamed on export. The shading set node's name= =20 was used to name the material on export, while the shader node itself was= =20 named from the material's name at import. This resulting in a "SG" string= =20 being appended at every export. The shader node's name is now used to name= =20 the material at export. Mantis #233: Empty and unused source exported. This is a <source> node for= =20 the texture coordinates. It has a count of zero and is not used as an input= =20 to the any of the following <polygons> nodes. Added check to not export a= =20 texture coordinate set when the count of S-coordinates or T-coordinates is= =20 zero. (cla...@fe...) Physics: Added scripts to connect rigid body/transform to solver. |
From: Christian L. <cla...@fe...> - 2005-05-30 13:43:40
|
Hello everyone, Happy Memorial Day to our friends from USA. :-) Recent ColladaMaya activity continues to focus on conformance and problem fixing, along with Physics support. Also note that Guillaume released version 0.57 on sourceforge last Friday. I will be attending the Maya API Developers Conference in Santa Barbara, next week. If some of you are attending, I'll be very happy to meet in person and get your feedback and ideas on how Collada and FeelingSoftware can better meet your needs. Regards, Christian As usual, the very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Recent changes: 30/05/05 (cla...@fe...) Physics: Changed NxRigidBody command and node to be much more similar to Maya's native node and command, to simplify eventual integration in UI and to maximize the probability that other Maya solver integrate with it properly. Added arguments (name, solver, initialPosition, initialOrientation, active, passive) to rigid body command, along with some of the necessary logic to process these arguments. 28/05/05 (gla...@fe...) 1.2 Samples: Fix the controller naming when the name included invalid characters. Removed left-over debug code for Mantis #196. Mantis #231: Materials get renamed on export. The shading set node's name was used to name the material on export, while the shader node itself was named from the material's name at import. This resulting in a "SG" string being appended at every export. The shader node's name is now used to name the material at export. Mantis #233: Empty and unused source exported. This is a <source> node for the texture coordinates. It has a count of zero and is not used as an input to the any of the following <polygons> nodes. Added check to not export a texture coordinate set when the count of S-coordinates or T-coordinates is zero. (cla...@fe...) Physics: Added scripts to connect rigid body/transform to solver. 27/05/05 (Release 0.57) (gla...@fe...) Mantis #241: Texture Parameters Export. Added export and import of all the parameters found on the Maya texture2dPlacement node. Cleaned up that code to use macros, since there is a lot of code repetition. Corrected Compilation Errors with target for Maya 5.0 Fixed small regression in the translation transform. Mantis #234: No default shader assigned. Changed the material loading code so that if the loading of the material fails or there is no material, the polygons get assigned the default Maya shader: "initialShadingGroup". Changed the polygon loading to force double-sided rendering unless told otherwise. (cla...@fe...) Physics: Made the NxRigidBody node derived from MPxSurfaceShape instead of MPxNode, so that it internally derives from MFnDagNode. Added scripts to create the rigid body... not complete yet. Physics: Renamed more files/nodes to use the Nx prefix consistently. 26/05/05 (gla...@fe...) Mantis #229: Fixed the ordering in which the translations were considered. If it had an unknown 'sid', the translation was completely discarded. Now, it will default to the typical translation. Mantis #239: Replaced almost all of the sprintf, strcpy, strcat, etc calls to use MString. There a few exceptions where we enforce a decimal length to the floating point values. Mantis #227: Names discarded on import. Assign on import to the geometry nodes and the camera nodes the name or if not present, the id of the Collada node. Similarly for controllers. Fixed regression with controllers instantiation. Mantis #230: Relative texture filenames don't import. On import/export, record the requested scene's file path. Mantis #235: If there is multi-texturing and there is no Maya-specific technique, set the imported blend mode to 'none' for the first texture and to 'multiply' for all the other textures of the layeredTexture node. (cla...@fe...) Physics: Made the novodexRigidSolver's translate/rotate attributes arrays, to drive the transform of more than one object at a time. Changed the compute() method and the novodexRigidSolver's command accordingly. Physics: Monitor timeline through novodexRigidSolver. Simulate according to delta time, only if the time has advanced. Mimic native solver's lastSceneTime, deltaTime and startTime attributes. Physics: Instantiate a bunny every time a new a new transform is bound the novodexRigidSolver, at its world position. Physics: Created NxRigidBody command. Split the logic previously all in NovodexRigidSolverCmd. Will use Nx prefix from now on for brevity. Physics: Create NxRigidBody node, with following attributes: initialPosition, initialOrientation, rigidBodyId. 25/05/05 (cla...@fe...) Physics: Added solution configurations for ColladaPhysics. This makes it possible to easily build only the non-physics projects. Physics: Added currentTime, translate and rotate attributes to rigid solver node. Physics: Created a novodexRigidSolver command, that handles the creation of a new rigid solver. Currently, it assumes that some object is selected and updates its translate/rotate using dummy animation driven by the timeline. Along the way, found what looks like a Maya API bug related to setting an output data handle for a compound attribute created using MFnNumericAttribute::createPoint(). I think that function is broken, I had to create the compound manually or it just wouldn't work. Physics: Added the novodexRigidSolverCmd.[cpp,h], which had been forgotten in previous commit. Physics: If a rigid solver already exists in the scene, re-use it. Otherwise create one when it's first needed. PART OF PREVIOUS RELEASE MESSAGE: (gla...@fe...) Mantis #228: Equinox3D controller doesn't import. The problem is with the instantiation. The controller is asked to be instantiated in the source files, but Maya expects the original geometry to be instantiated. Read up on the specifications to see how this should work, which is very different from the current implementation: page 36 of final 1.3.0 specifications. Fixed import to accept controller instances. Mantis #228: Fixed the export to write the controller id instead of the geometry id in the <instance> nodes, when appropriate. |
From: Guillaume L. <gui...@gm...> - 2005-05-25 22:06:02
|
Hello everyone! I finished fixing the conformance tests marked 1.3 early this week and I=20 took the time afterwards to add support for the blend shapes and=20 multi-texturing blending modes. Both are explained in the readme.htmldocumentation, which has been organized a bit. I've now started working today on inter-compatibility by correcting the issues importing the Collada= =20 1.2 sample files, exported from Equinox3D. Christian has been busy with the physics code. He has started integrating= =20 the Novodex engine in Maya, so that if you use the optional physics plugin,= =20 you'll need to grab the Novodex SDK: "To download the SDK, fill up the=20 registration form at http://www.ageia.com/novodex_register.html. In order t= o=20 use that plug-in, you'll need NxPhysics.dll and NxFoundation.dll in your=20 path". You should check the changelist below for more information on this. As before, you can get the today's build from:=20 http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Enjoy! Guillaume 25/05/05 (gla...@fe...) Mantis #228: Equinox3D controller doesn't import. The problem is with the= =20 instantiation. The controller is asked to be instantiated in the source=20 files, but Maya expects the original geometry to be instantiated. Read up o= n=20 the specifications to see how this should work, which is very different fro= m=20 the current implementation: page 36 of final 1.3.0 specifications. Fixed=20 import to accept controller instances. Mantis #228: Fixed the export to write the controller id instead of the=20 geometry id in the <instance> nodes, when appropriate. 24/05/05 (gla...@fe...) Mantis #57: Blend Shape Support. From the information gathered in the=20 Collada file, build the blend shape on import. Because the order of=20 instantiation is not guaranteed, create all the necessary nodes when import= =20 the mesh, but wait until the end to connect the deformed mesh and the targe= t=20 meshes. Added the import of the blend shape weight animation. Mantis #71: Multi-Texturing Blend Modes. Reverse the order of the texture= =20 inputs in the <material> node. Implemented the export/import of the blend= =20 mode in a <technique profile=3D"MAYA"> node, for all the <texture> nodes.= =20 Refactored the texture library class for readability. 23/05/05 (cla...@fe...) Physics: The gravity acceleration is 980cm/s2, not 98. Physics: Added paragraph in readme, about the pre-release Physics=20 documentation. Physics: Create PhysicsDebugLocator node. This node will allow=20 enabling/disabling the physics debug rendering code, to visualize physics= =20 parameters. Physics: Started prototype integration of Novodex Physics Engine into=20 ColladaPhysics. This means that from now on, in order to build that optiona= l=20 plug-in, you'll need Novodex 2.1.2 SDK installed on your machine. To=20 download the SDK, fill up the registration form at=20 http://www.ageia.com/novodex_register.html. In order to use that plug-in,= =20 you'll need NxPhysics.dll and NxFoundation.dll in your path (e.g.=20 C:\Windows\system32). To try out the prototype, run "createNode=20 physicsDebugLocator;". (gla...@fe...) Mantis #57: Blend Shape Support. Ensure that weights are always zero before= =20 exporting blend shape original mesh. Export the weight animation. Mantis #57: Blend Shape Support. Fixed issue with <instance> nodes being=20 added wrongly at export in the geometry library. 22/05/05 (gla...@fe...) Conformance Test 05-000-00: Multiple UV sets and Layered Texture. There mus= t=20 be a connection missing when using multiple UV sets on layered textures. Th= e=20 different textures are correctly assigned the UV sets, but the rendering in= =20 render view and in interactive view are both invalid. By noting down the=20 list of all the connected attributes between the uvChooser, the=20 2dPlacementNode and the layeredTexture nodes in the original file and=20 reproducing them manually on the re-imported file, you get a correct=20 rendering. Fixed the import code to link all these attributes. Mantis #57: Blend Shape Support. Implemented export of blend shapes names= =20 are weight, according to partner forum proposal. 20/05/05 (Release 0.56 - 0.56 B2) (gla...@fe...) Conformance Tests 09-001-00, 09-001-02. Camera aspect ratio doesn't not=20 belong to the 1.3.0 specifications. Added export of a Maya technique for th= e=20 cameras with relevant information: horizontal/vertical aperture, converted= =20 into centimeters, and lens squeeze. Conformance Test 06-023-00: Animated Instancing. Last conformance test to= =20 pass! When exporting the <node> for the controllers, check to see if this i= s=20 the original instance for the controller, if it isn't, add a <matrix>=20 transform for the difference between the original instance's transformation= =20 matrix and this instance's transformation matrix. (cla...@fe...) Physics: Use uppercase TRUE/FALSE keywords instead of lowercase, to be=20 consistent with the spec. Added a mel command "colladaPhysics.mel" to ensur= e=20 that the file is always loaded in memory before the ColladaPhysics plug-in= =20 refer to it. |
From: Christian L. <cla...@fe...> - 2005-05-20 00:14:10
|
Hello everyone, We're pleased to announce that Guillaume is nearly done fixing all of the known Collada 1.3 conformance problems. On my side, I have finished coding the export of physics shapes (e.g. capsules, ellipsoids, etc.) Expect some documentation on the suggested workflow within a day or two. The Collada Physics spec is still in development, but we're following it closely and I'm confident we'll be the first to support it completely. :-) Enjoy! ;-) Christian The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Latest changes: 19/05/05 (gla...@fe...) Plugin Performance. When checking for animations on a plug, withdraw early when the plug in not connections. When checking an array of plugs for animations, look at the real plug count and use their logical index directly, in order to avoid unconnected and unused plugs. Mantis #23: Transforms exported in wrong order. Tested Maya's Collada sphere with XSI, which emphasizes the transform ordering issue. Refactored the way the plugin handles the transformations to single out that process. Reordered the export of the transforms to follow the Maya documentation: scale, rotate, then translate. Verified with XSI if we now get the same results. There is a small issue left with scale/rotation, but from doing pure math, it seems to be on XSI's side. Baked Transform Animations. Fixed animations that were not exporting when using baked transforms. Miscellaneous Fixes. Add back the .ANGLE target on rotation animations. Fixed regressions related to texturing and normals. Note that this will mean that for animated vertex positions, the normals will not be animated. (cla...@fe...) Physics: Refactored the standIn code to use ShapeType enum. A bunch of other minor factoring to prepare for export of physicsShape nodes. Physics: Implemented initial export code for physicsShape nodes. If a physicsShape node is found in a given rigid body, then only the physicsShapes are exported. Otherwise, regular shapes are exported. The support for physics shapes is not intuitive yet... expect more mel UI scripts to address this issue soon. 18/05/05 (cla...@fe...) Physics: Added useMassOrDensity, mass and density attributes to physics shapes. (gla...@fe...) Mantis #129: Custom parameters in common profile. Removed the export/import of the "REFRACTIVEINDEX" custom parameter. Removed unexposed export option to convert double-sided faces to two faces. Moved the "DOUBLE_SIDED" custom parameter to a "MAYA" profile as a second technique in the <source> node for the normals. Animation Start Time. Added import/export of animation start/end time in the <scene> node using an extra with the Maya-specific profile. Differentiate between "import" and "open" so that "import" doesn't affect the animation start/end time, while "open" enforces its own animation start/end time. Small refactor of the export/import options so that they parse themselves. Fixed Maya 5 compilation. Maya 5 doesn't support the MAnimControl::animationStartTime and such functions. Use the MEL command instead. |
From: Christian L. <cla...@fe...> - 2005-05-18 15:24:39
|
Hello everyone, I hope everyone what attended E3 enjoyed it. On our side, Guillaume implemented some more conformance test fixes, while I added a new UI for physics shapes manipulation. More details below. Regards, Christian The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Latest changes: 18/05/05 (cla...@fe...) Physics: Created a physics shape UI and a bunch of scripts, to facilitate the creation, placement and visualization of physics shapes. The mel script that displays the UI is called physicsShowShapesWindow(). More details to eventually be documented in the readme. Note that physics shapes are not yet exported. Physics: Fixed a run-time warning, due to adding the shapeType attribute twice (the first time implicitly as part of enumAttr.create()). 17/05/05 (gla...@fe...) Conformance Test 06-006-00: Camera Animation. Adding support for custom formulas when exporting and importing plug values. This is needed for the export of the horizontal field of view, which is the result of a formula including two possibly animated plug values. Implemented the export/import of the camera parameters animation: YFOV, ZNEAR, ZFAR, LEFT, RIGHT. Using plugs directly on the dependency graph, force the creation of the animation curve for non-keyable attributes. Resolved a small regression during translation animation sampling. Conformance Test 06-005-00: Light Animation. Added export/import of animations of the following light parameters: color, angle, falloff_scale. Penumbra and intensity are not within the 1.3.0 specifications. Conformance Test 06-017-00: Per-Vertex Position Animation. I assume that the targets for per-vertex animations can be indexed as each element in the vertex list in mesh of the geometry library using the matrix notation. Implemented export and import of the vertex position animations, by refactoring the animation library class to allow for the export/import of plug arrays, with a given count. Unlock the vertex normals by default so that the animation looks correct. Verified with the conformance tests for possible regressions. |
From: Christian L. <cla...@fe...> - 2005-05-17 01:16:02
|
Hello everyone, Guillaume implemented basic light baking support (through a color-per-vertex set, please read the release notes for more info) and is working on making all of the channels animatable (e.g. camera parameters). On my side, I have completed the physics shape and its manip and am getting ready to integrate them within rigid bodies and their associated shapes. The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Regards, Christian Laforte www.feelingsoftware.com Latest changes: 16/05/05 (cla...@fe...) Physics: Draw capsule and cylinder correctly taking end-points in consideration. Updated the manip's radius center point for the new capsule. Radius direction is not updated yet. Physics: Radius direction, type manip and label positions are now properly computed in local space. Still need to do the world space transform correctly. Physics: Fixed the world-space position/orientation of all the remaining children manips (capsule end points, radius and center point). Physics: Fixed bounding box computation. Still, Maya apparently expands it, and doesn't use GL selection to select an object... so the bound is a bit too big. It's not clear how to fix this completely; MPxLocatorNode has a special draw mode for this purpose, but MPxSurfaceShape doesn't use the same technique. (gla...@fe...) Animation Import/Export Support. Refactored animation export to allow for greater flexibility when exporting plugs of different target types. Refactored the array internal class to have more, needed, functionalities. Refactored animation import to allow for greater flexibility with different targets. Tested with material animations test cases and animation conformance tests. (cla...@fe...) Physics: Fixed the box physicsShape display code. Strangely, I had to invert the normals for the lighting to display correctly. 15/05/05 (gla...@fe...) Mantis #59: Baked Lighting Export Option. Added UI option to bake in the lighting when exporting meshes to Collada. If this option is set, during the export of every vertex color, list all the lights affecting the currently exporting mesh. For each light, multiply the vertex color with a calculated lighting color. Maya does not provide an API function call to automatically calculate or bake the lighting information.List all the linked lights using the "lightlink" MEL command, rather than the MLightLinks class. Mantis #59: Baked Lighting Export Option. After discussion with Christian, using "convertLightmap" function to calculate light color factor. |
From: Christian L. <cla...@fe...> - 2005-05-14 15:23:25
|
Hello everyone, For the past few days Guillaume continued tackling missing features and problems that are still preventing full conformance to the Collada spec. I continued implementing the physics shape manipulator. Guillaume posted this week's official development release (v0.55) on sourceforge: http://sourceforge.net/project/shownotes.php?group_id=136478&release_id=3271 49 The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Wishing fun to our subscribers who are attending E3. ;-) Christian Laforte www.feelingsoftware.com Latest changes: 13/05/05 (cla...@fe...) Physics: Continued implementing the physics shape and its manipulator. The manipulator now allows interactive manipulation of all of the shapes parameters (radius, scale, point1 and point2). There are still some details missing: the display of the capsule/cylinder doesn't take the endpoints in consideration; the manip resets the endpoints to zero when starting up. Physics: Ignore the manipToPlug callbacks that precede plugToManip callbacks. This is a work-around for two Maya bugs described at http://www.highend3d.com/maya/devarchive/sp.3d?mail_id=7146 13/05/05 (Release 0.55) (gla...@fe...) Triangles Export Option: Added UI options to force polygons to be exported as triangles. Refactored the UI options MEL script to use the simple, non-grouped UI elements. Added export of the triangulation, instead of N-faced polygons, when requested. Fixed import issue, where "triangles" node was discarded. Verified that this works with holed polygons. 12/05/05 (cla...@fe...) Physics: Fixed some draw problems with the physicsShape node. The sample code I cut-and-pasted from had bugs in the draw() handling, that caused the Maya internal gl cache to be corrupted. Calls such as material.applyTexture() should be done prior to calls to beginGL(). Also, added a push/pop attrib until the code has been fully debugged. Physics: Added more attributes to the physicsShape node (rotate, translate and scale). Not all attributes will be enabled for a given shape type. Also simplified the code that creates the other attributes. Physics: Actually, after thinking about it, there's no point in having rotate and translate on the physicShape, since all shapes can be freely translated and rotated within the parent transform (which is mandatory). Scale is still desirable though, because it's simpler to lock the parent transform's scale, and because scale only applies to certain shapes (ellipsoid and cube). Physics: Removed translate and rotate. Added ellipsoid draw code. Use the scale to drive the size of the box and ellipsoid. Physics: Created a manip for the physicsShape. Doesn't do anything useful yet. Also created a PluginMain.cpp file to handle registering/deregistering all the physics nodes. (gla...@fe...) Variable Sampling Rate Export: Force keyed animations to sample on export, when sampling is requested. Changed the method to detect animations to a brute force check. This will impair performance and will need to be improved later. Since angular values are changed from radians to angle, before sampling plug values, verify if this is an angular plug. Checked with joint clustered, skin clustered and expression animations for validity. Conformance Test 06-011-00, Material Animation: Added import of material color attribute animation. This only works with sampling enabled on export right now and the three colors components are exported independently. Fixed it up so that it export when sampling is disabled. Added export/import of all material attributes, except "Transparency", since it isn't handled directly by Maya. (cla...@fe...) Physics: The manip now displays and allows interactive manipulation of radius and shape type. 11/05/05 (gla...@fe...) Mantis #51: Multi-texturing support. Added export of the specular texture of the shader. On re-import, added linking of the specular file texture node to the phong shader. There's a node missing, "bump2D", between the bump file texture and the phong shader, so I added it too along with the missing plug attribute: "alphaIsLuminance", that needed to be set to "1". Mantis #51: Layered textures support. From the specifications, I believe Collada defines Maya's "layeredTexture" nodes as a <shader><technique><pass> node with multiple images <input> nodes that go to the same Maya shader input. Added support for layered textures export by iterating in the hypergraph through the layeredTexture's "inputs" nodes. Added import of multiple images <input> nodes in the Collada <shader><technique><pass> nodes as a "layeredTexture" node with modulated "fileTexture" nodes in Maya. Mantis #77: Reflectivity lost on export/re-import. Added to the export/import of the Phong shader the "Reflectivity" scale factor from Maya. Had to use the plug directly: setReflectivity() doesn't work. Variable Sampling Rate Export: Added UI export options to enable variable sampling rate export, to hold the sampling rate, sampling start and sampling end. (cla...@fe...) Physics: Added physicsShape node. This node will be used to visualize, position, orient and set dimension parameters of the physics standIn types (e.g. capsules). Physics: Set reserved node ID to RigidSolverNode. Physics: Added capsule draw style to physicsShape. Physics: Added cube draw style to physicsShape. Wireframe works, but some bug is preventing the shaded mode from working properly. I'll revisit the problem later. |
From: Christian L. <cla...@fe...> - 2005-05-10 22:18:46
|
Hello everyone, More bug fixes, more physics support. :-) The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Latest changes: 10/05/05 (cla...@fe...) Physics: Change default value of rot_limit_min, rot_limit_max to (0, 0, 0). Physics: Added a new plug-in project especially for physics. Long term, I plan to make this plug-in an advanced rigid solver based on Ageia technology, and supporting all Collada physics functions. Short term, this plug-in will only do the following: monitor all nodes that are created/imported/loaded, and automatically add dynamic attributes on rigid bodies and their associated shapes. Physics: Use deferred evaluations when adding dynamics attributes to the rigid bodies. Otherwise, for some strange reason Maya complains when adding the inertiaTensor compound attributes. 09/05/05 (Release 0.53 B2 on 1.3.0 branch) (gla...@fe...) In Progress - Conformance Test 06-003-03. One problem left with this conformance test is that the head mesh is a child of the body mesh transform. Corrected the export of parented mesh vertex inputs. Bind the skin cluster on import only to the selected bones, rather than to the whole skeleton. Unbind the automatically bound child transform nodes when importing a controlled parented mesh. Fixed - Mantis #68: Colored Lights shouldn't have Intensity parameter in the Common profile. Baked the intensity directly in the color. Verified linearity of Maya intensity parameter using different test cases. Mantis #68: Fixed intensity > 1.0f issue found with conformance tests. Note that since it isn't supported by the common profile, any intensity > 1.0f is dropped and results in lower lighting. Lights conformance tests: Added export and import of "Attenuation", "Attenuation_Scale", "Falloff", "Falloff_Scale", "Angle" parameters from the 1.3.0 specifications on export of point and spot light types. Note that penumbra and intensity are now dropped and will be added to a new profile shortly. Mantis #68: After discussion with Christian, we are not baking the intensity into color until a new Maya light profile is added with the extra information. (cla...@fe...) Physics: Improved the scripts that add physics extension attributes. In particular, created a script (colladaPhysicsSceneAddAttr) that automatically scans the scene and upgrades all applicable rigid body and shape objects. Regards, Christian |
From: Christian L. <cla...@fe...> - 2005-05-09 17:55:35
|
Hello everyone, Good progress since last week. Guillaume implemented two new features: polygon holes import/export, and the export of jointClusters controllers. On the physics side, I implemented the export of rigid constraints and point cloud export suitable for convex hull generation. More details below. One more note: on sourceforge, there are now two sets of releases: 1.3.0 and weekly development builds. Regards, Christian The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Recent changes: 09/05/05 (cla...@fe...) Physics: Added basic rigid constraints, including attachment. Physics: Added rotation and (currently unused) translation min and max limits. Physics: Added constraint name and id. Added flags to constraints: interpenetrate (defaults to false) and enabled (defaults to true). Physics: Added spring attributes, e.g.: <spring><stiffness>5.0</stiffness><damping>0.5</damping><rest_length>0.2</re st_length></spring> (gla...@fe...) In Progress - Mantis #48: Skinned characters export/import problems, Conformance Test 06-003-03. Export of jointClusters controllers. They will be re-imported as skinClusters. On Export, collect the influences and the weights independently. Fixed some issues with the ordering of joints on import that would also happen on skinClusters. 06/05/05 (Release 0.54) (cla...@fe...) Physics: Added point cloud for rigid body's convex mesh. (gla...@fe...) Added exception handling at the import/export entry points of the plugin. Fixed Mantis#180: Polygon holes import/export. |
From: Christian L. <cla...@fe...> - 2005-05-06 00:04:21
|
Hello again, Some more fixes today: - Added UI option to export a camera with look-at. Defaults to true for now. Setting this to false will force the export to use regular Maya transforms, thereby allowing animated cameras. See readme (section "Export camera as look-at") for more details. - Physics: <inertia> is a 3x3 matrix expressed as float9. Changed the scripts and the exporting code to reflect that. Reported by Stan Melax. - Physics: Fixed bug in <geometry url="blabla">, where the url was referring to the incomplete the dg name instead of the partialPathName. Reported by Stan Melax. - Physics: Use float friction coefficients, instead of float3. http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Regards, Christian |
From: Christian L. <cla...@fe...> - 2005-05-05 18:16:18
|
Hello everyone, Releasing early today, since there's been many interesting changes this morning (skinned normals import fix, many physics changes and a fix for compile errors on Maya versions < 6.0.1). http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Changes: (cla...@fe...) Physics: implemented controller part of the physics spec. The scene is still not affected though. Refactored the way the physics environment node is created and cached. Physics: as suggested by Stan, changed physics stand-in enum and scripts to use "box" instead of "cube". Physics: rigid body override of stand-in now behaves as if the rigid body had one shape. One consequence of this, is that the mass is also automatically overriden in that case. Fixed a compilation problem on pre-6.0.1 versions of Maya: dgFn.findPlug(attribute, /* true, */ &status, the second argument was added in 6.0.1 and only impacts performance, so I've removed it as Guillaume suggested. (gla...@fe...) In Progress - Mantis #93: Refactor the geometry library to record the indexation data necessary for Maya to import the bind pose normals. Maya now uses the bind pose normals on character re-import. Maya now exports the normals in bind pose space. There is a small issue with the normals not animating correctly left to fix. (cla...@fe...) Physics: in rigid body definition, use inlined geometry instead of external geometry url. Regards, Christian |
From: Christian L. <cla...@fe...> - 2005-05-04 21:20:14
|
Hello, Guillaume has implemented a first version of the skew/shear import/export, and I've finished implementing the rigid body compound shape transforms and bounding volumes. The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Detailed changes: 04/05/05 (gla...@fe...) Shear/skew export/import. In Progress - Mantis #23. Without baked matrices and since the shear part of the transform isn't exported, the child transformed meshes are incorrect. Added direct export and import of the Maya shear plug values. Found a simple way to do shear to skew by converting the three factors independently. Skew to shear is more complex and involves taking out of the skew matrix the rotation and scale factors until only the shear factors are left. (cla...@fe...) Physics: implemented per-shape transforms. Don't output unnecessary identity transforms (e.g. translate of 0,0,0; rotate of 0 degrees). Fixed batch files, so that the mel scripts are copied in the right directory (scripts/others) rather than scripts/unsupported. Physics: fixed bounding volume (sphere, cube) dimension computation. Initially these were computed in world space... now, they are properly computed in rigid-body space. 03/05/05 (cla...@fe...) Physics support: Added code to support new dynamic attributes, on both rigid body and compound shape level. Using these attributes, it is now possible to assign mass or density to compound shape elements. Likewise, it also makes possible overriding the mass or density at the rigid body level, and overriding the inertia tensor. Also added new standIn types (e.g. convex hull, capsule, etc.) that can be specified at both the rigid body and shape level. Some features are still missing: transform per shape, automatic computation of bounding boxes at the rigid body level, etc. Regards, Christian and Guillaume www.feelingsoftware.com |
From: Christian L. <cla...@fe...> - 2005-05-03 20:35:47
|
Hello everyone, Guillaume has mainly completed the export/import of multiple texcoords. (There is one minor pending issue that only affects batch imports.) I am working on the rigid body specification, especially in regard to new functionality that is not natively supported by Maya. Full details below. Please note: Guillaume has created a branch for the 1.3.0 build yesterday. This will be the official 1.3.0 release, and Guillaume and I will do our active development in 1.3.x. Finally, there's a new mailing list to track CVS commits. Feel free to register if you want: http://sourceforge.net/mail/?group_id=136478 Regards, Christian The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip 03/05/05 (gla...@fe...) Integrated Changes from Cedruic Perthuis for Color and Transparency animations. (cla...@fe...) Physics support: Added code to support new dynamic attributes, on both rigid body and compound shape level. Using these attributes, it is now possible to assign mass or density to compound shape elements. Likewise, it also makes possible overriding the mass or density at the rigid body level, and overriding the inertia tensor. Also added new standIn types (e.g. convex hull, capsule, etc.) that can be specified at both the rigid body and shape level. Some features are still missing: transform per shape, automatic computation of bounding boxes at the rigid body level, etc. 02/05/05 (cla...@fe...) Added new scripts for physics, to add/delete dynamic attributes on shapes and rigid bodies. To use, select a shape or a rigid body, and call colladaPhysicsAddAttr or colladaPhysicsDeleteAttr. Fixed a minor problem reported by Mikael Lagre: the <modified> date didn't have padding for the hour, so it didn't respect the xs:date format. (gla...@fe...) In Progress - Mantis #51: Multi-texturing support. When creating new UV sets other than the first one, create and associate with the mesh a "uvChooser" Maya node. Traverse the plugs attribute graph to get the correct UV set on the mesh dependency node side and a create a new plug on the "uvChooser" side. Record the texture inputs encountered for the materials and their order so that they can be matched with the uvSets input in the mesh. Match the texture input from the material with the wanted UV set. Link the "uvChooser" Maya node to the previously created "place2dTexture" Maya node of the correct file texture Maya node. In Progress - Mantis #51: Multi-texturing support. Created more complex test cases to test under more realistic environment, with more UV sets and more set reuse. Found an issue related to the reuse of file textures with multiple shaders. File textures are not shared anymore between shaders. Found and fixed an issue related to multiple UV sets from two different meshes pointing to the same shader. "uvChooser" Maya nodes are now shared between meshes. 01/05/05 (gla...@fe...) Fixed - Mantis #72: "Per Polygon materials lost on Export Re-import". This problem was due to an incorrect call to the assignUVs call in the mesh import section of plugin. Maya did not have enough information to attach the texture coordinates information with the specific faces. I've padded the texture coordinates information with zeroes in order for Maya to link the UVs with their respective faces. Pre-requisite for Mantis#51: "Multitexturing is impossible with the current exporter". In Progress - Mantis #51: "Multitexturing is impossible with the current exporter". Fixed export of multiple UV sets. The default UV set was always assigned for all the textures at export. Fixed creation of multiple UV sets during import. The export now adds to the texture coordinates <source> node the "name" property that is used in the import to create the new UV sets. Started investigation of linking UV sets with shaders during import. One "uvChooser" maya node will need to be created to link each UV set to the "place2dTexture" maya node of the shading graphs. Without the "uvChooser" maya nodes, the default UV set is always used. |
From: Christian L. <cla...@fe...> - 2005-05-02 00:41:35
|
Hello everyone, Two categories of changes. Guillaume has fixed several import issues with cameras and lights, that were preventing the conformance tests from producing similar results before and after export/import. I added an option to filter the export of polygon meshes, lights, cameras and joints/skin. We are getting ready for an official release early next week. Guillaume will prepare a 1.3.0 branch on Monday, and the plan is to only commit high-priority bug fixes in that branch, to reduce the risk of regression to a minimum and to allow teams who want to standardize on 1.3.0 to do so. Development will continue as usual in the mainline. The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip 01/05/05 (gla...@fe...) Added new debugging information functions to display custom strings, integer arrays and two simple strings. 29/04/05 (gla...@fe...) Fixed the lighting issue when re-importing lights. The imported lights were not properly linked in the default light set. This was causing a majority of the conformance tests to look different before and after export/import. Fixed the fov issue when re-importing cameras. The re-imported cameras did not have the right default value for film fit. This was causing a discrepancy in the majority of the conformance tests. Orthogonal cameras are now re-imported as orthogonal cameras and the top/left/bottom/right attributes are now considered. They were interpreted as perspective cameras on import and the top/left/bottom/right attributes were discarded. 29/04/05 (Release 0.52) (cla...@fe...) Added options to filter the export: exportPolygonMeshes, exportLights, exportCameras, exportJointsAndSkin. These options are enabled by default. Disabling these options can be useful, for example, when testing only the physics export. Regards, Christian |
From: Christian L. <cla...@fe...> - 2005-04-29 02:57:16
|
The plug-in now has an option UI screen, finally! ;-). I would appreciate feedback, to make sure it works well on everyone's machine before doing an official release. Installation is now done through a batch file (to copy the plug-in binary and the necessary UI script). I've added lots more documentation about the installation and compilation process, how to enable the plug-in, etc. The experimental physics support is improving but has been disabled for the time being to avoid breaking conformance. The very latest version is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Detailed changes: - Added instructions to the readme.html: installation, compilation and how to enable the plug-in. - Physics: Fixed urls which were missing '#' as first character. Moved rigid body transform outside of shape and right into the rigid body. Same for initial rigid body conditions. (NOTE: many of these attributes belong in the scene... they will be moved in the next few days.) - Added option UI script, to expose the different options to regular users. The script needs to be placed in the Maya/scripts/others folder. Created batch files for each version to copy the script and the .mll file in the right folder. Renamed the exportStronglyTypedArrays into exportWeaklyTypedArrays, so that the option is disabled by default. Updated the release notes with new installation instructions (run the batch file), rewrote the options section. - Added option to enable experimental physics export. Disabled by default. Regards, Christian |
From: Christian L. <cla...@fe...> - 2005-04-28 16:51:06
|
Lots of changes since last week, nearly all of them due to prototype support for Physics export. The very latest version, including the following changes, is available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Changes: 25/04/05 Two fixes from Jason Hoerner: don't increment idx when reusing existing texcoord arrays; and make sure an animation curve's tangents are always zero before assuming that the animation curve is constant. In progress: added physics library, which is currently unused. Over the next few weeks, code to export dynamics will be developed. We recommend that people ignore the physics-specific features for the first few weeks, since the Physics Working Group is still actively working on the spec. Refactoring: removed code that referred to a flag that was never used. (Ironically, the flag was called "createUnusedElements"). 26/04/05 - Replaced BAD_CAST type casts by XML_STR (which was already defined and in use in half of the code): it's less ugly. - Continued working on prototype physics support. Export rigid body structure (incomplete), mass and dynamic flag. Export physics_material, including static and dynamic friction and elasticity. Added code to export physics geometry shapes, not complete yet. Added code to find the mesh associated with a rigid body: doesn't work yet. - Refactored CDagHelper::getPlugConnectedTo() to output diagnostic messages when unexpected conditions occur. - From now on, use float3 RGB colors instead of float4 RGBA. This is to conform to the latest version of the spec. Mantis bug#135. 27/04/05 - Renamed CDagHelper::getPlugConnectedTo() into getPlugArrayConnectedTo(). Retrieves a plug connected to the first array element. - Physics: Fixed code to retrieve the mesh shape from a given rigid body. Continued creating shape node elements: box, sphere, size, radius. Export box dimensions, sphere radius, both in local space. Create a physics_environment node in the controller library. Fill it up with gravity and timestep inputs, retrieved from the first available gravity field and rigid solver respectively. Export rigid body transform (world space translate and rotate) and initial conditions (initial velocity and angular velocity). 28/04/05 - Fixed compile error, due to using new functionality that was introduced in Maya 6.5. Wrote a code path for older versions of Maya. Tested with 6.0.1 only. (sorry, I don't have the time to test older versions) On a related note, I am starting to share the plug-in responsibilities with my brother Guillaume. Guillaume is an excellent fit: he has game development experience (at EA and Ubisoft, most recently as a team lead on Farcry:instincts) and like me, is a former Alias developer. He will focus on some high priority bugs such as multiple texcoords import/export. BTW, starting last week, every Friday I post the most recent build to sourceforge. Priorities: - Christian: continue working on Physics support. - Christian and Guillaume: fix bugs from Mantis database. Regards, Christian |
From: Guillaume L. <gui...@gm...> - 2005-04-23 01:31:14
|
--=20 Guillaume Laforte, ing. jr. |
From: Christian L. <cla...@fe...> - 2005-04-22 17:29:12
|
A new version of the plug-in is available. Changes: - Merged code from Jason Hoerner, to export the tangents. Thanks Jason! :-) I ended up rewriting some of it to make it more robust, such as warning the user if unsupported non-default weights are exported, and to make sure that radians are used for calculations. Added tangent import code, which isn't particularly useful yet because interpolation per segment is not yet described in enough detail in the spec for me to implement it... so for now, always defaulting to Maya's "clamped" interpolation type. Asked Gabor and Marcus for more info to make sure this eventually conforms to the spec. - Improved the code that converts Maya names into Collada names, to eliminate illegal characters. (should address Mantis bug#130) - No longer export "idx" attribute for vertices input, since this didn't conform to the spec. (should address Mantis bug#18) - Changed code in preparation for switching from float4 RGBA colors to float3 RGB colors. The code is currently controlled by an #ifdef, and it is currently set to keep using the old float4 RGBA colors until the spec is updated. (will address mantis bug#135) The latest source code and Windows binaries are available from: http://www.feelingsoftware.com/colladamaya/LatestColladaPluginForMaya.zip Additionally, I will post on sourceforge the latest version, today. I'll try to do this once a week from now on. Regards, Christian Priorities: - I'll look at the remaining mantis bugs and conformance tests. Lots of minor bugs and missing features there. I'll do a first traversal of the bugs and try to eliminate the simple or critical ones. - Many developers requested support of multiple uv sets import/export. I'll check that out soon. - Involved with the Physics WG. Standard notice: If you're using the plug-in and find that some critical problem is preventing it from being useful for your team, please let me know right away, either through this mailing list, through the Collada forums or directly. This will help me prioritize issues more efficiently. Thanks. |