3 years agoAmaranth Addon
Pablo Vazquez [Fri, 27 Feb 2015 16:53:54 +0000 (17:53 +0100)]
Amaranth Addon

Upgrade to 1.0, includes the refactor by Cesar Saez (thanks!), and a bunch of new features.

Documentation is being updated here:

Full changelog:

4 years agoAmaranth: Fix for changes on File Browser
Pablo Vazquez [Sat, 14 Feb 2015 15:43:31 +0000 (16:43 +0100)]
Amaranth: Fix for changes on File Browser

4 years agoCustom property overrides.
Lukas Tönne [Tue, 10 Feb 2015 14:44:28 +0000 (15:44 +0100)]
Custom property overrides.

4 years agoData Overrides addon: Replace settings and cached data of linked objects
Lukas Tönne [Tue, 10 Feb 2015 11:50:21 +0000 (12:50 +0100)]
Data Overrides addon: Replace settings and cached data of linked objects
with temporary local values.

4 years agoMove modules into 'space_view3d_cursor_control' addon
Campbell Barton [Tue, 10 Feb 2015 13:33:53 +0000 (00:33 +1100)]
Move modules into 'space_view3d_cursor_control' addon

These were meant to be generic but ended up being a fairly small set of modules only used by this addon.

4 years agotabs -> spaces, move info to top (faster scanning)
Campbell Barton [Tue, 10 Feb 2015 13:18:55 +0000 (00:18 +1100)]
tabs -> spaces, move info to top (faster scanning)

4 years agonew addon: Export Paper Model
Addam Dominec [Mon, 9 Feb 2015 18:09:03 +0000 (19:09 +0100)]
new addon: Export Paper Model

This script generates a flat net of a given mesh.
It creates SVG files suitable for direct printing and paper modeling.

4 years agoUse a context override dictionary when calling the export operator.
Lukas Tönne [Thu, 5 Feb 2015 16:53:49 +0000 (17:53 +0100)]
Use a context override dictionary when calling the export operator.

This enables the operator to work with linked data as well.

4 years agoCleanup of the meshcache export code.
Lukas Tönne [Thu, 5 Feb 2015 16:26:46 +0000 (17:26 +0100)]
Cleanup of the meshcache export code.

Both operators share the same filtering generator method.
Reporting is now done inside the operators only.

4 years agoCacharanth addon, by Pablo Vazquez.
Lukas Tönne [Thu, 5 Feb 2015 15:34:29 +0000 (16:34 +0100)]
Cacharanth addon, by Pablo Vazquez.

This addon automates a workflow for using mesh caches to avoid linking
armatures, making proxies and the associated problems.

4 years agoDisable global undo while running operators from inside other operators,
Lukas Tönne [Thu, 5 Feb 2015 14:46:25 +0000 (15:46 +0100)]
Disable global undo while running operators from inside other operators,
to avoid unnecessary overhead from saving undo steps.

4 years agominor edits to tips
Campbell Barton [Mon, 2 Feb 2015 19:18:01 +0000 (06:18 +1100)]
minor edits to tips

4 years agoUse URL icon, add Tip: prefix, increase lower margin
Campbell Barton [Mon, 2 Feb 2015 19:11:41 +0000 (06:11 +1100)]
Use URL icon, add Tip: prefix, increase lower margin


4 years agoWrap lone lines
Campbell Barton [Sat, 31 Jan 2015 18:10:43 +0000 (05:10 +1100)]
Wrap lone lines

4 years agotweaks to file line reading
Campbell Barton [Sat, 31 Jan 2015 17:50:35 +0000 (04:50 +1100)]
tweaks to file line reading

4 years agoamend last commit, use readline method
Campbell Barton [Sat, 31 Jan 2015 17:43:15 +0000 (04:43 +1100)]
amend last commit, use readline method

4 years agoAdd experemental tips addon to show tips in the splash screen
Campbell Barton [Sat, 31 Jan 2015 17:24:45 +0000 (04:24 +1100)]
Add experemental tips addon to show tips in the splash screen

- each stored in tips.txt is a tip displayed on startup
- tips may optionally have a URL to Blender's manual (denoted by ' ~')

4 years agoDelete rtheme from contrib in order to move to main collection
Daniel Salazar [Fri, 30 Jan 2015 05:25:55 +0000 (23:25 -0600)]
Delete rtheme from contrib in order to move to main collection

4 years agoFix a small issue with RTheme. Some bottons had very little difference between their...
Daniel Salazar [Fri, 30 Jan 2015 01:26:57 +0000 (19:26 -0600)]
Fix a small issue with RTheme. Some bottons had very little difference between their on and off state

4 years agoFix for material slots
Eugenio Pignataro [Sat, 24 Jan 2015 20:09:20 +0000 (17:09 -0300)]
Fix for material slots

4 years agoCategory: copy/paste UVs
Nutti [Sat, 24 Jan 2015 01:33:17 +0000 (10:33 +0900)]
Category: copy/paste UVs

Update the add-on to version 2.1.
This version fix some bugs.

related links:

4 years agoTheme Flatty Light
Pablo Vazquez [Thu, 22 Jan 2015 22:51:21 +0000 (23:51 +0100)]
Theme Flatty Light

As discussed, moved theme to master.

4 years agoTheme Flatty Light
Pablo Vazquez [Thu, 22 Jan 2015 22:41:26 +0000 (23:41 +0100)]
Theme Flatty Light

Update on colors for text editor and other tweaks.

4 years ago- improved UI, improved EqualizeScale*
Luca Carella [Sat, 17 Jan 2015 09:36:47 +0000 (10:36 +0100)]
- improved UI, improved EqualizeScale*

*now it's possible to keep proportions of uv island during scale, and select which axis to lock.

4 years agoMove 'render auto tile size' addon to main repo.
Bastien Montagne [Tue, 13 Jan 2015 20:45:52 +0000 (21:45 +0100)]
Move 'render auto tile size' addon to main repo.

4 years agoAdded back user-preference setting to disable keymap auto-registration
dairin0d [Mon, 12 Jan 2015 05:56:41 +0000 (07:56 +0200)]
Added back user-preference setting to disable keymap auto-registration

4 years agoinset: no need to use index lookups
Campbell Barton [Sat, 10 Jan 2015 11:19:24 +0000 (22:19 +1100)]
inset: no need to use index lookups

4 years agofix for lookup table
Brendon Murphy [Sat, 10 Jan 2015 04:13:45 +0000 (15:13 +1100)]
fix for lookup table

4 years agofixes matrix_world issue
zeffii [Fri, 2 Jan 2015 13:45:21 +0000 (14:45 +0100)]
fixes matrix_world issue

4 years agoadds lookup tests to support older versions of blender too
zeffii [Fri, 2 Jan 2015 10:57:42 +0000 (11:57 +0100)]
adds lookup tests to support older versions of blender too

4 years agoCopy and Paste UV
Nutti [Wed, 31 Dec 2014 05:30:25 +0000 (14:30 +0900)]
Copy and Paste UV
- Upload script
  Support new feature, and some optimization about this script.
    1. Support copy/paste between UV maps.
2. Support copy/paste by selection sequence.
- Wiki update

The wiki page is ready, see here:

Modified Paths:

4 years agoAmaranth Theme
Pablo Vazquez [Wed, 31 Dec 2014 05:25:06 +0000 (02:25 -0300)]
Amaranth Theme
The update for new theme elements (61b0759) assumed white emboss while Amaranth uses a dark drop shadow.

4 years agoio_vector contrib addon: Version cleanup and remove tracker message.
Howard Trickey [Tue, 30 Dec 2014 18:12:32 +0000 (13:12 -0500)]
io_vector contrib addon: Version cleanup and remove tracker message.

4 years agoRevert "Initial Collada exporter from Juan Linietsky (T41071)"
Sergey Sharybin [Thu, 25 Dec 2014 18:37:21 +0000 (23:37 +0500)]
Revert "Initial Collada exporter from Juan Linietsky (T41071)"

This reverts commit 2187f6e51e0aa5cc562074af68dfa29bc3dcc000.

It was committed by accident.

4 years agoupdated to new api
Luca Carella [Thu, 25 Dec 2014 17:15:06 +0000 (18:15 +0100)]
updated to new api

4 years agoInitial Collada exporter from Juan Linietsky (T41071)
Campbell Barton [Tue, 15 Jul 2014 09:03:14 +0000 (19:03 +1000)]
Initial Collada exporter from Juan Linietsky (T41071)

4 years agoSlope rotation feature: Dupli rotation gets aligned to the ground
Lukas Tönne [Mon, 22 Dec 2014 12:32:08 +0000 (13:32 +0100)]
Slope rotation feature: Dupli rotation gets aligned to the ground
surface slope with a user-defined factor.

4 years agoFix for access of undefined ground object in UI code giving pointless
Lukas Tönne [Mon, 22 Dec 2014 10:24:19 +0000 (11:24 +0100)]
Fix for access of undefined ground object in UI code giving pointless

4 years agoupdate for 2.73 theme elements, removes error report
Brendon Murphy [Mon, 22 Dec 2014 03:13:34 +0000 (14:13 +1100)]
update for 2.73 theme elements, removes error report

4 years agoOperator for estimating the maximum number of samples fitting on the
Lukas Tönne [Sat, 20 Dec 2014 13:45:25 +0000 (14:45 +0100)]
Operator for estimating the maximum number of samples fitting on the
ground object.

This is based on the optimal circle packing density, which is an upper
bound for the number of samples.

This is a way to avoid gaps in the sampling from insufficient limit for
number of samples.

4 years agoRenamed the patch_radius and max_patches settings to sample_distance and
Lukas Tönne [Sat, 20 Dec 2014 12:30:28 +0000 (13:30 +0100)]
Renamed the patch_radius and max_patches settings to sample_distance and
max_samples respectively, which is more intuitive.

4 years agoFix for ground object scaling: generate samples in world space.
Lukas Tönne [Sat, 20 Dec 2014 12:16:17 +0000 (13:16 +0100)]
Fix for ground object scaling: generate samples in world space.

Otherwise the distance radius is an object space length which gives
confusing results.

4 years agoEnable profiling of the patch update step as well.
Lukas Tönne [Fri, 19 Dec 2014 13:11:25 +0000 (14:11 +0100)]
Enable profiling of the patch update step as well.

4 years agoCan use the mouse cursor progress indicator for baking now, since we're
Lukas Tönne [Fri, 19 Dec 2014 10:31:20 +0000 (11:31 +0100)]
Can use the mouse cursor progress indicator for baking now, since we're
not using the main bake operator any more.

4 years agoImproved cache baking operators which make use of threaded depsgraph
Lukas Tönne [Fri, 19 Dec 2014 10:26:29 +0000 (11:26 +0100)]
Improved cache baking operators which make use of threaded depsgraph

Previously each object was baked explicitly on its own. This is much
slower than the regular scene baking because it doesn't utilize the
threaded depsgraph updates.

Now the operator simply runs through the whole frame range once,
creating point cache data, and then bakes that data to make the caches
permanent. (Note: using the "bake_all" operator would also work, but
doesn't give much control and progress feedback is limited).

4 years agoMoved physics baking code to a new physics module.
Lukas Tönne [Thu, 18 Dec 2014 17:15:33 +0000 (18:15 +0100)]
Moved physics baking code to a new physics module.

4 years agoAnother template object option to hide copies in the viewport.
Lukas Tönne [Tue, 16 Dec 2014 17:36:00 +0000 (18:36 +0100)]
Another template object option to hide copies in the viewport.

This is useful to hide non-renderable object which are only used for
simulation, without having to toggle their visibility every time before
updating patches.

4 years agoOptional layers setting to directly place new objects in specific layers.
Lukas Tönne [Tue, 16 Dec 2014 17:30:22 +0000 (18:30 +0100)]
Optional layers setting to directly place new objects in specific layers.

4 years agoFix for vertex weighting of samples: the coordinate spaces of sample
Lukas Tönne [Tue, 16 Dec 2014 10:50:24 +0000 (11:50 +0100)]
Fix for vertex weighting of samples: the coordinate spaces of sample
location and vertex locations have to be consistent.

When these vectors are in different spaces there is usually a large
offset between them, leading to very uniform weights and interpolation
always in the center of a face.

4 years agoSmall fix for undefined variable in vertex loop if the list is empty.
Lukas Tönne [Tue, 16 Dec 2014 10:40:31 +0000 (11:40 +0100)]
Small fix for undefined variable in vertex loop if the list is empty.

4 years agoTwo more progress displays for the SampleViz object creation and the
Lukas Tönne [Tue, 16 Dec 2014 10:35:42 +0000 (11:35 +0100)]
Two more progress displays for the SampleViz object creation and the
blob grouping process.

4 years agoInternal support for rotating duplis according to the ground slope normal.
Lukas Tönne [Tue, 16 Dec 2014 10:17:44 +0000 (11:17 +0100)]
Internal support for rotating duplis according to the ground slope normal.

4 years agoSimplified progress reports: Use simple module-level settings for
Lukas Tönne [Tue, 16 Dec 2014 09:21:56 +0000 (10:21 +0100)]
Simplified progress reports: Use simple module-level settings for
controlling output, and don't pass report types as extra args.

4 years agoSome UI tweaks to improve usability and avoid confusing workflow.
Lukas Tönne [Mon, 15 Dec 2014 21:05:32 +0000 (22:05 +0100)]
Some UI tweaks to improve usability and avoid confusing workflow.

The main "make samples" operator now disables the ground object settings
UI, which forces users to explicitly delete the samples before running
it again.

The secondary update operators for patches and physics are disabled
when there are no samples/blobs, which makes the workflow much more
structured and easier to understand.

4 years agoMore usable default visibility settings for automatically generated
Lukas Tönne [Mon, 15 Dec 2014 20:08:19 +0000 (21:08 +0100)]
More usable default visibility settings for automatically generated

Child objects grouped under a common root (blobs and patches) are now
unselectable by default, otherwise selecting by clicking  becomes barely
possible with all the extra geometry.

The visualizer object is now hidden by default, it only serves as an
occasional hint for debugging.

The radius for duplicator faces is now very very small, so it doesn't
hinder the appearance in the viewport (face size doesn't matter for

4 years agoUse separate root objects to gather the sample visualization and the
Lukas Tönne [Mon, 15 Dec 2014 19:41:30 +0000 (20:41 +0100)]
Use separate root objects to gather the sample visualization and the
duplicator objects.

This makes it easier to control either of these, because they usually
require different settings, e.g. one may want to completely hide the
visualization without disabling viewport or rendering for duplis.

4 years agoFix for face interpolation after ray casts, now supports non-triangle
Lukas Tönne [Mon, 15 Dec 2014 19:14:58 +0000 (20:14 +0100)]
Fix for face interpolation after ray casts, now supports non-triangle
ground objects.

The ray case function returns a poly index instead of the plain tessface
index. Now the blob samples store a list of polygon weights instead of
tessface weights, so arbitrary ngons are supported properly.

Note: this code relies on the new mathutils.interpolate submodule.

4 years agoTiming info added to the progress report system.
Lukas Tönne [Mon, 15 Dec 2014 13:58:00 +0000 (14:58 +0100)]
Timing info added to the progress report system.

4 years agoGeneric progress report system with optional stdout and wm.progress
Lukas Tönne [Mon, 15 Dec 2014 13:28:17 +0000 (14:28 +0100)]
Generic progress report system with optional stdout and wm.progress

This works as a context manager: For any step in the process a loop can
be wrapped in the ProgressContext context manager. These classes are
generated by make_progress_reporter, so the main output options can be
defined on a high level, while actual number of steps is defined only
when actually running the job and the total amount of items is known.

4 years agoSqueeze a little bit more performance out of the sampling code by
Lukas Tönne [Mon, 15 Dec 2014 11:08:08 +0000 (12:08 +0100)]
Squeeze a little bit more performance out of the sampling code by
"pre-allocating" grid lists.

This is about as far as optimization can go in plain python (avoiding
class __init__ methods could help further). Eventually this code should
be implemented in C/C++ though, dealing with large arrays is not pythons
strong point ...

4 years agoMoved creating of base levels and the point grid in the dart throwing
Lukas Tönne [Mon, 15 Dec 2014 10:26:13 +0000 (11:26 +0100)]
Moved creating of base levels and the point grid in the dart throwing
method into the actual generator.

This takes considerable time (to be investigated) and should only happen
when the generator is actually used.

4 years agoRemoved home-grown Profiling class, cProfile does a much better job.
Lukas Tönne [Mon, 15 Dec 2014 09:15:01 +0000 (10:15 +0100)]
Removed home-grown Profiling class, cProfile does a much better job.

4 years agoMoved profiling code up one level.
Lukas Tönne [Sat, 13 Dec 2014 13:46:32 +0000 (14:46 +0100)]
Moved profiling code up one level.

4 years agoMoved calculation of barycentric face weights from the "patch" stage to
Lukas Tönne [Sat, 13 Dec 2014 12:49:51 +0000 (13:49 +0100)]
Moved calculation of barycentric face weights from the "patch" stage to
the "blob" stage.

Face interpolation itself does not depend on vertex groups. It makes
sense to have this in the slower sampling stage ("blobs") instead, so
the second copying/dupli stage ("patches") stays as fast as possible.

The workflow rationale is that users can create a ground surface
sampling once (which can take a few minutes on large scales), and then
continue tweaking the dupli objects and vertex groups of the ground,
which is quite fast (< 1 second typically).

4 years agoFix for invalid list assignment when popping the last cell from a level.
Lukas Tönne [Sat, 13 Dec 2014 11:41:57 +0000 (12:41 +0100)]
Fix for invalid list assignment when popping the last cell from a level.

Also fixed a potential float rounding error giving invalid index.

4 years agoOptimization for neighbor lookup on the point grid.
Lukas Tönne [Sat, 13 Dec 2014 11:04:43 +0000 (12:04 +0100)]
Optimization for neighbor lookup on the point grid.

As suggested in the paper, "Poisson Disk Point Sets by Hierarchical Dart
Throwing", points can be stored in adjacent cells of the point grid.
This increases memory usage somewhat, but greatly improves lookup times.

4 years agoRemoved mesh debugging from dart throwing code.
Lukas Tönne [Sat, 13 Dec 2014 10:23:12 +0000 (11:23 +0100)]
Removed mesh debugging from dart throwing code.

4 years agoSmall improvement to the PointGrid neighbors function: grid_factor
Lukas Tönne [Sat, 13 Dec 2014 00:05:37 +0000 (01:05 +0100)]
Small improvement to the PointGrid neighbors function: grid_factor
can be calculated in advance and stored in GridLevels.

4 years agoFix for costly pop() function calls on lists.
Lukas Tönne [Fri, 12 Dec 2014 23:51:57 +0000 (00:51 +0100)]
Fix for costly pop() function calls on lists.

These are called a lot when the number of active cells (overall sampling
area) grows. Popping an element in the middle of a list is much more
expensive than popping from the end, but since we don't actually care
about ordering, we can simply swap the element for the one at the end.

4 years agoUse the cProfile package of python instead of own clumsy code.
Lukas Tönne [Fri, 12 Dec 2014 23:43:59 +0000 (00:43 +0100)]
Use the cProfile package of python instead of own clumsy code.

4 years agoMore elegant serialization of blobs in customdata using the pickle
Lukas Tönne [Fri, 12 Dec 2014 15:05:17 +0000 (16:05 +0100)]
More elegant serialization of blobs in customdata using the pickle

4 years agoFix for invalid break statement outside loop.
Lukas Tönne [Fri, 12 Dec 2014 13:19:45 +0000 (14:19 +0100)]
Fix for invalid break statement outside loop.

4 years agoRun the serialization inside a single try block.
Lukas Tönne [Wed, 10 Dec 2014 18:20:04 +0000 (19:20 +0100)]
Run the serialization inside a single try block.

4 years agoUse customdata array storage in the ground object for storing sample
Lukas Tönne [Wed, 10 Dec 2014 18:13:42 +0000 (19:13 +0100)]
Use customdata array storage in the ground object for storing sample
information in .blend files.

This prevents the blob data getting lost when closing the file and so
does not require re-sampling of the mesh after loading.

4 years agoUse a dedicated parent empty object for blobs and patches for outliner
Lukas Tönne [Wed, 10 Dec 2014 16:44:20 +0000 (17:44 +0100)]
Use a dedicated parent empty object for blobs and patches for outliner
sanitization, instead of parenting directly to the ground object.

4 years agoShift the "primary object" focus from the grid to the ground object.
Lukas Tönne [Wed, 10 Dec 2014 14:39:22 +0000 (15:39 +0100)]
Shift the "primary object" focus from the grid to the ground object.

For artists it is probably more intuitive to select the ground object
to tweak settings.

Operators are now also displayed for every object type for convenience.

4 years agoKeep the outliner sane by making the ground object the parent of copied
Lukas Tönne [Wed, 10 Dec 2014 14:09:31 +0000 (15:09 +0100)]
Keep the outliner sane by making the ground object the parent of copied
objects and duplicators.

4 years agoUse of the ObjectSelection context manager ensures that the current
Lukas Tönne [Wed, 10 Dec 2014 14:00:24 +0000 (15:00 +0100)]
Use of the ObjectSelection context manager ensures that the current
selection is restored after running operators.

4 years agoCommon function for actually deleting an object from the blend_data.
Lukas Tönne [Wed, 10 Dec 2014 13:53:51 +0000 (14:53 +0100)]
Common function for actually deleting an object from the blend_data.

This replaces previous limited functions for clearing groups, which is
less reliable and fails in corner cases.

4 years agoSanitize the scene a bit when making patch copies, by ignoring unused
Lukas Tönne [Wed, 10 Dec 2014 13:16:36 +0000 (14:16 +0100)]
Sanitize the scene a bit when making patch copies, by ignoring unused
vertex groups and removing unused patches.

4 years agoMake sure sample and blob locations are in world space.
Lukas Tönne [Wed, 10 Dec 2014 11:18:58 +0000 (12:18 +0100)]
Make sure sample and blob locations are in world space.

This makes setting object transforms a lot less complicated and ensures

4 years agoExpect input coordinates for the mesh projection function to be in world
Lukas Tönne [Wed, 10 Dec 2014 11:12:34 +0000 (12:12 +0100)]
Expect input coordinates for the mesh projection function to be in world
space for consistency.

4 years agoFix for patch obmat using undefined variable.
Lukas Tönne [Wed, 10 Dec 2014 10:31:41 +0000 (11:31 +0100)]
Fix for patch obmat using undefined variable.

4 years agoRandomized vertex group selection for samples, based on the relative
Lukas Tönne [Wed, 10 Dec 2014 09:51:39 +0000 (10:51 +0100)]
Randomized vertex group selection for samples, based on the relative

4 years agoBarycentric weight calculation for face interpolation.
Lukas Tönne [Wed, 10 Dec 2014 09:19:10 +0000 (10:19 +0100)]
Barycentric weight calculation for face interpolation.

Ported over from C code in BLI_math_geom.

4 years agoSimplified weight calculation.
Lukas Tönne [Tue, 9 Dec 2014 23:39:46 +0000 (00:39 +0100)]
Simplified weight calculation.

Using a subset of vertex groups shouldn't be necessary. Simply using the
full array of vertex groups in the ground object doesn't require index
mapping and makes the code much simpler.

4 years agoBasic vertex group lookup for samples.
Lukas Tönne [Tue, 9 Dec 2014 23:29:29 +0000 (00:29 +0100)]
Basic vertex group lookup for samples.

4 years agoNew setting for dupli templates "use_centered" for switching between
Lukas Tönne [Tue, 9 Dec 2014 22:50:34 +0000 (23:50 +0100)]
New setting for dupli templates "use_centered" for switching between
blob and world centering of duplis.

This is necessary for particle instance duplis: Regular duplis work
relative to the dupli object's position, so its location should be
the same as the duplicator in order to get the correct patch placement.
Particle instance modifier OTOH adds the particle transform //on top of
the dupli transform//. This could be considered a bug, but until it gets
fixed officially this option provides a workaround.

4 years agoModified patch duplicator creation to allow sample filtering by vertex
Lukas Tönne [Tue, 9 Dec 2014 18:23:17 +0000 (19:23 +0100)]
Modified patch duplicator creation to allow sample filtering by vertex

4 years agoCreate a separate duplicator for each template object, instead of
Lukas Tönne [Tue, 9 Dec 2014 17:32:50 +0000 (18:32 +0100)]
Create a separate duplicator for each template object, instead of
sharing between all patches on the same blob.

This is needed because the face duplicator will have to selectively
duplicate a subset of the full sample set assigned to a blob, based
on vertex weights. This cannot be done with a single face duplicator
object at this point.

4 years agoProperties and UI for associating a patch template object with a vertex
Lukas Tönne [Tue, 9 Dec 2014 16:06:20 +0000 (17:06 +0100)]
Properties and UI for associating a patch template object with a vertex
group of the ground object.

This will allow filtering samples later on and selecting between
different template groups (defined by shared vgroup).

4 years agoScale the faces in blob objects to the patch radius to make them more
Lukas Tönne [Tue, 9 Dec 2014 13:45:41 +0000 (14:45 +0100)]
Scale the faces in blob objects to the patch radius to make them more
visible at great distances.

4 years agoClear the patch group when rebuilding blobs, in order to avoid confusion
Lukas Tönne [Tue, 9 Dec 2014 11:39:32 +0000 (12:39 +0100)]
Clear the patch group when rebuilding blobs, in order to avoid confusion
when the old duplicators are deleted.

4 years agoReorganization of the UI elements to stress importance of certain
Lukas Tönne [Tue, 9 Dec 2014 11:36:20 +0000 (12:36 +0100)]
Reorganization of the UI elements to stress importance of certain
settings and clarify workflow.

4 years agoAdd emission to the blob material to make it slightly more visible.
Lukas Tönne [Tue, 9 Dec 2014 11:21:06 +0000 (12:21 +0100)]
Add emission to the blob material to make it slightly more visible.

4 years agoRemoved the draw_type pseudo-property and propagation to blobs/duplis.
Lukas Tönne [Tue, 9 Dec 2014 11:12:55 +0000 (12:12 +0100)]
Removed the draw_type pseudo-property and propagation to blobs/duplis.

This feature is too clumsy because adding more properties can only be
done manually and adds lots of maintenance overhead.

Instead, the "make patches" step can simply be repeated when template
properties (such as the draw mode) are changed. This could also become
an (optionally) automatic update that runs via a scene update handler
when the user changes the template object.

4 years agoSet material and color properties of Blob objects.
Lukas Tönne [Tue, 9 Dec 2014 10:51:11 +0000 (11:51 +0100)]
Set material and color properties of Blob objects.

This gives a better idea of the dupli distribution and potential
problematic areas. The colors are currently assigned randomly based on
the blob index; if necessary a 4-color scheme might be possible:

4 years agoFix for failing ray cast projection onto flat ground surfaces.
Lukas Tönne [Tue, 9 Dec 2014 09:53:44 +0000 (10:53 +0100)]
Fix for failing ray cast projection onto flat ground surfaces.

This was failing because the ray_cast object method assumes that the
ray is limited by its end point. For a flat mesh this end point
coincides exactly with the mesh faces (using the bounding box limit),
so all the rays are rejected. Adding an offset to the ray length solves
this issue (although it should possibly be fixed in the API with an
optional parameter).

4 years agoSplit the meadow generating process into two steps.
Lukas Tönne [Tue, 9 Dec 2014 09:26:31 +0000 (10:26 +0100)]
Split the meadow generating process into two steps.

1) Sampling: Generates a sample distribution (by hierarchical dart
throwing method) and creates a number of blob objects to use as

2) Copying/Duplis: Make copies of the patch templates for simulation and
make duplis.

The dupli/copy step is repeated more often and is faster by itself. It
is necessary to repeat this step in order to update patches to changes
in the original templates, but this doesn't require resampling the
ground object and making blobs.

4 years agoImport Export Vertex Groups rewritten
Eugenio Pignataro [Mon, 8 Dec 2014 16:05:07 +0000 (13:05 -0300)]
Import Export Vertex Groups rewritten