1
這似乎是一個愚蠢的問題,但沒有人知道在Eclipse中設置和使用Xj3D的「好」教程在哪裏?我去過www.xj3d.org,但那裏的人很少,有什麼是我無法工作和實際展示的東西。我知道我在做一些事情或一切都是錯誤的,我的公司會更喜歡我使用這個(爲什麼?我不知道,因爲我是整個公司中唯一使用它的人,但事實就是這樣)。Eclipse Tutorial中有哪些好的Xj3D?
由於事先 JH
這似乎是一個愚蠢的問題,但沒有人知道在Eclipse中設置和使用Xj3D的「好」教程在哪裏?我去過www.xj3d.org,但那裏的人很少,有什麼是我無法工作和實際展示的東西。我知道我在做一些事情或一切都是錯誤的,我的公司會更喜歡我使用這個(爲什麼?我不知道,因爲我是整個公司中唯一使用它的人,但事實就是這樣)。Eclipse Tutorial中有哪些好的Xj3D?
由於事先 JH
這是我怎麼設置Xj3D在Eclipse:
下載從這裏的.zip文件:
提取.ja R檔到一個文件夾
打開Eclipse
打開首選項 - >爪哇 - >構建路徑 - >用戶圖書館的
單擊New並將它命名爲 「X3DModelLoader」
點擊「X3DModelLoader」
點擊添加JAR文件...
找到你剛纔下載到的文件夾
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);
}
}