快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: cpu占用多过30%会被你的用户扔砖。










最近更新:
● wan925446570阁下在讨论区里 发表新主题“怎么配置away3d运行环境啊???...”(20:38:35)
● yanfaqiang阁下在讨论区里 回复“《超简易papervision3D基础 ...”(18:08:41)
● cripel阁下在讨论区里 回复“...”(14:38:04)
浏览主题:DAE节点

DAE节点
日尧木艮 (2011-04-18 19:47:18)

不废话直接进主题,test1.DAE节点如下:
<library_visual_scenes>
    <visual_scene id="RootNode" name="RootNode">
      <node id="Cylinder01" name="Cylinder01">
        <translate sid="translate">-60.147602 21.033211 0.000000</translate>
        <instance_geometry url="#Cylinder01-lib">
          <bind_material>
            <technique_common>
              <instance_material symbol="Map__2-Material" target="#Map__2-Material"/>
              <instance_material symbol="Material__26" target="#Material__26"/>
            </technique_common>
          </bind_material>
        </instance_geometry>
      </node>
      <node id="Cylinder02" name="Cylinder02">
        <translate sid="translate">-85.042351 28.413282 60.535057</translate>
        <instance_geometry url="#Cylinder02-lib">
          <bind_material>
            <technique_common>
              <instance_material symbol="Map__1-Material" target="#Map__1-Material"/>
              <instance_material symbol="Material__25" target="#Material__25"/>
            </technique_common>
          </bind_material>
        </instance_geometry>
      </node>
    </visual_scene>
  </library_visual_scenes>
as3中的代码如下:
                private var dae:DAE;
private var view:BasicView;
public function test():void {
init3DEngine();
init3DObject();
}
private function init3DEngine():void {
view = new BasicView(0, 0, true, true, "Target");
view.viewport.buttonMode = true;
this.addChild(view);
this.addEventListener(Event.ENTER_FRAME, onEvent3DClick);
}
private function init3DObject():void {
dae = new DAE();
dae.load("test1.DAE");
dae.scale = 2;
view.scene.addChild(dae);
}
private function onEvent3DClick(e:Event):void {
dae.rotationY += 2;
view.singleRender();
}
上面这个实例是2个圆柱体在场景中转动,现在的问题是:如何通过 RootNode 这个节点用getChildByName("")来控制上面个圆柱体转动 下面个不转动,请会的朋友帮忙解答下 ,谢谢^_^~






flash 3d 研究所 fur3
(2011-04-18 19:54:05)
好像是 XXX.getChildByName("visual_scene").getChildByName("具体物体")
就可以获取具体的物体~


flash 3d 研究所 日尧木艮
(2011-04-18 20:08:18)
我试了下 楼上那位 XXX不是代码中的dae dae中无getChildByName()
请问XXX 是什么字段呀 ?研究一个问题几天了 还没出来我都要崩溃了.......


flash 3d 研究所 fur3
(2011-04-18 21:18:32)
dae是
displayobject3d呀,怎么会没有getChildByName啊,你用的是我们站的pv3d么?

研究一个问题是要很多天的啊,我们都是掀桌掀桌出来的,别急。


flash 3d 研究所 fur3
(2011-04-18 21:24:30)
更正一下 dae.getChildByName("COLLADA_Scene").getChildByName("具体物体").


flash 3d 研究所 日尧木艮
(2011-04-20 15:18:49)
我后来下载了下研究所那个所谓的傻瓜PV3D包 dae.getChildByName("") 终于可以出来了 谢谢fur3大侠 ^_^
但是dae.getChildByName("COLLADA_Scence").getChildByName("Cylinder01")是直接.rotationY+=2;让它转动吗?俺不才才学AS3 请fur3大人帮忙补一下代码 - -! 感激之情 无言以表...


flash 3d 研究所 fur3
(2011-04-20 16:25:13)
呵呵,没事儿,傻瓜包就是为了统一教程用的,不然新人很难找到一版能正确对应教程不抱错的。

你可以先用另一个对象= dae.getChildByName("COLLADA_Scence").getChildByName("Cylinder01");

然后这个对象.rotationY+=2 写在每一帧更新里。 不知道怎么每帧更新看我们第一篇教程。要加强基础面对对象的理解哦~


flash 3d 研究所 peizi
(2011-05-05 10:41:40)
我也是新手,我想问一下COLLADA_Scence s是 通用的 还是根节点的 name属性,谢谢^_^


flash 3d 研究所 fur3
(2011-05-05 10:55:18)
根节点的名,这个您具体打开dae看看,然后试试几个名字吧。dae毕竟有好多种格式。


评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了