3dsMax (COLLADAMax): Difference between revisions

From COLLADA Public Wiki
Jump to navigation Jump to search
Elf (talk | contribs)
input Remi's text from email
 
Elf (talk | contribs)
chg "see" to redirect
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Product summary==
#REDIRECT [[ColladaMax]]
 
'''This page is a work in progress. Do not hesitate to give a hand.'''
 
COLLADAMax is a COLLADA import and export plug-in for
[http://www.autodesk.com/3dsmax Autodesk 3ds Max].
 
===Technical information===
* Latest version: 3.03J hh
* date: June 19th 2007
* bug reporting: [http://www.feelingsoftware.com/bugzilla Feeling
Software  bugzilla]
* forum:
[http://www.feelingsoftware.com/component/option,com_smf/Itemid,86/lang,en/
Feeling Software Forum]
* maintainers: http://www.feelingsoftware.com
* feature list: http://www.feelingsoftware.com/content/view/74/91/lang,en/
 
 
==ColladaMax 3.03 has been released== 18:18, 8 July 2007 (PDT)
 
It improves the compliance with regards to standard materials, support
for scrolling UV animations of bitmaps and a slew of other bug fixes.
New versions of ColladaMaya and FCollada were posted as well. Please
read the changelog for more information. Registered users can download
Feeling Software's COLLADA Tools on our website's Downloads section.
Registration is free.
 
Please note that previous versions of Feeling Software's COLLADA tools
had a compliance issue with regards to the transparency factor within
standard material. This issue is now corrected, but:
 
Data exported with previous versions of our COLLADA tools may import
with inverted transparency in ColladaMax 3.03 and ColladaMaya 3.03.
 
 
== ColladaMax 3.02 has been released==
 
It includes a bunch of bug fixes. Please read the newly merged changelog
for more information. Registered users can download Feeling Software's
COLLADA Tools on our website's Downloads section. Registration is free.
 
Feeling Software is pleased to announce that ColladaMax 3.01 has been
released. This new release includes a wide range of bug fixes, support
for the latest version of 3ds Max, etc. Full details can be found below.
 
== ColladaMax 3.01 has been released==
 
* 4062 by staylor
** Extension to Bug311 && Bug293: Skinned animation BakeMatrix export is
kinda screwy... The bake matrices export had inconsistencies in the way
mesh matrices were evaluated. In some cases, the matrix is evaluated
with GetObjectTMAfterWSM, and in others GetNodeTM. This causes
animations to be thrown out of wack when ObjTM is not identity. Also,
bones should NEVER use ObjTM, as skin & physique use NodeTM, so ObjTM
has no visual effect. The transform export has been updated to evaluate
each node and export the relevant transform
* 4012 by staylor
** fix rotation sampling import. Instead of creating a euler directly
and trying to set frames on it, create and populate a hybrid interp
controller (as before) then create a euler controller, copy the hybrid.
This fixes flipping issues in the data.
* 3995 by staylor
** Fixed bad comparison that stopped derived objects (skins and morphs)
from assigning their materials.
*3973 by staylor
** Fixed: Re-initing ColladaAttrib for instanced objects. Fixed
Load/Save of SimpleAttrib parameter block descriptions, moved the
functions into ClassDesc. This is consistent with the Max method of
obtaining pb descs. On load, it is important that we do not assign
memory for max objects, if max free's it, it has to assign it. Fixed
SimpleAttrib parameter block ID assignments. (Finally) Fixed extremely
anoying heap corruption error on reset (or deleting the wrong objects).
It is EXTREMELY important that NO data objects deleted by Max are
created in Collada code. This WILL cause all sorts of memory faults.
 
== ColladaMax 3.0 has been released==
 
* 3892 by staylor
** Fixed bad #if statements causing wrong vector definition to be
compiled in Max version < 9
*3830 by staylor
** ColladaMax: Added code to clean filename of XML characters on HLSL
import (as this is an extra URL attribute, it gets no special treatment
on load, leaving us with raw XML characters). FUtils: exposed XmlToString
*3743 by staylor
** SimpleAttrib has been updated to manage its (and derived classes)
param block descs. This should have been in an earlier commit, I dont
know why its here again. Emitter export/import no longer relies on the
mutation queue objects being present in the scene graph. Morphers no
longer force target nodes to be exported, instead they create the needed
geometry if it is not already present. The scene graph exports object
hierarchies correctly, regardless of whether the parent nodes are
exported. What this essentially means is that forced nodes do NOT export
geometry. If an entity needs to force geometry. FCollada:
FCDParticleComplex emitters now completely manage their mutation queue
geometry instances. They will delete them on destruction. DO NOT set in
visual scene instances (clone instead) FRenderer: FRControllerInstance
has been updated to handle morph targets without scene graph instances.
In this case, the controller instance will create new FRMeshs. TODO: Fix
the FRMesh instance leak on object destruction?
*3725 by glaforte
** ColladaMax: Fixed the export of XRef materials that was missing its
polygons set symbol.
*3719 by glaforte
** ColladaMaya/ColladaMax: Fixed the skin object inter-operability
between Max and Maya. Had some issues with the generation of pivot
points and their usage within the plug-in.
*3709 by staylor
** (For the last commit too) Possible fix for 3ds maxs triggering
breakpoints on file reset. Added code for properly managing
ParamBlockDesc2 items in the ColladaAttrib ClassDesc2. As each instance
of the class creates a unique ParamBlockDesc2 desc it is the
responsibility of the class to ensure that this description is
deregistered and deleted from the ClassDesc
*3703 by claforte
** Implemented export of particle instance of mesh geometry. Can now
import in GB successfully.
*3694 by staylor
** Fixed incorrect export of disabled maps
*3546 by staylor
** ColladaMax: Fixed export of look-at even when KeyMatrices option is
set Non PRS controllers now default to sampling the matrix. Added
support for exporting World space modifiers when keying matrices. Added
support for exporting non-std material textures, through both parameter
name matching and the max function StdIDToChannel.
*3532 by staylor
** Touch up animation export to correctly fall back to baking matrices
on non-prs controllers. This will correctly export link constraints or
scripted transforms
*3517 by glaforte
** COLLADA Tools: Follow the recent changes to FUError and to the
Material library.
*3490 by staylor
** Fixed particle rotation scaling
*3483 by staylor
** ColladaMax: Removed all traces of any references to non-max
attributes from the Particle System import/export - including the
looping parameters on FCDEmitterParticle.
*3477 by staylor
** Added TYPE_TIMEVALUE type support to ExportProperty, and added an
FUAssert(type is supported) to these functions for a quick feedback when
an export does not work. Fixed export of Drag start/end time values
*3439 by staylor
** Replaced several SetReference calls with ReplaceReference (this
ensures max's reference system pointers are initialized) Fixed
export/import of Particle Speed chaos scale.
*3429 by glaforte
** ColladaMax: Implemented the export of the start/end-time from the
animation timeline. FCollada: Re-implemented the writing out of the
start/end-time.
*3425 by staylor
** ColladaMax: TODO: Mutlimaps on standard particles can fail to import.
Also moved FCDConversionDiffFunctor out of FCDAnimationCurve.h into
ConversionFunctions.h
*3420 by glaforte
** ColladaMax: Fixed up the units/factors of a few force-related values.
*3409 by glaforte
** ColladaMax: Added the export of force objects and the fields binding
them to emitters. The exported force fields are still parameter-less,
though. Added the ForceExporter class to ColladaMax.
*3407 by staylor
** ColladaMax: Completed import and export of all particle systems, with
the exception of MutationList import on PCloud and PArray FCollada:
Support for particle systems is complete. Support for forces is coming.
*3384 by glaforte
** ColladaMax: A couple of project fix-ups in order to get the project
to compile in Release Max 9.
*3380 by sli
** Supported material color animation
*3378 by glaforte
** ColladaMax: Modified the animation-related export options. Removed
the "single-anim" option. Added a "create-clip" option that pushes all
the animations in one animation clip on export. Added a
"enable-animations" option that enables/disables the export of
animations. COLLADA Tools: Small typo interface change in FCDAnimation.
*3375 by staylor
** ColladaMax: Basic particle import/export Includes support for spray,
snow, and blizzard. Other changes include standardizing import/export
scaling functors using the FCDConversionFunctor super class. Removed the
auto-delete of passed in Functors in favour of a static list of commonly
used functors and local objects. Fixed potential issue of creating
objects that are not already loaded (deferred plugin load issue) TODO:
Refactoring on blizzard to subclass all common parameters, creating a
import/export and class heirarchy similar to the simple particle class.
This will make adding support for PArray, SuperSpray and PCloud trivial.
TODO: Just noticed some times are not constant through export/import.
This should be checked out.
*3358 by glaforte
** ColladaMax: Fixed regression in the export of morph targets whose
instances have been deleted.
*3341 by glaforte
** ColladaMax: Fixed the export of bump maps in the standard Blinn material.
*3307 by staylor
** Bug 251: Images always export relative, regardless of export
settings. Fixed by applying ForceAbsoluteFlag on FUFileManager. Also
fixed (recent) error exporting std materials.
*3299 by glaforte
** ColladaMax: Public Bugzilla#264: ColladaMax doesn_t import all
textures. Fixed the detection of the NV_import mechanism that was
exiting early. Ensure that the _valid_node_ flag gets set correctly when
creating child nodes for the multiple instance special case. Allow for
the finalization of 3dsMax node with no attached FCollada node.
*3296 by glaforte
** ColladaMax: A first step to extra/id preservation. Refactored the
custom attributes for clarity and re-use: ColladaAttrib is now based on
SimpleAttrib XRefCustomAttribute was replaced with ColladaAttrib.
Re-organized the 4 class description classes.
*3288 by glaforte
** COLLADA Tools: FCDGeometryPolygonsInput::set is now a private member.
Also fixed private Bugzilla#404 about the retrieval of the
texture-texture coordinate set matches when dealing with material instances.
*3283 by glaforte
** FCollada: A bit of a container usage clean-up. On my own time, I'll
add a fm::ptr_vector type in order to reduce the executable size of
FCollada (at the cost of debug info). Right now, the library size
reduction is about 18%.
*3267 by ewhittom
** ColladaMax (bug #232) Fixed the asset units' export. Max always uses
generic units internally, no matter what are the display preferences.
Max's generic units are centimeters, so everything we export from Max is
in centimeters. I included some commented code to fetch units
preferences if we ever want to convert every number before writing them
to the COLLADA file.
*3227 by glaforte
** FCollada and COLLADA tools: Renamed
FCDGeometryInstance::GetMaterialInstanceList() to GetMaterialInstances()
for consistency. Modified the export of lights, cameras, scene nodes and
the entity's note in order to use FCDExtra rather than the <extra>
element directly. ColladaMaya: Continued the extra preservation task:
properly link the scene node instances with the entities. Re-use the
material instance structures.
*3216 by staylor
** Feeling Veiwer: Contains many changes: SceneNode render is broken
down to update and render loops. Every node updates every frame, but may
not render. Transform Update is now a downstream process - this means
that SceneNodes GET their transforms, instead of the transform objects
SETting the values. GetLocalTransform should be used whenever local
transform is required. A variety of optimizations have been implemented,
and are conditionally compiled via a list of defines in
DebugPerformance, a new class for measuring frame render times. Bounding
boxes, skinning/morphing updates, vertex animations, are fixed.
FRTransform resets have been eliminated. Fixed materials disabled on
skins. Implemented skew matricies. Intersection tests are being moved to
a seperate namespace, FRIntersect ColladaMax: Upgraded to be compatible
with 3ds Max 9 Added name attribute to geometry exported from max.
Recursive map export implemented, but much further work is required in
this area to standardize non-blinn map export.
*3216 by staylor
** ColladaMaya: Fixed -ve colour indices on export.
*3204 by glaforte
** ColladaMax: Fixed regression in the assignment of the Max texture
channels into the FCollada texture channels: glossiness and specular
level textures were switched channels on export.
*3185 by staylor
** Removed ComposteMtl, as we now use CompositeTexture
*3179 by ewhittom
** ColladaMax: (public bug#208) An attempt to fix the group
export/import. Valid only for in-Max export-import sequences.
*3177 by staylor
** Bug: 228 Added support for Mix map type, by multiplying the export
"amount" value by the mix amount. Fixed scaling of "amount" values.
TODO: Check animation values. Reworked the import of materials to use
compositeTexMap, rather than CompositeMtl. All textures load through the
composite tex map onto the default StdMtl, and all channels of the
StdMtl are set to 100% effect. Individual textures are then modified by
their "Output" parameter for blending effects etc. TODO: Support correct
amount export for textures.
*3165 by ewhittom
** FCollada, ColladaMax, ColladaMaya, FViewer: Bug 225: Added the LINEAR
type for splines. Although LINEAR interpolation is a special case of
BEZIER or NURBS interpolation, one could save a lot of space/memory by
using the line spline type. I added the FCDLinearSpline class in
FCollada. Max and Maya can now import lines by first converting them to
a Bezier or NURBS representation. I tested the whole thing using Bezier
curves generated by Max, changing their type to LINEAR, and comparing
the linear result with its convex hull.
*3152 by ewhittom
** FCollada, ColladaMax and ColladaMaya: Added PREMIUM_NURBS #ifdefs
excluding any NURBS surface related code from the non-premium build.
Define the PREMIUM macro to enable any premium feature from FCollada.h.
*3138 by glaforte
** COLLADA Tools: Fixed some ToPoint renamed to ToVector3. 3dsMax
#defines NEVER in the global namespace, so #undef it before using it in
our COLLADA enumerators.
*3129 by ewhittom
** ColladaMax: Fixed NURBS surface import bug. Note: For the moment,
some exports containing NURBS surface data will not automatically work
on the viewer. Try to re-import the scene back into Max, and then export
it again and feed it to the viewer. In most cases it fixes the data.
Same thing with Maya, except that instead of re-import/export, just
select the incorrect surfaces and perform a default "Rebuild surface" on
them.
*3115 by staylor
** Fixed very recent bug of morphers failing to link
*3109 by glaforte
** Everything: All the code should now use fm::string, fm::vector and
fm::map. These structures do not exist in the default namespace anymore.
*3095 by staylor
** ColladaMax: Fixed import of bones based on SID. Bones support
multiple roots, and different bones on instanced skins. When loading a
skinned object, on a 2nd finalize the SkinImporter will check the
originally created skin modifier bones list against the bones list
provided in the ControllerInstance. If the bones do not match, the
Derived Obj referencing the skin is cloned, assigned back to the node,
and the import is finalized again onto the new instance. Exporting works
in all tested cases. ColladaMaya: to do FCollada: Implemented sub id
reading/searching etc. Implemented LinkExport/LinkImport on
ControllerInstance in order to hook up local versions of bone lists,
based on <skeleton> tag etc
*3050 by ewhittom
** Implemented a "best effort" approach to the NURBS texture problem.
Max and Maya do not seem to give a lot of importance to NURBS texture
since in both documentations NURBS are viewed only as a mean of
generating smooth polygon meshes. ColladaMax: I had two choices of data
formats for NURBS textures: user defined (raw) and chord length
parameterization (CLP) data formats, the later using the CV hull to give
a better, more natural, texture coordinate information. Max does not
take back its own data, despite what the documentation says. Wether I
use raw or CLP format, Max screws the texture information, so I chose
not to import it anymore and use the default setting. I'll contact
Autodesk to see what's going on in there. The Viewer handles CLP data
correctly, but Maya will not be able to import it (the rotation angle is
ok, but the offsets and scales are incorrect due to CLP output).
ColladaMaya: Added correct texture surface export. NURBS texture
information is stored in the material's place2dTexture node. At export
time, I build a default texture surface and transform it using the
node's simplified rotation, translation and scale parameters.
*3050 by ewhittom
** Since these parameters are exported as extra children in the effect's
texture element, I don't need to do anything at import time if these
parameters are imported as well. Still, I added some logic to get back
the parameters from the texture surface if they're missing. FViewer: I
added some code to disable the use of placement matrices in FRTexture
when the texture is bound to a NURBS surface. Bottom line: Max -> Export
works, import does not. Maya -> Export works, import works for all
Maya-generated files and some isolated cases of Max-generated files.
Viewer -> Can display the export data of both Max and Maya.
*3040 by glaforte
** ColladaMax: FS Public Issue #219: Wrong sampled animation start time.
Implemented the patch provided by Cory McWilliams.

Latest revision as of 01:17, 19 July 2007

Redirect to: