Extensions:2.6/Py/Scripts/Object/Grow Modeller/Grow Modeller Development

提供: wiki
移動先: 案内検索

This page is intended to give an idea of how the Grow Modeller addon will be developed. This is useful to uses to see the features it is intended to have and why.

Roadmap

Next Version 0.3.4

For the next version I will be working on the setting of Grow Weights in the user interface and I would like to introduce Triggers that can change these Weights. I would also like to give more control over the variables in the code that are passed to the update properties.

Known Issues

  • When undo is used there is a problem with the grow-to lists.
  • Applying rotation and scale to objects with Grownodes needs sorting out.(for now it is best to edit the scale and rotation of objects in edit mode).
  • There is still a problem somewhere with the collection properties for the footnodes that grow from the budnodes and the grow dict... ie 'footnode_Fnnn' not found in property key error. Work around for the moment is to save your work and reopen the file.
  • Still need to check that the rotation works correctly when Footnodes have some rotation.

Features

The following table represents features which may/should be includes in the Grow Modeller addon. Those I think are necessary will be considered for implementation first and are labelled Required. Those that would give further functionality are labelled Extra. Those that need thinking through further because they are not so specific are labelled Expand. The Priority and Ease of Implementation of a feature are given a value from 1 to 7. A value of 1 would mean low priority or easy however they are not calculated values, just quick judgements based on a number of factors. They are not fixed. The Ease of Implementation is not just a consideration of difficulty, but also time, how much the code has to change, back compatible will it make the new version, how much of the interface will need to change, etc. A question mark, ?, means I'm not sure, its just a guess!

Ref. Feature Priority Ease Type
f1

Make Operator - Bind together all objects in the selection, using make single user and boolean union operator. done but for the moment there is an error with the boolean union modifier. bug [#30462]. A way round the problem is to make sure objects overlap not just touching. put Grownodes on the inside of the objects. I could try instead: make all single user,Join,create a new cube the size of the bounding box and do a boolean intersection.

2 ? Required
f2

Don't grow objects larger or smaller than given scale limits This could be done with f3 below.

5 3 Required
f3

Triggers that change an objects growing probability including object repeat count, these will use variables and grow weights.

6.5 5 Required
f4

New Objects attach to the surface of the last Object.(think about how prickly pears grow).

- - v0.3.2
f5

Propagation of variables through objects that can be used in the bud nodes. (Think... the leaflets on a fan palm leaf get longer before they get shorter toward the tip, but the central rib generally continues to reduce in width from base to tip.)

- - v0.3.0
f6

More grouping options for each run.

2 3 Extra
f7

Give budnodes the option to not grow if the new object overlaps.

2 6? Extra
f8

External influence to the growth of objects, maybe as nodes. Used to represent the effects of wind and light etc. during growth.

5 5 Extra
f9

Include materials

6 - Expand
f10

Include particles

6 - Expand
f11

Edit more than one selected budnode

5 6 Required
f12

In Footnode panel. Select n Footnodes and connect them to a chosen Budnode. This is for when the MixMesh addon can create a Footnode group.

- - v0.2.8
f13

Include a fraction of base objects dimensions for attaching from Budnode. Consider as Update Property.

4 3 Required
f14

Shape key weight should be included. At first by default to shape key index 1 if at least 2 shape keys exist. Update Property will make new object single user.

- - v0.3.3
f15

New Objects attach to the surface of a selected Object.(think about veins).

7 5 Required
f16

More Options to control where a new Grownode attaches.

6 4 Required

Changes

Here changes that need to be made are listed

  • The main loop of the code needs changing to disclude objects that can/will no longer grow.

Ideas

Ideas, are what they say. They are still a bit pie in the sky! :)

  • Use the mesh bridge addon to link 2 faces with a new object during growth. The faces would be those closest to the Grownodes. Either a new object is made that is the bridge object or the new grown object becomes single user and is modified to include the bridge. This would be good for smooth connections.
  • you could create a list of the node objects that have grown from and to and then bridge them afterwards creating one object from the selected objects. Or a number of objects if there is a variable to control weather they can bridge.
  • Add nodes to growth groups. (do I need to do this???)

Released Versions

These can be found on the Release log page