Thu, Jan 8th, 2009
Hello, Universe
考试间歇期ing~这诡异的考试安排真让人无语,考4天,然后4天无事,最后再考1天,逼着别人不得不晚回家 orz
于是趁着这诡异的间歇时间开始Java3D的研究的第一步,以上就是今天成果了,嘛,还十分破烂,慢慢继续了
争取年内出同人空战游戏吧!!!
(那么模型是以前做的歼十……)
源代码如下,还很混乱,没有好好整理过:
import java.io.FileNotFoundException; import javax.media.j3d.Background; import javax.media.j3d.BoundingSphere; import javax.media.j3d.BranchGroup; import javax.media.j3d.DirectionalLight; import javax.media.j3d.Transform3D; import javax.media.j3d.TransformGroup; import javax.vecmath.Color3f; import javax.vecmath.Point3d; import javax.vecmath.Vector3f; import com.sun.j3d.loaders.IncorrectFormatException; import com.sun.j3d.loaders.ParsingErrorException; import com.sun.j3d.loaders.Scene; import com.sun.j3d.loaders.objectfile.ObjectFile; import com.sun.j3d.utils.universe.SimpleUniverse; public class HelloUniverse extends SimpleUniverse { public HelloUniverse() { super(); init(); } private void init() { BranchGroup group = new BranchGroup(); // 创建一个用来包含对象的数据结构 BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0); // 设置光线的作用范围 Background back = new Background(); back.setApplicationBounds(bounds); back.setColor(0.17f, 0.50f, 0.92f); group.addChild(back); // 天空颜色 Color3f lightColor = new Color3f(1f, 1f, 1f); // 设置光线的颜色 Vector3f lightDirection = new Vector3f(4.0f, -7.0f, -12.0f); // 设置光线的方向 DirectionalLight light = new DirectionalLight(lightColor, lightDirection); // 指定颜色和方向,产生单向光源 light.setInfluencingBounds(bounds); // 把光线的作用范围加入光源中 group.addChild(light); // 将光源加入group组 ObjectFile plane = new ObjectFile(ObjectFile.RESIZE); Scene j10 = null; try { j10 = plane.load("E:\\Works\\3D Works\\Projects\\export\\J-10.obj"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IncorrectFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParsingErrorException e) { // TODO Auto-generated catch block e.printStackTrace(); } TransformGroup tg = new TransformGroup(); Transform3D t3d = new Transform3D(); t3d.set(new Vector3f(0.3f, -0.3f, -0.5f)); tg.setTransform(t3d); tg.addChild(j10.getSceneGroup()); // 位移机体 group.addChild(tg); // 将机体塞入场景 this.getViewingPlatform().setNominalViewingTransform(); // 设置观察点 this.addBranchGraph(group); // 把group加入到虚拟空间中 } public static void main(String[] args) { new HelloUniverse(); } }
Java3D API官方网站:http://java.sun.com/javase/technologies/desktop/java3d/


我们考两天,休息两天,然后再考三天,接下来就是补课
嘛,我这个嘛,要说轻松的话还是很轻松的,毕竟大学的考试 – v -
就考试前若干小时和考试时有点感觉,别的时间和放假无异……
同人空战游戏有爱~
同人战机娘格斗大爱~?(严重误~……)
其实咱也想挑战有人类角色参与的游戏啊,但……明显比机体难的多 – v -b