2

これはばかげた質問に思えるかもしれませんが、Eclipse で Xj3D をセットアップして使用するための「優れた」チュートリアルがどこにあるか知っている人はいますか? 私は www.xj3d.org に行ったことがありますが、そこにはほとんど何もありません。私は何かまたはすべてが間違っていることを知っており、私の会社は私がこれを使用することを本当に望んでいます(なぜですか?会社全体でそれを使用しているのは私だけなのでわかりませんが、それはそれです)。

よろしくお願いします、JH

4

1 に答える 1

0

これは、EclipseでXj3Dをセットアップする方法です:

  1. ここから .zip ファイルをダウンロードします。

  2. .jar ファイルをフォルダに抽出します

  3. エクリプスを開く

  4. [設定] -> [Java] -> [ビルド パス] -> [ユーザー ライブラリ] を開きます

  5. 新規をクリックして、「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);
    }
}
于 2012-07-13T18:54:19.050 に答える