Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- import com.threed.jpct.*;
- import com.threed.jpct.util.*;
- public class TreeEngine
- {
- private Vector<Object3D> trees;
- public TreeEngine(World world, Object3D ground)
- {
- char c = File.separatorChar;
- Object3D tree = Loader.load3DS("res" + c + "tree.3ds", 3f)[0];
- tree.rotateX((float) (-Math.PI / 2));
- tree.setSpecularLighting(true);
- tree.setShadingMode(Object3D.SHADING_GOURAUD);
- tree.setCollisionMode(Object3D.COLLISION_CHECK_SELF);
- tree.setCollisionOptimization(Object3D.COLLISION_DETECTION_OPTIMIZED);
- trees = new Vector<Object3D>();
- for (int i = 0; i < 25; i++)
- {
- trees.add(tree.cloneObject());
- trees.get(i).rotateY((float) (-Math.PI / Math.random() * 2));
- trees.get(i).setCenter(ground.getTransformedCenter());
- trees.get(i).translate(new SimpleVector(Math.random() * 800f - 400f, -200f, Math.random() * 800f - 400f));
- trees.get(i).build();
- world.addObject(trees.get(i));
- SimpleVector dir = new SimpleVector(0f, 400f, 0f);
- dir = trees.get(i).checkForCollisionEllipsoid(dir, new SimpleVector(1, 1, 1), 1);
- trees.get(i).translate(dir);
- }
- }
- public void setShadows(ShadowHelper sh)
- {
- for (int i = 0; i < trees.size(); i++)
- {
- sh.addCaster(trees.get(i));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement