2012-06-06 41 views
1

這似乎是一個愚蠢的問題,但沒有人知道在Eclipse中設置和使用Xj3D的「好」教程在哪裏?我去過www.xj3d.org,但那裏的人很少,有什麼是我無法工作和實際展示的東西。我知道我在做一些事情或一切都是錯誤的,我的公司會更喜歡我使用這個(爲什麼?我不知道,因爲我是整個公司中唯一使用它的人,但事實就是這樣)。Eclipse Tutorial中有哪些好的Xj3D?

由於事先 JH

回答

0

這是我怎麼設置Xj3D在Eclipse:

  1. 下載從這裏的.zip文件:

  2. 提取.ja R檔到一個文件夾

  3. 打開Eclipse

  4. 打開首選項 - >爪哇 - >構建路徑 - >用戶圖書館的

  5. 單擊New並將它命名爲 「X3DModelLoader」

  6. 點擊「X3DModelLoader」

  7. 點擊添加JAR文件...

  8. 找到你剛纔下載到的文件夾

jar文件那麼你應該是所有設置,所有你需要做的是確保庫是在構建路徑爲您的項目,然後你所有的設置!

下面是一些代碼,讓你開始:

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); 
    } 
}