Tutorial Modelling Zoo Tycoon 2 Archived

Animating Meshed Foliage

S

by Simba

Published
14/11/2026
History
History
Reading time
4 min read
Views
0 views
Comments
0 comments
Like
Originally published by Simba on Northern Skies in May 2011.
On this page

Creating Animated Foliage in Blender

Note

It’s best to start with a plant/tree that’s already skinned and coded! Knowledge of Blender and Nifskope is required!

Step 1: Meshing

Mesh your foliage item in Blender. Also UV it if required. (Go through Meshing tutorials if you don’t know how to mesh)

Step 2: Adding the Armature

You have to give the foliage your own nodes.

Press SPACEBAR and select Add > Armature. Use Extrude to form the armature so it suits the tree.

Use not more than 5 nodes for the wood, otherwise animating gets too difficult. Use Another node for the leaves, so they can be moved a bit more.

Step 3: Weight-Painting

Now you have to weight-paint the model to the nodes. If you’re not familiar with weight-painting, dalturge eplained it quite well in this topic:

Weight Painting Tutorial - Dalturge

The branches nodes should have full influence on your model (on the branches as well as on the leaves), so they are red.

For the leaves node, paint with low opacity (0.25 or similar) on the leaves. Make sure you have some places without influence for the leaves.

Step 4: Animating

Now split the window of blender, in one screen you enable the timeline and the other one stays in 3D View.

  1. Move to pose mode of the Armature.
  2. Set the time frame to 50.
  3. Press A so all nodes are selected.
  4. Make sure the time controller on the timeline is on 0.
  5. Press I > LocRot.
  6. Move the time controller over to 10.
  7. Now rotate each node a little bit (not more than a few degrees).
  8. Selct A so everything is selected.
  9. Press I > LocRot.
  10. Repeat this till the time controller is on 50.
  11. Now move the time controller back to 0.
  12. Click the downside arrow (copies the current pose to the buffer).
  13. Move the time controller back to 50.
  14. Click the upside arrow (pastes the pose from the buffer).
  15. Now, again select A and press I > LocRot.
  16. Make sure the cursor is over the 3D Window and press Alt + A so you can watch the animation.

Note

If the foliage doesn’t move fluently, you have to repeat the stuff from above so it moves fluently.

Step 5: Coding the nif

Make sure you’re in the object mode and press A so everything’s selected. Export the model(s) and the armature.

Open the exported nif and a random foliage nif.

Edits in the BF Foliage nif:

Remove the WHOLE NiLodGroup using Block > Remove Branch.

Go in the Block Details of the Scene Root node, open children and adjust the numbers so there is no more none-value.

Warning

IF YOU DONT DO THIS, THE GAME MIGHT CRASH!

Now, go to the exported model:

  1. Click the play icon in nifskope to test if your animation works!
  2. Select the origine node (maybe Scene Root) and rename it to something else, eg. the name of your foliage. Make sure there is NO Scene Root node in your exported model. Now use Copy Branch to paste the whole exported model into the BF model.
  3. Make sure the node you have just renamed to the name of your foliage project is A CHILD of the Scene Root.
  4. Also make sure that the NiKeyFrameControllers are also included!
  5. Click the play icon again in nifskope to test if your animation still works!
  6. Adjust the alpha properties and add a stencil property if required!

Important

Don’t forget to save!

Step 6: The XML

Now you’re almost finished!

Open your foliage’s XML and paste this:

<BFForceUpdateWhenVisibleComponent />

below the model’s line.

So the mainobject part should look like this:

<BFNamedBinder binderName="mainObj">
    <instance>
        <BFPhysObj>
            <BFSimpleLODComponent isBFR="true" modelfile="entities/objects/foliage/Sigillaria_Savannah/Sigillaria_Savannah"/>
            <BFMultiGroundFitComponent heightOffset="0.0" forceTopLevel="true" />
            <BFForceUpdateWhenVisibleComponent />
        </BFPhysObj>
    </instance>
    <shared>
        <BFSharedPhysVars>
            <virtualNodes>
                <Dock_Rampage1 y="-1.75" />
                <Dock_Rampage2 x="-2.5" />
                <Dock_Rampage3 y="2.5" />
                <Dock_Rampage4 x="2.5" />
            </virtualNodes>
        </BFSharedPhysVars>
    </shared>
</BFNamedBinder>

OK, that’s it! If you have any problems or questions, please PM me!

Comments 0

Log in to join the conversation.

No comments yet.

Loading the history…
Tutorial Archived

Behavior Editing Tutorial

by Zooasaurus

In this tutorial, you will find out how to add and subtract behaviors from animals.

  • Zoo Tycoon 2
  • Animals
  • Scripting
Reading time
5 min
Comments
0
Tutorial Archived

The How To's of Gift Making

by MarineManiac

This tutorial teaches how to use only cart based animals, but can be applied to shops.

  • Zoo Tycoon 2
  • Objects & Scenery
  • Scripting
Reading time
6 min
Comments
0

Modal Title