Eclipse教程中哪里有好的Xj3D?

时间:2012-06-06 02:21:05

标签: java eclipse 3d java-3d

这可能看起来是一个愚蠢的问题,但有谁知道在Eclipse中设置和使用Xj3D的“好”教程在哪里?我去过www.xj3d.org,但那里的东西很少,有什么我无法上班,实际上是什么。我知道我做的事情或一切都是错的,如果我使用这个,我的公司会更喜欢(为什么?我不知道因为我是唯一一个在整个公司使用它的人,但事实就是如此)。

先谢谢, JH

1 个答案:

答案 0 :(得分:0)

这就是我在Eclipse中设置Xj3D的方法:

  1. 从此处下载.zip文件:

  2. 将.jar文件解压缩到文件夹

  3. 打开Eclipse

  4. 打开首选项 - > Java - >构建路径 - >用户图书馆

  5. 点击新建并将其命名为“X3DModelLoader”

  6. 点击“X3DModelLoader”

  7. 点击添加JAR ...

  8. 找到刚刚下载到文件夹的jar文件

  9. 然后你应该进行全部设置,你需要做的就是确保库在项目的构建路径中,然后你就完成了设置!

    以下是一些可以帮助您入门的代码:

    package com;
    
    import java.applet.Applet;
    import java.awt.BorderLayout;
    import java.awt.Frame;
    import java.awt.GraphicsConfiguration;
    import java.util.Enumeration;
    
    import javax.media.j3d.Alpha;
    import javax.media.j3d.Appearance;
    import javax.media.j3d.Background;
    import javax.media.j3d.BoundingSphere;
    import javax.media.j3d.BranchGroup;
    import javax.media.j3d.Canvas3D;
    import javax.media.j3d.DirectionalLight;
    import javax.media.j3d.RotationInterpolator;
    import javax.media.j3d.Shape3D;
    import javax.media.j3d.Transform3D;
    import javax.media.j3d.TransformGroup;
    import javax.media.j3d.ViewPlatform;
    import javax.vecmath.Color3f;
    import javax.vecmath.Point3d;
    import javax.vecmath.Vector3d;
    import javax.vecmath.Vector3f;
    
    import com.interactivemesh.j3d.interchange.ext3d.XModelLoader;
    import com.microcrowd.loader.java3d.max3ds.Loader3DS;
    import com.sun.j3d.loaders.Scene;
    import com.sun.j3d.loaders.objectfile.ObjectFile;
    import com.sun.j3d.utils.applet.MainFrame;
    import com.sun.j3d.utils.geometry.ColorCube;
    import com.sun.j3d.utils.universe.SimpleUniverse;
    import com.sun.j3d.utils.universe.ViewingPlatform;
    
    public class ModelLoaderExample extends Applet
    {
        public ModelLoaderExample()
        {
            setLayout(new BorderLayout());
            GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
            Canvas3D canvas = new Canvas3D(config);
            add("Center", canvas);
    
            BranchGroup content = getScene();
            content.compile();
    
            SimpleUniverse universe = new SimpleUniverse(canvas);
            universe.getViewingPlatform().setNominalViewingTransform();
            universe.addBranchGraph(content);
        }
    
        public BranchGroup getScene()
        {
            BranchGroup group = new BranchGroup();
    
            XModelLoader loader = new XModelLoader();
            loader.setFlags(ObjectFile.LOAD_ALL);
            loader.setBasePath("/my/base/path");
    
            Scene scene = null;
    
            try
            {
                scene = loader.load("/my/base/path/myObject.x3d");
    
            }catch(Exception e){e.printStackTrace();}
    
            group.addChild(scene.getSceneGroup());
    
            Background background = new Background(0.0f, 1.0f, 1.0f);
            background.setApplicationBounds(new BoundingSphere());
            group.addChild(background);
    
            return group;
        }
    
        public static void main(String args[])
        {
            Frame frame = new MainFrame(new ModelLoaderExample(), 256, 256);
        }
    }