CG橙子精彩导航: CG橙子搜索引擎 | 博客 | 动画视频
广告|项目|培训|竞价排名  
86CG > CG教程 > 虚拟现实 > Multigen > Creator中DOF节点的应用

Creator中DOF节点的应用

类型:整理 | 来自:86CG | 时间:2007-11-29 |  点击:
  DOF节点在Creator中可以方便的被创建,也可以使用Local-DOF菜单下的DOF Viewer命令进行交互式的查看,关于如何创建DOF并设置相应的约束条件就不详细讲了,可以参考相应的帮助文档,或者Creator的中文书,如果有的话。

  考虑在虚拟场景中有个可以被打开和关闭的门,要在Vega中实现交互控制该门的闭合,怎么办?对了,很简单,DOF!

  在Creator中创建一个名为“door”的DOF节点,将门部分的模型,通常是个体节点放置到该节点下,用Set Local命令将DOF原点放置到门轴上,设置其绕门轴的旋转约束,比如绕Z轴,从0到120度。

  注意,虽然可以在Creator中使用DOF Viewer查看其运动状态,但是在Vega中它是不会自动开关的,必须通过相应的API函数来控制,下面是一个简单的开门程序,大家可以举一反三,实现开/关门:

#include
#include
static void opentheDoor(void);

main( int argc, char *argv[] )
{

vgWindow* win;
if ( argc != 2 )
{
    printf( "Usage: %s ", argv[0] );
    exit( -1 );
    }
    
    vgInitSys( );
    
    vgDefineSys( argv[1] );

vgConfigSys( );

win = vgGetWin(0);
while ( 1 )
{
  vgSyncFrame();
  vgFrame();
    
  switch ( vgGetWinKey(win) )
  {
  //按下空格键开门
  case ' ':
     opentheDoor();
     break;
  default:
   break;
  }
}
}
void opentheDoor()
{
  vgObject* obj;
  vgPart* door;
  vgPosition* pos;
  int i;
  float x, y, z, h, p, r;
  obj = vgGetObj(0);
  door = vgFindPart(obj, "door", NULL); //获取DOF
  pos = vgNewPos();
  vgGetPos(door, pos);
  vgGetPosVec(pos, &x, &y, &z, &h, &p, &r);

        for (i=0; i<120; i++)
  {
   h+=1;
   vgPosVec(pos, x, y, z, h, p, r);
   vgPos(door, pos);
   vgSyncFrame();
   vgFrame();
  }
  vgDelete(pos);

}

 

(完)
可打印版本 | 文章评论 | 我来纠错

|网友评论

    笔名:

    内容:

        

    |热点关注

    新歌 白狐 左边 拉拉爱 校园网 自由飞翔 感恩的心 边做边爱 为你写诗 北京欢迎你 范跑跑之歌 遇上你是我的缘 坏女人 N81 星星 火花 放生 不值得 手机网 分手那天 忘不掉的伤 电子杂志 网上展会 天使 城府 爱死了昨天 BT电影下载 N70 最后一次的温柔 小小 承诺 有没有人告诉你 N73 光荣 葬爱 大海 日不落 有缘人 躲避的爱 香水有毒 一定要爱你 求佛 爱在离别时 北极星的眼泪 假如 flash 歌曲 启示录 那滋味 独家记忆 放手去爱 丁香花 会呼吸的痛 音乐排行榜 爱上别人的人 对不起我爱你 N70 6300 会有天使替我爱你 DJ 爱上你是我的错 不要在我寂寞的时候说爱我 爱上你是一个错 爱你爱的好疲惫 怎么会狠心伤害我 MP3 音乐手机 拍照手机 智能手机 CDMA手机 怒放的生命 老人与海 等爱的玫瑰 爱情里没有谁对谁错 做你的爱人 感动天感动地 做我老婆好不好 你的承诺 王子 心碎 舍不得 摇啊摇 泪的告白 寂寞才说爱 擦肩而过 阿里阿里 中国基金网 新不了情 小情歌 离歌

    关于我们 - 版权隐私 - 友情链接 - 广告服务 - 项目合作 - 网站地图 - 联系方式

    ©Copyright by 86CG.COM, 2006-2008. All rights reserved 京ICP备06059503号