June 5, 2015, 11:01 (GMT) |
Fix outdated stub factory class for pointcache when Alembic is disabled. |
June 3, 2015, 08:54 (GMT) |
Only use string properties from the cachelib for metadata. Using ints and floats would require prefixing the Alembic metadata keys, which becomes messy and ambiguous. Encoding other data types as strings can be done on the python side as well. |
June 3, 2015, 08:44 (GMT) |
Have to use IDP_ReplaceInGroup to overwrite ID properties that already exist. |
June 2, 2015, 16:29 (GMT) |
Python UI fix for displaying int and float properties as labels. |
June 2, 2015, 16:29 (GMT) |
Added missing break statements. |
June 2, 2015, 16:17 (GMT) |
Display extra metadata for the cache input archive. |
June 2, 2015, 15:59 (GMT) |
Use ID property groups for storing and loading metadata associated to Alembic archives. Two separate property groups for metadata are used (so that reading caches does not overwrite metadata for output caches). |
June 2, 2015, 13:25 (GMT) |
Write metadata to caches (application name, date of creation, user description). Cache library output archives now have a description string next to them that gets written into the archive. |
June 2, 2015, 11:05 (GMT) |
Display basic metadata of a cache archive in the cache library input settings. |
June 2, 2015, 10:29 (GMT) |
Silence compiler errors by returning a default value for vector interpolation. |
June 1, 2015, 17:14 (GMT) |
Support for an optional semantics argument when interpolating cached properties. This is necessary to distinguish e.g. vector semantics (linear vs. slerp interpolation for positional/normal vectors). It would be simpler to do this based purely on types, but the typing of common Alembic properties is not sufficiently unique. Semantics arguments are enum values, that can be omitted if the default interpolation should be used. |
May 30, 2015, 13:57 (GMT) |
Interpolation code for reading Alembic cache samples on subframes. This features is needed for motion blur. All properties with position semantics (transform matrices, mesh and curve vertex locations, etc.) need to be interpolated for fractions of full frames, in order to reproduce the motion and deformation correctly. Alternatively we could store subframe time sampling for this subset of properties. However, this would increase the amount of data stored, and it might actually show artifacts from subframe interpolation in Blender which is not visible to animators otherwise and should be ignored. |
May 30, 2015, 11:28 (GMT) |
Make use of the subframe value in Scene when reading from cache archives. Subframes are necessary when interpolating values. |
May 30, 2015, 11:25 (GMT) |
Use the Alembic generic chrono_t type internally for reading from archives, instead of Blender frame values. This is easier to use for interpolation, the frame value is really only required externally, before and after reading a sample. |
May 28, 2015, 13:25 (GMT) |
Moved child strand deformation into the general cache processing function. Strands processing now has 3 main steps: 1) apply parent modifiers 2) deform child strands 3) apply child modifiers |
May 28, 2015, 10:51 (GMT) |
Allow external object targets for the cache shrinkwrap modifier. |
May 27, 2015, 18:20 (GMT) |
Presets for cached hair simulations. This requires some modifications to the existing preset python class. Serializing curve mappings can not be done with a simple property assignment. Also the fact that operator confirm popups drop all layout context pointers means that we have to store the modifier name in the operator in order to apply the preset to the correct modifier. |
May 27, 2015, 15:55 (GMT) |
Fix for incorrect update callback in haircut cache modifier, leading to unrelated property changes. |
May 27, 2015, 14:46 (GMT) |
Fix for the hair strands cutting modifier for caches. The cutoff value was off by 1.0, due to an invalid increment for the first vertex. |
May 27, 2015, 13:55 (GMT) |
Cleanup and fix for the cache backend factory, due to changed API functions. |
|