我要发帖 回复

正式会员

5

主题

22

积分

0

专家分

:

私信
发表时间 : 2011-5-8 13:34:06 | 浏览 : 917    评论 : 1
pos=vgNewPos();
                                vgPosVec(pos,1460,300,12,0,0,0);
                                vgPathAddCtrlPointPos(path,pos);
                                ctrlNav[numNav][0]=1460;
                                ctrlNav[numNav][1]=300;
                                ctrlNav[numNav][2]=12;
                                ctrlNav[numNav][3]=0;
                                ctrlNav[numNav][4]=0;
                                ctrlNav[numNav][5]=0;
                                numNav++;

                                vgPosVec(pos,1460,580,12,0,0,0);
                                vgPathAddCtrlPointPos(path,pos);
                                ctrlNav[numNav][0]=1460;
                                ctrlNav[numNav][1]=580;
                                ctrlNav[numNav][2]=12;
                                ctrlNav[numNav][3]=0;
                                ctrlNav[numNav][4]=0;
                                ctrlNav[numNav][5]=0;
                                vgDelPos(pos);
                                numNav++;



                                if(numNav)
                                {
                                        //新建样条导航器实例
                                        nav = vgNewSplineNavigator(NAV_FILE,path);
                                        //启用导航器
                                        vgProp(nav,VGCOMMON_ENABLED,VG_ON);
                                        //从第一个控制点开始遍历路径
                                        vgProp(nav,VGSPLINENAV_START_INDEX,0);
                                        //路径遍历完成后停止
                                        vgProp(nav,VGSPLINENAV_STOP_AT_END,VG_ON);

                                        //添加导航标志


                                        vgNavigatorAddMarker(nav,0,VGSPLINENAV_LINEAR,0,NULL,0);
                                        //采用赫米特样条遍历模式
                                        vgNavigatorAddMarker(nav,0,VGSPLINENAV_START_DELAY,2,NULL,0);
                                        //开始遍历前延迟2s
                                       
                                        //设定遍历速度
                                        vgNavigatorAddMarker(nav,0,VGSPLINENAV_VELOCITY,30,NULL,0);

                                        //视线方向与样条曲线无关
                                        vgNavigatorAddMarker(nav,0,VGSPLINENAV_ABSOLUTE_HPR,VG_ON,NULL,0);

                                        //渲染导航路径
                                        vgNavigatorAddMarker(nav,0,VGSPLINENAV_RENDER,VG_ON,NULL,0);


                                        for(idx=1;idx<numNav;idx++)
                                        {
                                                vgNavigatorAddMarker(nav,idx,VGNAV_EMPTY,0,NULL,0);
                                               

                                                //设置空导航标志
                                        }
                                        vgMakeSplineNavigator(nav);

                                        printf("There are %d CtrlPoints with!\n",(int)vgGetProp(path,VGPATH_NUM_CTRLPTS));
                                        printf("There are %d Markers!\n",(int)vgGetProp(nav,VGNAV_NUM_MARKERS));

                                       
                                        //按路径运动
                                        //vgProp(plyr,VGPLYR_CSREF,VGOBS_NAVIGATOR);
                                        vgProp(plyr,VGPLYR_SPLINE_NAVIGATOR,VG_ON);
                                        vgPlyrNav(plyr,(vgNavigator*)nav);
                                }

最近VR访客

conquer_whh 评论于2011-5-8 13:34:45
plyr 不能动,是什么原因呢?

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2023-12-2 03:47 PM

返回顶部