Willow Tree Process (Part 4) – Rigging and animating

A small amount of downtime over the past couple of days has given me the opportunity to move forward with my Animesh Willow experiment.

At this point, I have to mention that this is all it is – an experiment. In the course of playing with animating a tree, I ran in to a number of hurdles which I’ll have to consider whether I want to get around before any possible release. (I’ll go in to these a little later).

From the hint that animesh might be a thing, I’d been thinking about using it for more efficient modelling of animated vegetation. Willows are the most obvious candidate for me, since I’ve long avoided creating more.

Original solutions for willows have historically included flexiprims and while these may still prove useful, I wanted to see what I could come up with that wouldn’t be so taxing on the viewer. The opportunity to create something that isn’t so heavily dependant on SL wind is also promising.

My willow tree armature required  some significant modification of the default Bento avatar armature.

Willow Tree Process (Part 4) - Rigging and animating

Currently, Avastar allows a user to select and move bone joints for either the blue/purple SL armature or green Control Bones in edit mode, then to align them to their counterparts. This is what I did and (so far) I haven’t needed to adjust any of the parenting for this rig.

I opted not to make use of the lower limbs (for now) because doing so can present some orientation issues due to how bones are parented. If i need to in the future, I may put in more time to figure this out, but in this particular use case, I chose to just use the bones from torso up, arms, hands, wings, neck and head (no face), simply because these would handle the geometry sufficiently.

The result is, in a very general sense, positive.

Willow Tree Process (Part 4) - Rigging and animating

For the most part, the trunk was parented to bones which are logically closer to the middle of the skeleton. So it got torso, chest, collarbones, upper, lower arm, neck, head, etc. Most of the fingers got assigned to equidistant areas around the trunk for foliage.

In hindsight, I would probably rig and model concurrently. Because there was a significant amount of foliage geometry mixed together, selecting appropriate foliage and assigning it to its nearest bone was a bit tedious. Doing this a bit at a time to ensure proper movement would have been the better way to go.

Willow Tree Process (Part 4) - Rigging and animating

Fortunately, Avastar offers a means of checking for unweighted verts, so this process was made a bit easier as a result.

Weighting was undertaken mostly using the weight painting brush, but occasionally I would also hold down Ctrl while making my brush strokes to create a gradient of weights for my selected vertices.

Because there were so many vertices in relatively close proximity, I selected the bones I wanted in weight-painting mode, then hit ‘V’ to show vertices. I then selected the vertices I wanted to paint (rather than painting on everything)  and brushed on only the areas highlighted by the selected vertices.

Animating the tree:

Once all of the vertices in the geometry were assigned, it was time to try some basic animation. So far, I’ve just put together a basic sway animation as a test case, but I may continue to create a variety of other animations the tree can play on command.

Willow Tree Process (Part 4) - Rigging and animating

In order to create an animation, I split off a window pane in Blender and switch it to ‘Dope Sheet’ view. This gives me a frame-by-frame listing of bones for which location and/or rotation* has changed, over time (in frames). There are other more detailed and useful views you can use for animation, but this is the most basic view you’ll need right away.

(* Scale changes are ignored by SL, both on the armature and animation side.)

The Dopesheet operates mostly from left to right, although it does list off bones which have been weighted, on the left hand side as ‘channels’. When a bone is selected in 3D view, the appropriate channel will highlight in the Dopesheet view. On the flipside, you can also left-click the name of the bone in Dopesheet view to select the bone in 3D view.

To animate, we need to ‘keyframe’ a set of changes in rotation and/or location and have Blender interpolate these transitions from keyframe to keyframe. In this case, the chief translations we need to make will be rotational.

Willow Tree Process (Part 4) - Rigging and animating

To begin, I select every bone in the armature and keyframe the current rotation as a keyframe (Hotkey I, select ‘Rotation’). This will be my starting frame.

Next, we need to create the second position for the appropriate bones. Since I am only moving the hanging foliage, I select the appropriate bones (mostly just finger bones) and rotate them in the general direction I want.

Willow Tree Process (Part 4) - Rigging and animating

Then, since I just want to test and loop motion between these two keyframes, I select all of the points from the first keyframe, duplicate them and move them to where I want my end frame to go, allowing the animation to seamlessly move from the last frame to the first when it loops.

Willow Tree Process (Part 4) - Rigging and animating

 

Next, we need to define our export settings to convert these keyframes to a full blown animation that can be used in Second Life.

Willow Tree Process (Part 4) - Rigging and animating

Of note: Normally, frames per second (FPS) is set around 24. This particular animation has been slowed down significantly such that only two frames play per second, for a much more subtle effect. This can be played with depending on application – sometimes I will tinker with this to speed up or slow down walk-loops for avatars.

By default, I export .ANIM files instead of .BVH files – I don’t play much with the system morphs that come with .BVH and in this case, such morphs (system avatar-based facial expressions, hand gestures) are not applicable to this sort of content.

Once I have defined the start and end frame for the animation as well as the start and end frame for the loop (not always the same!), I click ‘Export: AvatarAction’ and save it with an appropriate file name.

In-world, I enable my willow as an ‘Animated Mesh’ object and drop the animation in to the mesh. Some additional scripts are needed to make use of this animation – some sample scripts to get you started can be found on the Animesh regions on ADITI grid currently. Hopefully we’ll see some more sample scripts on the wiki soon too.

The result:

Willow Tree Process (Part 4) - Rigging and animating

Current downsides:

  • Animesh currently can’t be resized. They make use of the armature, where the size is defined upon upload. It may be necessary to create several different sizes for variety and, depending on application, special attention to scaled animations may be necessary as well.
  • Transparent textures placed upon Animesh-enabled geometry currently do not cast a correct shadow.
  • Base 200LI – this is likely to change for the better. Vir Linden has always maintained that the current 200LI base is boilerplate and mainly intended to be more restrictive than the ultimate release. Once I have a better idea of base cost, I’ll have a better idea of whether I’d like to move ahead with further LOD optimization and more detailed animations.

So for now, this willow will be on my backburner until we have more info from the weekly content creation meetings (Thursdays at 1PM SLT, Animesh 4 region on ADITI grid).

In any case, I wish you all a very Happy New Year!

I’ve had the fortune of being able to pick up more work in the past year and also the opportunity to present my thoughts and new releases with you lately here on the blog – I’m really looking forward to keeping the ball rolling in the coming year and hope to have more to share with you soon!


If you found this or any other of my articles helpful, please consider becoming a Patron! Doing so supports further articles of this kind and my content creation in general.  Alternatively, if you like the sorts of things that I make for Second Life, drop by my Marketplace listing or my in-world stores and check out what I have to offer!

Unless otherwise noted, I (Aki Shichiroji) and this blog are not sponsored in any way. My thoughts are my own and not indicative of endorsement by any associated or discussed product/service/company.

 

Willow Tree Process (Part 3) – Foliage In the Round, Trunk texturing too!

Last time, we left off with the start of some great foliage for our willow tree, but the placement overall was a bit sparse.

Willow Tree Process (Part 3) - Foliage In the Round, Trunk texturing too!

Today, we’ll look in to ways of bulking up the foliage so that it looks more healthy.

At this stage, the easiest way to develop a stronger silhouette from all angles is to consider the foliage as multiple pieces of a whole, each varying in size but as a whole ‘mounding’ or ‘padding’ in key areas.

There are a few different techniques available for the tree-making process, but because we’re dealing with a tree that has somewhat out-of-the-ordinary foliage, I’ve chosen to create planes of geometry which have been mapped to parts of a larger texture and to have each of these planes intersect at a common area, to simulate a branch.

 

Here, I’ve used much the same process as last time to create a variety of different foliage shapes based upon some underlying branch drawings.Willow Tree Process (Part 3) - Foliage In the Round, Trunk texturing too!

The same leaves and stems we used for the sideways texture are repurposed here, again with the help of bezier curves, which allow for non-destructive manipulation of geometry when a ‘curve’ modifier is added to the mesh object.

A gentle sweeping shape is added to the plane to simulate the slight upward growth, then strong downward plunge of foliage due to gravity. Once I have a shape I’m happy with, the geometry gets duplicated and resized, then I’ll take the geometry and map it to a different strand of foliage within the same UV map for some variety.

 

 

Willow Tree Process (Part 3) - Foliage In the Round, Trunk texturing too!

At this point, I split up my 3D view so that one view is using a rendered view and the other is solid or wireframe to properly place each piece so they intersect properly.

Once I have a cluster of this type of foliage that I’m happy with, it gets placed in strategic places where the other foliage type was lacking. It can also be helpful to hide the other foliage material temporarily to aid in clear placement.

It’s important to take multiple angles in to consideration here; while it’s not always possible for an object to look good from all angles, the goal here is to create visual interest through a play between areas where there are foliage and areas where there are not.

Willow Tree Process (Part 3) - Foliage In the Round, Trunk texturing too!
There’s still a ways to go in terms of filling out volume from the top-down view, but progress is being made!

My immediate priority is to create an effective silhouette along the top surface of the tree. Then, I do the same working from a top-down view, taking care to create leaf cover in trunk/branch areas which are still bare.

It’s during this stage that some experimentation in balancing the different foliage geometry shapes is important. I started out using a variety of upright planes to create the impression of volume from the front view, but adding rounded foliage makes a big difference! There’s still a lot of push and pull to go, but this has come a long way compared to the tree we were left with by the end of last week’s post.

Also, you might notice that I got around to texturing the trunk; this was accomplished by importing a .OBJ copy of the trunk to Substance Painter and working with the tools therein.

Willow Tree Process (Part 3) - Foliage In the Round, Trunk texturing too!

I usually start with a base wood material, but never leave it as is. For one thing, Substance Painter still isn’t smart enough to figure out how to hide seams, and for another, I like to add a lot of little touches to make the look a little more unique.

In this case, I created another layer overtop of the wood and used a scratchy brush to create the deep furrows this tree’s bark tends to have. The brush included both a diffuse and height element so that I could give the impression of accumulated dirt and shadow, paying particular attention to seams and minimizing the tonal differences in these areas.

I then also made use of a particle brush to blow some dust and grime all over to add a bit more age and wear to the texture.

These textures were then exported using my usual PBR SpecGloss configuration (the default preset in the exporter) and added back to the model in Blender for one more rendering pass, since I wanted just a bit more kick than the plain textures would provide, given SL’s existing material shaders (somewhat limited).

Willow Tree Process (Part 3) - Foliage In the Round, Trunk texturing too!Moving forward, I’m likely to do a bit more balancing of foliage to make it a bit more subtle, but the basics are there.

Next week, I hope to have enough time to experiment with rigging & animations, plus consider the feasibility under current testing conditions.


If you found this or any other of my articles helpful, please consider becoming a Patron! Doing so supports further articles of this kind and my content creation in general.  Alternatively, if you like the sorts of things that I make for Second Life, drop by my Marketplace listing or my in-world stores and check out what I have to offer!

Unless otherwise noted, I (Aki Shichiroji) and this blog are not sponsored in any way. My thoughts are my own and not indicative of endorsement by any associated or discussed product/service/company.

 

Willow Tree Process (Part 1) & Bezier Curves

The last week has been a bit nuts!

Family is up from the States this week, so there was a family dinner. I also took a bit of free time earlier today to pick up a lovely vintage table for my kitchen, which is sorely lacking in the style department.

I am overseeing and creating content for a couple of new work projects and hope to be able to talk more about them soon – in the mean time, I figured I’d touch a bit on some work in progress I’ve got in mind for an upcoming Organica release.

It’s been a *long* while since Organica offered a weeping willow. Simply put, it’s mainly because I am not real big on flexi prims being linked in to mesh and, back when I did make some, we only had alpha blending (and not masking) – so it would be common to run in to issues where some textures would overlay others in an undesirable fashion.

With those caveats in mind, I figure it’s a good time to revisit willows, because let’s face it – a naturally moving  tree would be a great example of non-animal Animesh.

While I won’t touch on the rigging just yet here, I will at this point discuss my general modelling & UV layout process.

Willow Tree Process (Part 1) & Bezier Curves

The process begins with a simple cylinder – usually with no more than 12 sides, and with the length divided a multitude of times. I usually create the UV layout for this cylinder pretty early on (even though I do later unwrap the geometry again) because multiple copies will be made of this cylinder and it’d be nice not to define seams for each and every one.

While I could probably define the shape of the geometry by moving the verts around,  lately I’ve taken to adding a Bezier Curve nearby and applying the curve as a modifier to the cylinder, taking care to apply scale and location before any heavy modification takes place.

Willow Tree Process (Part 1) & Bezier Curves

By using a modifier, non-destructive changes can be made, allowing for a considerable amount of experimentation in placement and rotation prior to committing to a final shape. In this case, I am moving various nodes in the bezier curve to direct the overall direction of the mesh.

How does one use Bezier curves?

Assuming you are already familiar with how to move, rotate, scale and extrude vertices, edges and faces in geometry, Bezier curve nodes are similar to individual vertices (although more accurately, they are very similar to NURBS nodes).

A Bezier Curve in Blender (in object mode on left, edit mode on right)
A Bezier Curve in Blender (in object mode on left, edit mode on right)

Basically, each node along a curve is accompanied by a pair of handles which control the direction of the curve directly before and after the node. They are always 180 degrees from each other. The closer these handles are to the node, the shorter the area of influence they will have.

The default bezier curve will give you two nodes. You can add nodes in between by dividing the space between the two in the same manner as you would between two vertices. You can also extrude additional nodes from the start or end of the curve.

You can either apply this curve to existing geometry (using the ‘Curve’ modifier’) or extrude some basic geometry along the curve (using the ‘Curve’ properties menu, when the curve is selected). There are some additional advanced things you can do to this extruded geometry (such as non-destructive tapering or bevelling) but for the purposes of this demo, I have only applied my curves to geometry as a modifier.

It should be noted at this point that, even at top level geometry, I do not subdivide at this point. This is important, since fixes will later be necessary to clean up the results of proceeding workflow. It’s way less hassle to redirect and merge fewer vertices than more. If smoother, more curvaceous transitions are needed, subdivisions should occur after the final UV layout has been finalized (IE: not now!)

After the trunk has been defined, I select both the mesh and the curve and duplicate them at the same time, adjusting basic position, scaling and rotation at the Object level, then editing individual branches for variety by selecting the appropriate curve and editing in edit mode.

After I am satisfied with all the branch placement, I join each branch to the main trunk using a Boolean Modifier (‘union’ setting) to create the branch geometry in the same object as the trunk and also to join it with the trunk. This leaves behind a copy of the original branch, which can either be archived to a different layer or deleted entirely.

I do this for all of the branches, then go back and check each of the joints between the branches and trunk.

Willow Tree Process (Part 1) & Bezier Curves
Before (left) and after (right) some vert cleanup at the branch/trunk joint. Also, seam assignment.

Typically, use of the boolean modifier will create extraneous verts, showing the point at which each face intersected with its adjacent geometry. This is, by and large, undesirable and I will usually either merge several extraneous verts to converge on one desired vert OR i’ll select edge loops and slide them in the correct direction, taking care later to remove any remaining duplicate vertices. Checking for N-gons (polygons with more than 4 edges) should also be done at this stage.

Willow Tree Process (Part 1) & Bezier Curves

Cleanup is done around each joint, after which I attempt another UV unwrap to achieve a nice layout that is fairly clean, not overly stretchy, correctly scaled and laid out in a convenient direction.

Willow Tree Process (Part 1) & Bezier Curves
Tree trunk & branch UV layout

The overall silhouette and UV layout have been achieved. Further modifications  within these constraints (additional edge loops to create more curves, for example) would be ideal at this point.

We’ll leave it here for now. Next week, I’ll discuss foliage geometry, layout and general texture creation.


Did you know I have a Patreon account? If you enjoy this content, please consider becoming a Patron! It helps me create more like it and offers a variety of rewards. Alternatively, if you like the sorts of things that I make for Second Life, drop by my Marketplace listing or my in-world stores and check out what I have to offer!

Unless otherwise noted, I (Aki Shichiroji) and this blog are not sponsored in any way. My thoughts are my own and not indicative of endorsement by any associated or discussed product/service/company.

Home and Garden Expo 2017

Organica has a spot at this year’s Home and Garden Expo!

Home and Garden Expo 2017

This new 8 piece writing desk set includes corkboard, books, pencils, fountain pens, blotter, notebook and ink, along with a classic wood writing desk that’s great for any home!

Pieces range from 1-2 LI each and the set is mod, copy, no transfer.

 

Home and Garden Expo 2017 Home and Garden Expo 2017

Among many other RFL donation items, these two new hens and chick items are great for both indoor and outdoor use! 3-4LI each, they are mod, copy, no transfer and 100% of proceeds from the following items will go to the Relay for Life!

Visit Organica at Relay for Life at Hope 6!

Unpacking – 2016 and beyond

It’s been a while since I last posted, and for good reason.

Much of 2016 for me was characterized by offering in-home care for my Grandmother after she came to live with family and after she passed away in September, the conditions were just right to move on, ahead and out. So on top of some new long-term work that takes up a large portion of my week, the past few weeks I’ve been moving (box by box) in to my new place.

Looking back on the year in SL, I would say that a lot more time went in to testing and experimenting with new content tools (IE: Bento) than general releases. The closed beta got announced last year on or near my birthday and it effectively became the gift I wanted for a very long time but which continued to redefine itself well in to the year that followed.

The bones offered changed numerous times, as did their parenting.

  • Whereas originally only additional wing, face, hand and tail groups were added, we got hind-quarters not long after I tried making my first centaur with wing bones (cue centaur iteration #1).
  • Additional spine bones were added relatively late and to date I’m still not entirely sure what the rationale was for their placement in the bone chains (they inherit other parent bones somewhat oddly) (cue centaur iteration #2)
  • After feedback, some changes were made to bones in the face that allow for a bit more rotation-only movement for those who wanted to keep slider functionality yet still animate the face.

Juggling these changes has been (and continues to be) a trial when paired with the fact that the sole Blender tool for working with this new rig has also been in development concurrently – so for those working on the bleeding edge really found themselves making and remaking content. There are various projects (the wyvern, centaur and a new peryton) on the backburner for me at the moment because they push the limits of what the rig can do and how Avastar can deal with it (Basically, every time something major changes in the plugin that prevents an update in the armature, each of these need to be re-rigged and animated).

Unpacking - 2016 and beyond

At least now, with Bento officially in the mainstream viewer, I have one less sliding scale of development to worry about. Many basic things like tails and ears can be found on the market now. A few mesh head makers have been selling and supporting new human heads for a couple months. I released the Yeti avatar pretty much on the gamble that Bento would go live in December and it’s actually done quite well. You can look forward to some new content imminently, with the onset of Enchantment SL’s Cinderella round (see next post).

Moving forward, I’ll continue making products for both Organica and Wilds of Organica. I have quite a number of Bento-related projects that I’ve been itching to finish up/get-to/start on the avatar side and look forward to working on some more home & garden items as the inspiration strikes surrounding settling in to my new home.

Additionally, with Sansar on the horizon, it’ll be really interesting to see where I can take my skills and push them further.

I’m hoping to get a bit more settled by the end of this month and then we’ll see where my available time leaves me in terms of thinking up new fun things to make. In the mean time, please stick around for my next post, wherein *gasp* actual stuff gets released. 😲

New Releases from Organica for June 5

 

LavenderField-vendor-768

This new field item includes both scripted and unscripted versions of a mesh tile which can be used to create lavender fields! Great for small gardens or large fields. Mass texture change available by linking multiple copies together. Mod, copy, no transfer, with copy only scripts. Available In-store and on the Marketplace.

WoodenSunflower-vendor

This new wooden carving is now available for home decor! 5LI at packaged size, mod, copy, no transfer. Available in-store and on the Marketplace.

Additionally, now’s a good time for me to touch on Organica’s own Facebook page, which has been around for a bit but through which I’ve not really updated much lately. If you’d like to keep updated via Facebook, all further home & garden posts from this blog will also be linked over here: https://www.facebook.com/Organica-Specialty-Landscaping-and-Decor-1544111192469130/ 

 

New Juniper and Elven Bridge now available + Blogger applications open

There are a couple new releases this week at Organica!

JuniperBush1-vendorFirst is a brand new juniper bush that comes in at 2LI and comes with four foliage options! These are great ground-cover/mid-sized bushes that are great for filling in gaps between flowers & trees or just on their own! Mod, copy, no transfer. Check them out here!

ElvenBridge-Silver-Vendor ElvenBridge-Alpine-vendor ElvenBridge-Black-Vendor

Secondly, check out this beautiful fantasy-inspired Elven Bridge! Available separately in three colours! These large bridges are packaged at 34 by 20 by 8m in size and are 82LI. They fit in well on medium or large parcels that need a connecting structure of some kind. Materials optimized, mod, copy, no transfer. Check them out here!

Now Open for Blogger Applications

Finally, Organica Specialty Landscaping and Home Decor is seeking to establish a small group of established bloggers for all new landscaping and home decor products. Accepted applicants will be sent new releases periodically and expected to blog at least one item per month. Please drop me (Aki Shichiroji) a notecard in-world including the following info:

  • Your Av Name
  • Your Blog URL/Flickr page
  • How Long Blogging
  • Syndicated Feeds
  • A short blurb on why you think you’d be a good fit.

Applications will be evaluated based on quality of posts and degree of activity, with preference given to those who make the effort to post more than just an item listing. Lastly, while all applications will be read and kept on hand, only successful applicants will be contacted. Thanks for your interest!

 

Two new trees available + more!

 

First off, the store has moved. It can now be reached hereSome older field plant items (such as the daffodils and the tiger lillies) have been converted to mesh (a housekeeping item that had until now been left unaddressed) and other products are still being moved/reorganized/sorted for retirement. Your feedback on the new layout would be much appreciated; please feel free to IM me (Aki Shichiroji) directly.

In the mean time, here are a few new releases!

SugarMaple2-Vendor-sml

This new release features all-new hand-painted foliage and trunk textures, low LI and is materials-ready. Mod/transfer and mod/copy, both available in-store here: http://maps.secondlife.com/secondlife/Organica/157/133/2501

Elm5-vendor

Give your backyard character with this huge old elm! This huge and hearty tree will tower above you at almost 20m and comes with three foliage textures! At 27LI, this tree provides a wonderful eye-catching centerpiece to you yard! Mod/transfer and mod/copy, both available in-store here: http://maps.secondlife.com/secondlife/Organica/138/146/2501

New Pleated Blinds!

New this week at Organica, check out this set of horizontal pleated blinds! They’re great for any window and can be adjusted for full length through a simple setup & confirmation! Once set up, you’ll be able to set them open, quarter, half, 3/4 or fully closed.

This set features hand drawn prints of hops, barley and grapes. Each blind is 2 LI and mod/copy with a copy only script.

Libation1-vendor

 

Much thanks go to NeoBokrug Elytis of Desolate Studios, who provided scripting help for this item.

New floor lamps this week for The Neighbourhood!

Tri-ColourTwister-Floorlamp-fatpack-vendor

 

New to the Organica main store this week are these elegant floor lamps, featuring stained glass shades with a polished steel body.  Click to turn on & off and be sure to view with the advanced lighting model (including projectors!) for the full effect! 1 LI each, mod, copy, no transfer. Grab the fatpack here for only L$150 Saturday, July 4!