|
主题: [源]3D编辑器制作中~~~~~
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
|
 UndeadCraft
职务:版主
等级:4
金币:10.0
发贴:1993
注册:2001/5/28 17:37:43
|
#22003/12/3 17:38:33
好东西,置顶。 大家有兴趣的一起来研究研究
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#32003/12/3 17:59:12
注意:在这里的源代码已经删除,目前跟新在本页最下方
注意,需要Flash2004才能打开。
主要文件:3D引擎测试.fla
模型在主场景的as层上,注意用的是 顶点表 vertexModelList + 线段表 lineModelList 4边形贴图表 rectList 目前没有使用。
编辑器的主要代码在场景上那个巨大~~~~的MC 的as层上
还有一部分在库里 3D引擎 文件夹中 S-视窗MC 的as层上。
系统的内核是Ox3DEngine包。
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#42003/12/3 18:52:55
使用方法: 图片如下:  一开始的时候是默认的箭头工具(V),它可以编辑图像 用箭头工具,贴近顶点的时候会出现大家熟悉的标志~ 图片如下:  选中顶点之后,会出现一个x,y,z坐标系,这是当前视图的世界坐标系 图片如下:  你可以选中某个坐标平面,然后拖动点。 图片如下:  另外,在下方的属性面板里面可以修改这个点的精确坐标。
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#52003/12/3 19:01:43
你可以使用鼠标中键(按下)拖动镜头 图片如下:  Alt+鼠标中键 (按下)旋转镜头 图片如下:  如果不想用中键,手工具(M)也可以达到同样的效果 图片如下:  滚轮是缩放,你也可以使用每个视图上方的 滚动条。 图片如下:
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#62003/12/3 19:16:35
每个视图左上角可以选择标准视图 一般的视图一旦旋转,就变成了 "user" 自定义视图 其中perspective是透视图,目前没有完成,不过效果不错~ >v< 图片如下:  层叠浮动窗口。上方的“窗口”部分可以选择新建窗口等等。 图片如下:  这里可以选择点、线等等的 编辑状态。依次是:可见/可选/自动吸附 目前只有点可选,其他正在完成中~~~~~~~ 图片如下:  OK就这些拉~Undo功能实现了一半,目前还不正常~Pencil工具还没有做好~
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#82003/12/3 19:49:06
Ox3DEngine包
目前已经实现了4x4矩阵运算部分(对于3D很重要)还有一些基本的图元运算 ~~~
使用方法:把Ox3DEngine文件夹 整个放到你自己的flash当前文件夹中。 然后在你要用到的as块 的第一行写上
import Ox3DEngine.*;
这样就可以直接调用Ox3DEngine里面的类了。
恩,这个可能对某些人有点用吧:Ox3D类(这是个顶层的类,文件是Ox3D.as)里面有一些类方法:
Ox3D.rectHitTestPoint()函数 (具体参数察看注释)可以判断一个点是否在一个4边形内部。
Ox3D.lineHitTestPoint()函数 可以判断一个点是不是很接近一条直线 (由一个参数给出要求的最小距离,如果为0的话就是精确判断点在直线上)
另外,本程序中的线框模型是由 Ox3D.lineModel() 函数绘制的 点是由 Ox3D.pointModel()绘制的。
|
 5D平平
职务:管理员
等级:7
金币:20.0
发贴:5264
注册:2004/7/29 13:09:23
|
#92003/12/3 20:33:52
感觉强却没有意义
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#102003/12/3 22:56:26
= =b 我个人觉得满好玩的~~~厄厄……一切东西都是要有意义的马?
而且、而且、搞定之后就可以用flash作3D动画了~~
|
 5D平平
职务:管理员
等级:7
金币:20.0
发贴:5264
注册:2004/7/29 13:09:23
|
#112003/12/4 14:36:50
DreadKnightOx在上个帖子中说 引用: 而且、而且、搞定之后就可以用flash作3D动画了~~
没有openGL和DirectX 最多是模拟 那个不是3d  没有什么效率的 不过真的很强
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#122003/12/5 11:22:07
呵~此话不然。3D不是什么特别的东西,openGL和DirectX也不过是一些帮助你实现开发包~只不过显卡支持这些API,效率很高,而flash用脚本作,效率很低而已。(- -flash就已经很慢了……然后再来个脚本……活活) 用flash做出来,效率不高是肯定的,但是是不是一定低到“不可用”呢?如果精简模型、用特殊的定制算法可不可以改善呢?没试过是不知道滴~~ 另外,仿射贴图技术偶已经实现了 ,见 原理和技术讨论见帝国 http://www.flashempire.net/showthread.php?s=&threadid=183141 有兴趣地可以看看 (所谓仿射贴图,指的是贴图变换都是线性的,比如旋转、拉伸、错切等等。 这意味着,你在贴图上任意画一根直线段,他的中点把自己切成等长的两段; 经过仿射变换之后,该线段仍然是直线段,而且中点两边长度仍然相等) 这个编辑器还没有做到那一步;目前正在作直线工具…… 而透视投影贴图呢?真正的透视投影对flash来说相当奢侈。但是也不是不可能,有些赛车游戏就用遮罩实现了 透视投影的地面。 比如说最近浮出来的老外做的这个~ http://www.fastfroots.de/虽然flash透视贴不适合做到3D物体上,但是用完全用仿射贴图贴到透视场景上绝对可行。PlayStation 的贴图就全是仿射贴图(没看出来吧?),活活,我当年还奇怪凭一台 30MHz的CPU 的机器 (CPU如此,GPU就不用说了)能够实现如此复杂的画面呢~ 当然从N64开始游戏机都是 真正的透视贴图勒。
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#132003/12/9 17:28:36
有更新,目前可以生成和导出模型,但是零散的菜单事件处理十分影响效率。(呵呵,其实我和下面的朋友遇到了类似的问题~~) 所以下一步要修改菜单处理部分。 目前正在实现贴图菜单中~~~~~ 更新的原文件相关文件: 点这儿打开
|
 DreadKnightOx
职务:普通成员
等级:1
金币:0.0
发贴:71
注册:2003/12/3 16:43:07
|
#142003/12/9 17:42:07
嗯嗯,压缩包里面有使用帮助 目前可以生成模型勒,但是...还是没什么用~~~等待吧~~~完成度30%
|
 5D冷笑话
职务:普通成员
等级:2
金币:0.0
发贴:664
注册:2002/2/18 13:50:50
|
#152003/12/27 21:48:27
光是看帖就觉得很强了。都没敢去下你的原程序……怕怕……
|