纳金网
标题:
VRML基础(二)
[打印本页]
作者:
robert
时间:
2011-12-22 09:13
标题:
VRML基础(二)
来源:纳金网
假设我们现在要构造一个三维仿真的电动搅拌器,它的三维模型先由UG来完成,再输出成一个VRML文件,然后对设备的各个部件进行细节渲染,最后还要按要求分别定义颜色和材质。
对这样一个系统的3D仿真包括的内容有设备各个部件的加速减速、搅拌器几何形状和工作指示灯等等,为了简便起见,下面仅就电动机的加速减速为例简述怎么样来实现它。
实现电机的转动要用到TimeSensor 节点,代码如下:
DEF time TimeSensor {cycleInterval A
loop ***e }
说明:
cycleInterval指定了一个时间长度A,数值从0.0到1.0,改变A的大小可以改变电机转动的快慢。Loop是一个开关变量,指定转动循环的状态,***e 值是无限循环,False值是只循环一次。
实现电机转动还需要用到的另一个节点是OrientationInterpolator,即转动的朝向插补器,代码如下:
DEF path OrientationInterpolator {key [ ]
keyValue [ ]}
说明:
key和keyValue指定了电机转子转动的关键值和关键位置。
发生事件和接收事件的节点则由ROUTE(纳金网注:路由指令)指令连接在一起:
ROUTE time.fraction_changed TO path.set_fraction
ROUTE path.value_changed TO zhuanzi.set_rotation
说明:
上面第一行代码在TimeSensor节点中的fraction_changed eventOut和OrientationInterpolator节点的set_fraction eventIn之间建立起连接。第二行则在OrientationInterpolato节点的Value_changed eventOut事件和TimeSensor节点的set_translation 之间建立了连接。
虚拟场景中的电机开动之后,时间传感器会被激发而不停地输出时间值,插补器OrientationInterpolator收到之后,会计算一个新的旋转数据输出给Transform节点,控制节点的旋转角度。
作者:
艳阳天
时间:
2011-12-23 14:02
这个有意思哈
作者:
3D小子
时间:
2011-12-23 14:21
只是路过
作者:
晃晃
时间:
2012-2-1 23:29
不错啊 经典
作者:
晃晃
时间:
2012-2-11 23:26
有意思!学习了!
作者:
BU Secret
时间:
2012-3-9 17:41
有意思
作者:
难骑
时间:
2012-3-9 17:51
提示:
作者被禁止或删除 内容自动屏蔽
作者:
浩劫
时间:
2012-3-9 19:50
作者:
艾朵儿
时间:
2012-3-21 15:59
作者:
菜刀吻电线
时间:
2012-3-31 23:31
灌水。。。
作者:
tc
时间:
2012-7-22 23:20
已阵亡的 蝶 随 风 舞 说过 偶尔按一下 CTRL A 会发现 世界还有另一面
作者:
菜刀吻电线
时间:
2012-7-23 23:22
真不错,全存下来了.
作者:
奇
时间:
2012-7-23 23:22
响应天帅号召,顶
作者:
C.R.CAN
时间:
2012-8-19 23:40
不错不错,收藏了
作者:
菜刀吻电线
时间:
2012-9-30 23:20
无聊时可以刷屏幕 灌水 也可以试试 帖子的标题究竟可以写多长
作者:
晃晃
时间:
2012-10-11 23:28
我是老实人,我来也!
作者:
C.R.CAN
时间:
2012-10-13 23:28
发了那么多,我都不知道该用哪个给你回帖了,呵呵
作者:
tc
时间:
2012-10-20 23:36
心中有爱,爱咋咋地
欢迎光临 纳金网 (http://old.narkii.com/club/)
Powered by Discuz! X2.5