FXGear가 개발한 소프트웨어가 국내 VFX 제작 기술의 발전을 위해 유용하게 쓰여지기를 바라며 다양한 제작 기술을 서로 공유하여 발전의 기회를 삼을 수 있도록 아낌 없이 기술지원을 해드리도록 최선을 다 하겠습니다.
Changes from 4.1-3 to 4.1-4 (2015-01-16)
- Consistent damping bug
- When the reference frame samples of consistent damping is much smaller than the actual
frame samples, the solid contact didn’t work correctly. This bug is fixed
- When the reference frame samples of consistent damping is much smaller than the actual
- Solver resume bug (a.k.a. truncate cache bug)
- When a scene file is re-opened with existing caches and the solver is resumed at the end of the cache, the rest shape was not reflected correctly, and this often resulted in popping motion of cloth meshes.
- This bug is observed also when resuming the solver after truncating the cache, in case the scene file is freshly re-opened.
Changes from 4.1-2 to 4.1-3 (2014-11-07)
- “Update Initial Pose” bug fix
- When the target initial pose mesh is key-framed, the initial pose was not updated correctly by “Update Initial Pose” menu command. This bug is fixed.
- When “qlUpdateInitialPose” mel command is executed in *batch* mode, it did not work correctly. Now it works the same way both in batch mode and gui mode.
Changes from 4.1-1 to 4.1-2 (2014-07-29)
- URI file resolver
- Maya 2013.5 or later versions support URI file resolver, and all the file name attributes used in Qualoth support URI resolver too. (cache folder name, hysteresis file name)
- color map bug fix
- The color map of a collider object was not correctly read by Qualoth in case there are history nodes between collider mesh and collider node. This bug was fixed
- Anisotropic stretch control
- In the material property of qlCloth node, “Anisotropic Control” option box is added. This option enables separate warp and weft stretch resistance control. See the reference manual for details.
- In qlConverter node, the rest length scaling parameters in U and V direction are added. This is effective only when “Metric from UV” is enabled.
- Reference manual updated
- User’s reference manual is updated and located under qualoth/doc folder (Qualoth2015.pdf)
- Qualoth mel command reference manual is added under qualoth/doc folder. Only the commands registered by the plug-in itself are explained. All other script-based commands are not described yet.
Changes from 4.0-9 to 4.1-1 (2014-07-29)
- Collision handling enhancement
Self-collision and solid-collision are unified to improve the collision stability. The collision related attributes of qlSolver and qlCloth have changed accordingly as below.
- qlSolver node changes
- “Contact Threshold” has been removed.
The function of this attribute is replaced by “Thickness” of qlCloth node.
The “Thickness” now applies to cloth-to-cloth collision AND cloth-to-solid collision in the same manner.
- “Sharp Feature Force” has been removed.
This is replaced with “Solid Proximity Force”. The proximity force is used not only for sharp features of solid or self-collision, but for all kinds collision. Also, the stability of collision to sharp solid features is improved.
- “Proximity Criterion” has been removed.
“Proximity Criterion” should be defined by each qlCloth only, not by qlSolver node anymore.
- “Contact Threshold” has been removed.
- qlCloth node changes
- “Proximity Force” is renamed as “Self Proximity Force” to distinguish it from “Solid Proximity Force”.
- “Intra Cloth Collision” and “Inter Cloth Collision” check boxes are added. “Intra” collision check box enables the collision handling inside the cloth object, and “Inter” collision check box enables collision to other cloth objects. Note that these options are only meaningful when “Self Collision” is on.
- qlSolver node changes
- De-activated cloth re-opening bug fix :
When a cloth is de-activated, it does not draw itself when the scene file is re-opened.
This bug is fixed. Also, a de-activated cloth is updated by the cache if there are cache files, though it does not participated in the calculation of the other activated cloth objects. The de-activated cloth draws itself as a wireframe even though it has any material assigned to it, to be distinguishable from activated cloth objects.
- Automatic disabling the self-collision of the welded springs :
The springs created from “Weld Proximate Vertices” often requires zero rest length, and it causes conflict with self-collision in that case. The self-collision of the vertex-to-vertex spring is disabled if the rest length is too small compared to the cloth thickness.
- Field bug fix : Maya crashed under the following condition.
- Connect to a field
- Delete the field filter
- Change the resolution of the cloth
- Re-connect to the field
- Set the frame samples bigger than 2, and set “Simple Subsampling” on
- Hit play → Maya crashes
Changes from 4.0-3 to 4.0-5 (2013-11-21)
- Solver bug fix #1 – Large bending stiffness caused the solver to blow up. This bug is fixed in 4.0-5.
- Solver bug fix #2 - Cloth meshes with duplicate faces with identical vertices produced unexpected results with the 4.0-3 solver.
This behavior is fixed in 4.0-4.
- Plug-ins for Maya 2008, 2009, 2010, 2011 are removed from the deployment package.
Changes from 3.2-8 to 4.0-3 (2013-09-23)
1. Bug fixes
A. Animating the “active” attribute of qlCloth caused crash during continuous playing --> fixed
B. Sometimes qlCloth produces garbled geometry --> fixed
C. Setting the frame rate other than 24fps caused the solver not updated during playing --> fixed
D. “Qualoth>Create Pattern” crashed when the selected curves are parallel --> fixed
E. Deleting a qlPatternNode caused crash when there are remaining seams connected to it --> fixed
F. Unused menu commands are removed
2. New features
A. “Qualoth>Convert Selection” is added. See “Qualoth.pdf” under “doc” folder for details.
B. “Qualoth>Disconnect>Fluid” is added.
C. “Qualoth>Disconnect>Rest Shape” is added. Manual deletion of the rest shape without this command causes
the rest shape is not restored to the original initial shape automatically.
D. “Qualoth>Convert Q2013 to Q2014” is added. This is equivalent to “qlConvert31to32” mel script.
E. “Qualoth>Weld Proximate Vertices” is added. See “Qualoth.pdf” under “doc” folder for details
F. Qualoth.pdf (reference manual) is updated.
A. Self-collision computation speed enhancement --> about 2 times faster in average.
B. Dynamics solver speed enhancement --> Better multi-core efficiency, AVX support --> 2~30% speed-up
C. The default value of “CG Accuracy” is changed to “6” from “9”.
Unless the representing cloth material is very hard, “6” is enough --> fewer iteration --> 50~100% speed up.
Change log from 3.2-7 to 3.2-8 (2013-06-21)
1. Performance improvement of single cloth re-simulation under multi-cloth objects settings
- In 3.2-7, the computation time to re-simulate single cloth while other cloth objects are cached was almost same as simulating the whole cloth objects in worst case.
- In 3.2-8, re-simulating a single cloth is much faster, and the computational cost is almost same as simulating it alone. Still, the collision with the cached cloth objects are handled properly.
2. Local simulation bug fix
- If a cloth is not re-initialized, “Local Sim” exploded sometimes due to incorrect state update. This bug is fixed
3. New reference manual added
- In “doc” folder, “Qualoth.pdf” is added.
Change log from 3.2-6 to 3.2-7 (2013-06-19)
1. Local sim runs on individual cloth object
- Local sim computed the whole set of cloth objects under a solver before, and now only the selected cloth is calculated
2. Painted attribute map import/export bug fix
- All the maps are imported/exported correctly
3. Spring bug fix
- single vert springs which are not connected to the first cloth object of a solver didn’t work correctly. Now it works correctly
4. Cloth activity turn on/off bug
- When the “active” attribute of a cloth is turned on and off, unstable motion was obtained. Now it works correctly.
5. Re-initialization bug fix
- After re-initialization, cloth shows unstable, random behavior. This was also related to the cloth activity turn on/off bug and local sim bug. This is fixed.
6. Random abnormal motion bug
- Sometimes cloth explode or some polygons disappeared randomly. This could be observed often when “self collision” is on, and there are no colliders regardless of number of cloth objects. This bug is fixed
Changes from 3.2-5 to 3.2-6
1. Local Simulation bug fix :
- when we truncate cache and try to run it, Maya either crashes to a close or the solve just hangs, not wanting to sim à Fixed
A. Start local sim at any cached frames or at the start frame, and the selected solver continues the simulation starting from the currently cached pose, and overwrites and replaces the cache of current frame.
2. Gravity map, Thickness map, Pressure map modification flag bug fix : as painted in the cloth attributes (attribute editor) when you have painted it. The map works regardless but doesn't show up as painted. à Fxied
Changes from 3.2-4 to 3.2-5
1. Collision handling bug
A. Under multi-cloth solver, truncating a single cloth cache caused incorrect collision response at the restarting frame. à Fixed
Changes from 3.2-3 to 3.2-4
1. qlUpdateInitialPose bug fix à works fine in batch mode
2. qlBatchRun script update à qlBatchRun.mel is separated from qlUtil.mel and updated.
- Usage : maya –file -batch –command “qlBatchRun 1 10”
- qlBatchRun will simulate all the clothes in the scene between start/end frames given as parameters. (1 and 10 respectively in the above case)
- qlBatchRun assumes all the cache file names are set for each cloth object in the scene.
Changes from 3.2-2 too 3.2-3
1. Performance improvement under partially cached condition
- A. In a multi-cloth object, re-simulating single cloth object only took almost the same time as whole cloth objects are simulated. This performance is improved. To reduce the re-sim time further, consider making some cloth objects “inactive” which are irrelevant to the cloth being simulated.
2. Vertices are getting stuck on colliding geometry à fixed
- A. Requires further test
3. qlUpdateInitialPose bug fix
- A. qlUpdateInitialPose produced error message related to “.cacheWrittenFlag” in 3.2-2, and this is fixed
4. A debug message is removed : “setExternalConstraints with subsampling : X X“
5. Support for newer versions of Maya
- A. The plug-in binary for Maya 2013 was built against Maya 2013 service pack 1, and it is replaced with Maya 2013 service pack 2.
- B. The plug-in binary for Maya 2014 is added (this requires further test)
Changes from 3.2-1 to 3.2-2
1. Truncating single cache from multi-cloth caused instability à Fixed
2. Enable/Disable collisions between two object did not work properly à Fixed
3. Consistent damping adds unwanted drag to goal constraint à Fixed
- A. In addition, all kinds of constraints including goal constraint are free from consistent damping effect
4. Turning on/off sim for individual cloth mesh à Added
- A. “active” attribute is added to qlCloth node at the category of Material Property
- Goal constraint maps are paintable on the goal output mesh dangling to the original goal mesh. Do not paint goal constraint maps on cloth mesh. Remember that a cloth can have multiple goal constraints, so the goal constraint maps should be multiple.
- Turning off individual cloth mesh increases computation speed, but truncating cache on single caches in a multi-cloth object does not increase speed yet. This improvement will be made at the next version
Changes from 3.1-10 to 3.2-1
1. Solver cache has been removed
- A. Solver has no attributes related to caches any more (No need to maintain solver caches separately from cloth)
- B. All caches are stored by cloth objects only
2. Clearing cache on multi-cloth object behave like partial resim
- A. Cloth with cache doesn’t resim, and it acts as a collider to others.
3. Preserve wrinkle control over rest mesh
- A. qlClothShape has new attributes under category of “Rest Shape Attributes”
- B. The stretch/bending features from the rest shape are separately controlled.
- i. “Update Stretch” means the triangle areas are accepted from the rest shape mesh
- ii. “Update Bending” means the angles between triangles are accepted from the rest shape mesh
4. All constraints have a toggle for self collision
- A. All types of constraints have an additional attribute named “Enable Collision”.
- B. Hard/Soft feature are decoupled from collision/no-collision feature
5. Gravity override
- A. Each cloth object can have its own gravity.
- B. To override qlSolver’s graivity, check “Override Gravity” in “Material Property” categroty of qlClothShape, and set the gravity values below it.
- C. Each qlPattern node can have its own qlProperty node, and each qlProperty has also gravity override, too.
6. Gravity Map / Pressure Map are added
7. Breakable spring
- A. qlSpring node has new attribute “Break Length”.
- B. In case the spring length exceeds the “Break Length”, qlSpring disable itself.
- C. If “Break Length” is zero, then it never breaks.
8. Strain Map for scrubbing playback
- A. The strain maps are updated for scrubbing playback.
- B. Two menu commands “Show Strain Map” and “Hide Strain Map” are added
- i. Select multiple cloth objects and do “Show/Hide Strain Map”
- ii. High strain corresponds to red color, and low strain corresponds to gray color.
Changes from 3.1-9 to 3.1-10
1. A Collision property “Thickness” is added to qlClothNode.
- A. Thickness implements the cloth to cloth offset between different cloth objects.
- B. If you turn off “overrideThickness”, the defaults cloth-to-cloth offset assigned to the corresponding cloth object is same as its “proximity criterion”.
- C. If you turn on “overrideThickness” and set a value of “Thickness”, it acts as the offset between different cloth objects, separately from “proximity criterion”.
- D. Thickness has a map named “ThicknessMap”, and it can be painted per cloth. This map is a weight map, i.e., it scales the thickness.
Changes from 3.1-8 to 3.1-9
1. ‘Re-initialize solver’ didn’t work after ‘update initial pose’ à fixed
2. The cache file of the first frame were overwritten every scene re-opening à fixed
3. ‘Truncate cache’ didn’t work when only a solver is selected. à fixed (all the caches of the cloth objects belonging to the solver are truncated.)
Changes from 3.1-7 to 3.1-8
1. Per-cloth proximity criterion bug fix
- A. Each qlCloth node can override the proximity criterion of the solver it belongs to. Former version didn’t deal with the per-cloth proximity criterion properly, so it produced vibrating proximity handling between cloth objects. This update fixed the problem, and the per-cloth proximity criterion works correctly.
2. Strain Map
- A. Strain map is an attribute map like other material property maps except that it is automatically computed by solver. Painting the map does not affect the solver. Strain map is updated by solver automatically at each frame.
- B. To make it visible, just try to paint the “qlClothShape-strainMap”, then the resulting strains at each vertex will be updated automatically during simulation.
- C. The range of the strain value is not limited. You can adjust the displayed value range from the paint tool settings of Maya. Also you can get the actual values by mel command “getAttr qlClothShape1.strainMap”.
- D. Currently, only a single cloth object can show the strain map at a time, since it is an attribute map associated to the cloth mesh.
Changes from 3.1-6 to 3.1-7
1. Clear Cache bug fix
- A. Previously, “Clear Cache” didn’t work when there are variables in the path. It is fixed thanks to Ark and Kris.
2. Cache subframes
- A. qlCloth didn’t produce cache subframes, but it works now. Note that the cache subframes of qlSolver and qlCloth work independently.
- B. The subframe digits were 2 in the previous version, now it is 3. The subframe caches are named like XXX.0001.125, XXX.0001.250, etc.
3. Preserving UV maps for Collider offset mesh
- A. The collider offset mesh created by collider node didn’t preserve the UV map of the original mesh. It now preserves it.
4. Obsolete attributes are removed
- A. qlSolver.animatedRestShape attribute is removed. Since Q3, it is renamed to qlSolver.restShape.
5. qlSolver update bug fix
- A. In the former version, when “Create Seam” is executed, the solver was not updated properly. This happened when a cloth is transferred to other solver. This solver update bug has been fixed.
Changes from 3.1-5 to 3.1-6
1. Collision relationship editing bug fix
- A. Disabling collision between two cloth objects in a solver didn’t work properly in 3.1-5, and it works correctly now.
Changes from 3.1-4 to 3.1-5
1. Local Simulation
- A. Select a solver, and click “Local Simulation>Start”. Then all the clothes belonging to the solver start to move without increasing the time. Even if you select a single cloth object in a solver, all the clothes belonging to the same solver will start to move. The current caches of all the clothes and the solver are replaced with the locally simulated results. To stop the local (time) simulation, click “Local Simulation>Stop” or press ESC key.
2. Proximity Criterion override bug fix
- A. “Proximity Criterion” of qlCloth has higher priority to that of qlSolver. Thus, if you turn on “override proximity criterion” of qlCloth, the “Proximity Criterion” of qlSolver is disregarded.
- B. Proximity criterion can be interpreted as “Thickness” of a cloth, so you can assign unique ‘proximity criterion’ to a cloth object. Only when the proximity criterion of a cloth object is not specified, the value of qlSolver is used, and again if you don’t specify the value of qlSolver either, then the default value decided internally is used. In any case, the proximity map works in the same way as scale factors.
Changes from 3.1-3 to 3.1-4
1. Clear/Truncate cache bug
- A. There were still “clear cache” bug at 3.1-3. It was related to path separator ‘/’ of the per-frame cache folder name attribute of qlCloth and qlSolver. Regardless of specifying the cache names, this version works correctly always.
2. dependency graph cycle bug
- A. Field filter node and goal constraint node had DG cycling bug, and it caused unexpected errors in collision handling. Now it is fixed, but fields and goal constraints are needed to be re-created, for the bug fix to take effects.
3. Field scene crash bug
- A. A scene with fields, opened at a frame where there is no cache, Maya crashed. This bug is fixed
4. Partial re-simulation crash bug
- A. Partial resim crashed when trying to solve a frame where no cache exists. This bug is fixed.
5. Attributes of qlCloth and qlSolver are sorted and unnecessary ones are removed.
Upcoming updates in 3.1-5 which is due to 11st July.
1. Local (time) simulation feature
2. Proximity criterion of qlCloth overriding bug fix
Changes from 3.1-2 to 3.1-3
1. Clear/Truncate cache bug
- A. Cache path name retrieving had a bug which caused ‘clear cache’ not to work. This problem is fixed.
- B. Minus frame numbers for cache caused ‘clear cache’ and ‘truncate cache’ to work abnormally. The problem is fixed.
2. New material attribute ‘Pressure’ added
- A. This force pushes cloth toward surface normal. Used with closed surfaces, you can get balloon-like wrinkles and motions.
Changes from 3.1-1 to 3.1-2
1. Self-collision crash bug fix – doing self collision without any collider in a solver caused qualoth to crash in 3.1-1, and now it’s fixed.
2. Cache folder bug fix – clear/truncate cache works correctly. (requires additional extensive verification from field tests.)
Changes from 3.0-8 to 3.1-1
1. Collision Relation Editing Feature
- A. “Enable/Disable Collision Between Two Objects” commands are added.
- B. If no collision relationship is specified between any two objects in a solver, they collide to each other by default. Note that the collision flags, collision maps are still can control the collision behavior. That is, if no explicit collision relation is set by these new commands, the collision behaviors works exactly the same way as the previous qualoth versions.
- C. Usage example :
- i. Scenario #1 : control cloth-cloth collision
- 1. Select two cloth meshes which belong to a same solver, then do “Qualoth>Disable Collision Between Two Objects”
- i. Scenario #1 : control cloth-cloth collision
- 2. A node named after those two cloth meshes is created, which looks like “qlClothShape1__to__qlClothShape2_collision”. If there is already such a node that relates those two cloth nodes, just the collision attribute of the node is reset.
- 3. The newly created node controls the collision between the selected object pair.
If the attribute “collision” of the node is set to false, then the collision between qlClothShape1 and qlClothShape2 is not handled.
- 4. To enable the collision again later, you can just set the “collision” value of the collision relationship node to 1. It is a keyable attribute. Also, you can just select the two objects and do “Qualoth>Enable Collision …”, then it has the same effect.
- ii. Scenario #2 : control cloth-collider collision
- 1. Select a cloth and a collider, then do “Qualoth>Disable Collision Between Two Objects”
- 2. A node named after those two objects is created, which looks like “qlClothShape1__to__qlColliderShape1_collision”.
- 3. You can modify “collision” value of the node later.
D. Note #1 : If a cloth is transferred to other solver, this collision relationship node remains. Even though the relationship node lives, it does not take effect until the both objects belong to a same solver. This behavior is much like a qlSpring which connects vertices of two cloth meshes.
E. Note #2 : If you select a cloth node or a collider node, and it has collision relationship nodes connected, they will appear in the attribute editor.
Changes from 3.0-7 to 3.0-8
1. Painted maps are re-initialized when reopened à fixed.
Changes from 3.0-6 to 3.0-7
1. Separated ‘Reinitialize Maps’ from ‘Reinitialize Solver’.
2. Changing the solver of multiple cloth objects : Select multiple cloth object meshes, to change their solvers simultaneously.
3. Springs connected across different cloth meshes are preserved even though those cloth meshes do not belong to the same solver.
- A. The spring does not work if it connects vertices belong to different solvers each
- B. Once the vertices belong to a same solver, the spring starts to work
- C. ‘Change Solver’ does not remove such inter-connected springs
4. ‘Save/Load Hysteresis’ now works the same way as Q2
Changes from 3.0-5 to 3.0-6
1. Update initial pose added : This works per-cloth basis
2. Rest Shape added
- A. Select a cloth and rest shape mesh, and then do ‘Qualoth>Connect Objects>Rest Shape`;
- B. To disconnect it, do ‘Qualoth>Disconnect Objects>Rest Shape`. After this, do ‘Qualoth>Reinitialize Solver’ to make disconnecting take effect in simulation. Otherwise, the last rest shape just before disconnection affects the solver.
3. Update collision color map added
- A. Select a cloth or a solver, then do ‘Qualoth>Update Collision Color Map’.
4. Solver Statistics flag added
- A. Turn off `qlSolverShape.solverStatistics` at the attribute editor of qlSolver to disable printing timing info of the solver.
Changes from 3.0-4 to 3.0-5
1. Reinitialize Solver added
- Usage : Select a cloth mesh, or multiple cloth meshes, or a solver node, then perform Qualoth>Reinitialize Solver
- a) When a cloth mesh is selected : the cache of the selected cloth is cleared, all the maps are initialized to the default values, and the output is recovered to its original shapes even if it has been tweaked using “Update Tweaks”. The solver which the selected cloth belongs to is re-initialized, too. When the solver is re-initialized, the solver’s cache is cleared, and restored to the original input meshes, all the hysteretic evolvements are initialized, and the internal dynamic solver is re-initialized.
- b) When multiple cloth meshes are selected : The selected cloth nodes are re-initialized, and the solvers the selected cloth nodes belong are re-initialized.
- c) When a solver node is selected : All the cloth nodes belonging to the solver node are re-initialized, and the solver is re-initialized
2. Maya 2008~2010 menu bug fixed – Qualoth works the same way with all maya versions from 2008~2012
3. Length scale has been made keyable, which was not possible.
Changes from 3.0-3 to 3.0-4
1. Constraint>Get Verts bug fix
2. Plane Constraint, Line Constraint bug fix
3. Clear Velocity has been ported from Q2
4. Modified Maps flags are updated correctly as Q2
5. Self friction between cloth meshes : Self-friction coeff’s of two cloth nodes are averaged when they interact.
Changes from 3.0-1 to 3.0-3
1. Attach constraint now works correctly.
2. Solid collision/Self collision flags of qlCloth now work correctly.
3. When a solver is re-named and it was the current default solver, then “Create Cloth” uses a new solver instead of printing an error message. This behavior is same as that of nCloth and nucleus solver.
4. Unnecessary shell outputs are removed.
5. Update Tweaks is added.
6. Painting cloth properties are enabled.
7. The related solver appears in the attribute editor when a cloth is selected.
Changes from 2.2-5 to 3.0-1
- A. Solver and Cloth are separated, which were combined as a Simulator formerly. ( qlSolver + qlCloth = qlSimulator )
- B. You can assign a solver to each cloth by “Qualoth>Change Solver”, or by the option menu of “Create Cloth” or “Create Pattern”.
- C. New cache behavior
- i. Each cloth and each solver maintains their own cache.
- ii. If you do “Clear Cache” of a selected cloth, the cloth cache and solver cache are cleared. The cache of other clothes belong to the same solver are not cleared.
- iii. If you do “Clear Cache” after selecting a solver (e.g. qlSolver1), then the solver’s cache and all the caches of clothes which belong to the solver are cleared. That is, all the caches related to the solver are cleared.
- D. New spring behavior
- i. Vertices of a spring must belong to a same solver though they can belong to different clothes.
- ii. A spring that connects vertices that belong to different solvers cannot be created or such spring can be removed as a result of “Change Solver” menu command.
- E. Length scale
- i. Each cloth and each solver have their own length scale
- ii. Each cloth has its own length scale map.
- iii. The final effective length scale is the multiplication of those length scale values ( qlCloth.lscaleMap * qlCloth.lscale * qlSolver.lscale )
- iv. Each pattern has its own length scale and it overrides that of qlCloth.
- F. Colliders
- i. Colliders are connected to solver, not a cloth.
- G. Constraints
- i. Constraints are connected to cloth, not the solver
- H. Some menu commands are not ported yet, and they will appear again in Qualoth-3.1-1
- I. Some menu commands which are obsolete are removed.
Changes from 2.2-4 to 2.2-5
1. Goal constraint bug fix
- Goal constraints caused crash when frame samples is bigger than 1. Now it works fine.
Changes from 2.2-3 to 2.2-4
1. Bake Make command now supports sub frames.
- - Usage: qlBake –n -f -s -e –b -sf -p –w
- For example,
qlBake –n qlSimulatorShape1 –f “/abc/def/test” –s 1 –e 2 –sf 4 –p –w
- For example,
- - Subframe is supported only for per-frame cache (-p option must be present)
- - By-frame must be set to 1 or left unspecified for sub-frames output.
- - -w option means writing world coordinate positions of vertices (default)
- - Option window for ‘Bake Mesh’ is not yet implemented, so users have to use qlBake mel command directly to use the sub-frames option.
Changes from 2.2-2 to 2.2-3
1. Improved dynamics stability
- A. When wide flat area of a cloth stand still regardless of contact status, the cloth mesh starts to jiggle after a while. This bug has been around for a long time (since version 1.4-1). This effect could be observed clearly when large area became flat and motionless, and subtle oscillation could be observed sometimes even when those conditions are not met.
The above two improvements eliminated many sources of jiggling effects of previous versions, and even the ill-shaped triangles are handled very well with this improvement.
Changes from 2.2-1 to 2.2-2
1. Improved contact stability
- A. The switch between contact and free status is now more stable and jiggling effects reduced greatly when large area contacts solid objects.
Changes from 2.1 to 2.2-1
1. Goal as a constraint
- A. Select a goal mesh, and qualoth mesh, then click Qualoth>Constraint>Goal Constraint, to create a goal constraint.
- B. Two nodes are created : Suppose the goal mesh name is “test”.
- i. Test_GoalConstraint : Contains the goal control parameters, which were originally in qlSimulator node.
- ii. Test_Goal : The goal constraint output mesh, which is a topologically same mesh as the initial goal mesh. This mesh is initially hidden, and this mesh is used to paint the goal constraint maps such as “strength map”, “damping map”, “force limit map”, which were also in the qlSimulator node in previous version.
- iii. Currently, the goal mesh must match the cloth mesh topologically. In the future (2.3 or 2.4), topologically different meshes can be assigned as a goal by matching the closest point projection (at startup or per frame basis).
- C. You can add multiple goal meshes as normal constraints. To remove the goals, just select and remove the goal constraint node and the goal output mesh
- D. The previous scene files which used goal shapes would not work with this version. The goal setup should be done again.
2. Solid friction handling bug fix
- A. The inconsistent behavior of solid friction when the cloth is far from the origin seems to be eliminated during upgrading the collision handling parts.
3. A minor collision handling improvement
Qualoth-2.1 has been released.
The changes from 2.0 are,
1. Multi-threaded collision handling
- - The collision handling procedures are multi-threaded. According to the CPU architecture, 2~6 times performance gain could be observed with 8 threads. Intel i7 architecture showed the best performance (6 times faster with 4 cores).
- - ‘Sharp feature’ is not multi-threaded. I recommend set ‘sharp feature’ off since it has undesirable artifacts for moving objects let alone not supporting multi-threading. It is useful only when the collision objects are static. In the future, the artifacts of ‘sharp feature’ will be removed and multi-threaded too.
2. Minor bug fix for solid-contact
- - The contact checking between cloth-vertex and solid-vertex was disabled mistakenly in previous versions. Most time this causes no problem since other primitive checking routines cover it, but sometimes this causes cloth vertices to flip when they contact collision objects and all the other primitive checking couldn’t replace it. This artifact must have happened very rarely in previous versions, but this version fixed it and collision handling became a little bit more robust.