查看: 2278|回复: 1
打印 上一主题 下一主题

[pv3d专题]pv3d交互

[复制链接]
.    

3797

主题

11

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
32328
精华
41

活跃会员 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2013-3-21 15:36:27 |只看该作者 |倒序浏览
1 关于旋转 注意DisplayObject3D和SceneObject3D同是DisplayObjectContainer3D的子类,所以他们都是3D容器。每个3D对象的旋转方法都是绕自身的轴,和容器没有关系,即使他不在容器坐标系的中心。要令对象绕容器轴旋转(比如对象移动到原点以外),可以使用一个DisplayObject3D对象做容器并旋转此容器。
2 camera 由于继承,也有上述类似方法。以及pan() tilt() hover()等。focus属性为焦距,zoom属性为缩放,绝对值越小像越小。也可以使用诸如TweenMax类实现缓动效果,不过由于坐标问题对贝塞尔曲线不支持。
3 鼠标交互 要让3D对象能响应鼠标事件,首先需要viewport对象和material对象能接受交互。对于viewPort3D,new的时候指定第4个参数(interactive:Boolean = false)为***e,对于material对象(也可以通过引用3D对象的material属性),需要指定他的interactive属性为***e。
然后可以在3D对象上使用addEventListener()方法为诸如InteractiveScene3DEvent.OBJECT_CLICK事件注册侦听处理函数。InteractiveScene3DEvent是最常用的鼠标交互事件对象,可以使用target属性确定事件目标。
4 鼠标 通常在处理函数中会用到鼠标位置,这里的鼠标有两套坐标:空间坐标(Mouse3D)、材质实际坐标(VirtualMouse)。而这两个对象分别是:
viewport.interactiveSceneManager.virtualMouse //相对于贴图材质左上角
viewport.interactiveSceneManager.mouse3D //相对于3D场景原点
使用这两个对象的xyz / xy属性即可获得所需信息。例如可以在InteractiveScene3DEvent.OBJECT_MOVE事件处理函数中在材质上绘图。 InteractiveScene3DEvent的x y属性和virtualMouse对象的x y属性效果相同。 【来源:互联网】
更多精彩教程,尽在web3D纳金网http://www.narkii.com/college/
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

0

主题

1

听众

2458

积分

中级设计师

Rank: 5Rank: 5

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-2-22 15:34:07 |只看该作者
好东西啊,感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-27 19:40 , Processed in 0.086293 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部