Custom leaves and vertex normals: how to?

Hello forum,

I’ve been looking for quite some time and could not find a proper answer to my problem. I’m trying to add custom leaves and fruits to trees created with the Sapling add-on. For that, I chose square leaves, and split in half the base segment of each leaf, so that I could select the set of all vertices located at the base of each leaf on the branch - let’s call that objet “petioles”, for lack of a better idea.

For the record, that process is very clearly explained in this thread (matali’s answer).

Now that I have that set, I can add a particle system to it and attach a “fruit” objet at the base of some leaves, which is nice. Now I want each fruit to have a natural fruit position : downwards, away from the trunk in the vertical plane of the branch (they are not cylindrically symetric, think bananas or figs).

My concern is that each vertex in the “petioles” object has a vertex normal that points towards the origin of the tree, and there is no way I can use that to have a proper fruit position, even when tweaking rotations in the particle system. I tried to add a “normal edit” modifier, but it seems only to apply to “vertex-per-face” normals and not to mere vertex normals as I have (see screenshot below for illustration).

I would just like to edit those normals, so that they point basically downwards and somewhat apart from the trunk. Is that possible? Or is there a better idea to position my fruits and custom leaves?

It sounds to me like you will need a leaf/petiole mesh that is in two separate sections. The leaf can stay as is, with the object origin and normals as needed to properly place the leaves on the branches. A second and separate portion of this mesh, the petiole, will be your fruit particle emitter (it can be restricted using Vertex Groups). The orientation of the petiole portion will likely need to be adjusted to best present the fruit on the tree while not affecting the leaf portion. That is best done by trial & error, but should not take long.

If the leaf is to be visible, the petiole emitter mesh must be set to render the Emitter, so it will need a texture to either make it invisible (alpha trick) or make it appear as a true petiole, or even a stem for the fruit cluster. In the latter case a Solidify modifier can help it appear not 2-dimensional, but it will affect the leaf as well, so some sort of thickness modulation would be in order.

Thanks for your answer ! It actually took me some time to understand everything because I’m not a Blender expert, but now I think I got it. Nevertheless…

That’s precisely my probleme here: I don’t know how to change that orientation. All I have is a set of vertice, with their normal vector all set (and pointing towards the object’s origin) and I don’t know what to do to actually change those normals. The “normal edit” function does not seem to work on vertex normals…

Attached is a .blend illustrating my idea. Note that it is VERY rudimentary, just to show the idea of 2 parts to the leaf/fruit mesh.

leaves w_fruit.blend (1.14 MB)

The leaves/fruit are now a Duplivert object. The object used as particles is called Plane. Note that it has two parts to the mesh, at right angles to each other. The larger is the visible leaf; the smaller at the base of the leaf is the fruit emitter. That portion of the mesh can be selected in Edit Mode & reoriented or even re-shaped as you see fit, without affecting the leaf portion. The particle system for the fruit will need to be tailored, of course, but the clustering decisions are yours, and it’s easier to see the idea with a more abstract presentation of the emitted fruit objects.

Options include using part of the leaf texture map to give the emitter a visible aspect such as a true petiole structure.

Thank you so much for taking the time to answer and create an illustration! I learnt many things today, including the use of Duplivert, of which I hadn’t thought at all. I still have a long way to go before I can comprehend Blender…

Now please forgive me if my question is plain stupid due to my very partial knowledge of Blender, but I feel that you’re running into the same problem as I, but at the moment when you create the dupliverts. In fact, all “leaves” are oriented along normals, all coming from the origin of the tree (I tried to deform the base “leaf” object to make it very long, and indeed all of them cross at the very origin of the tree). My concern is to orient each leaf (particle in my file, duplivert in yours) along a normal other than those from the origin of the tree to said vertex. I thought to edit normals to make leaves point away from several local centres of branch groups for example. Is this even possible ?

I suppose that the quick and dirty solution would be to move the origin of the object itself to align those normals more or less how I need them to be, but it’s still somewhat crude…

Quick, dirty and crude are the cornerstones of hacking blender – You say it like it’s bad! :eek:

There’s a bunch of ways to do it, bang at for awhile and see if you can get it working, flipping switches in particle system is always fun. If you get stuck post some more.

So… that’s it ? I have to set the origin of my vertex subset way up in the air, in order to have all fruits more or less correctly aligned downwards? And the damn normals and relevant particles move again each time I try to move the origin again. Blender, you disappoint me.

Not that I’m using even one tenth of its possibilities, but still :smiley:

Well, anyway, thanks for the feedback. Here is an illustration of what I did, notice the cursor above the tree where the origin was set (normally it would be much higher to have normals look parallel). If someone knows better, please let me know…

P.S. Don’t tell me what my fruits look like, I know it. I just needed something quickly drawn with no axial symmetry, m’kay?

Hey, I’m French! I’m not impressed by things actually happening, I want theoretical perfection!

Truthfully I’m not that familiar with the options Sapling provides for its native foliage settings (Leaves), I just haven’t used it that much. However, I think I understand your question and can relate it to a regular Particle System using an Object as particles. In this case, the particles objects (leaves) are emitted along normals generated at the emitter surface, not affected by the particle object’s surface normals but by its orientation in 3D space. For the most part this is a good thing, as it mimics the natural situation with most foliage systems. Various Particle System parameters can be adjusted to modulate the emission, of course. All of the tropical vines in l’Emeraude are done this way (note: that thread contains nude figure work as well as leaves). I used a number of particle systems to get variety in both the leaf shapes and their orientation. Sapling does not allow for multiple systems as far as I know, so you may need to use standard particle systems to achieve your ends. Be aware, though, that I have not tried to make a Particle Object a Particle emitter as well with a standard system, as I did with Sapling & the Duplivert option. You may need separate systems for fruit & leaves.

HA! :cool:

Moving the origin to some weird spot outside the object is legitimate.

Sometimes you can create an extra orthogonal face on your emitter(s) for a secondary vertex group without having to fuss around with the local orientation or advanced rotation.