flash 3d flash3d 研究所 pv3d 共享资源  | 经典范例  | 视频教程  | 友情链接  | 联系我们
登陆 | 注册  flash 3d 研究所
教程区





最近更新:
● allthrough阁下在讨论区里 发表新主题“【求助】关于PV3D的VectorSha...”(22:14:36)
● compra viagra阁下在教程区里 回复“《超简易papervision3D基础 ...”(11:24:50)
● cialis阁下在教程区里 回复“cailvenqq的dae模型经验...”(11:24:27)
正在浏览教程: 《超简易papervision3D基础 第十篇 实时在物体上画画》
《超简易papervision3D基础 第十篇 实时在物体上画画》
DDM君 , Flab3D.com (允许转载,转载请注明)

这是一个非常有趣的交互功能,网站,游戏里都时常会出现。用这个原理,我们能做出非常有趣的用户贴图绘制的功能,增加交互和自制的乐趣。







基本原理:
最基本的是要获取下笔的鼠标位置,这个pv3d给我们准备了virtualMouse可以获取一个大致的三维空间的二维鼠标位置(一些情况下用virtualMouse解决不了),它可以用来和各种三位空间的物体上的按钮位置等等交互。
获取了下笔位置,就可以用graphics.beginFill等的flash自带位图做图方法来不停的绘制一个个圆。
当然如果要做复杂的绘制功能,还需要考虑到模型本身的UV,和画笔的形状和笔触,但这些都交给各位自己去尝试,我们毕竟是超简易嘛~
有什么新的发现都欢迎给我们分享,复杂制作中有问题欢迎去讨论区



这次我们要制作一个转动的平面,我们可以在上面绘制简单的贴图。
注意:在这里为了代码的简单易懂,在下没有做任何优化,所以笔触多会很耗资源。另外,因为没有限制范围,所以贴图可以越画越大,在图像上显示的则是开始的灰色区域被压缩(因为物体并不会变大,超出范围当然是压缩贴图咯)

点击在这里下载源代码(无法右键另存,直接点击即可)
代码分析:
首先声明一个virtualMouse,他会自动获取三维空间的二维坐标
var vMouse: virtualMouse= viewport.interactiveSceneManager.virtualMouse;

建立一个实体的MovieClip,以便之后调用
private var mc1:MovieClip=new MovieClip();

其他的贴图就不再解释了,不清楚的请参考《超简易papervision3D基础 第九篇 鼠标手型和更换贴图》或到讨论区找相关帖子看看。

侦听plane1的事件,按下和移动。
plane1.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, onDown);
plane1.addEventListener(InteractiveScene3DEvent.OBJECT_MOVE, onMove);

这是一句可以非常方便的判断是否鼠标已经按下,否则还得自己加boolean变量,然后加放开的侦听。
if (InteractiveSceneManager.MOUSE_IS_DOWN) {

这几句就是在virtual鼠标的位置开始在贴图mm的movieClip,mc1上画‘灰色,半径为10的圆’的句子,都是as3的基础,这里就不多讲了,看看flash帮助就知道了。
mc1.graphics.beginFill(0xBBBBBB,1);
mc1.graphics.drawCircle(vMouse.x, vMouse.y, 10);
mc1.graphics.endFill();

最后不要忘记倒入相关的新类哦~(其他的以前类讲过^_^)
import org.papervision3d.core.utils.InteractiveSceneManager;
import org.papervision3d.core.utils.virtualmouse.VirtualMouse;




希望大家能从这个简单的例子里悟出‘获取三维鼠标位置’,和‘实时绘制贴图’的奥义。能实战在更复杂的地方。有什么心得都欢迎给我们分享,有问题欢迎去讨论区
好好加油!


Flash3d研究所推荐的最新pv3d傻瓜包
源文件下载(无法右键另存,直接点击即可)



DDM君
Flab3D.com



阿希小鱼
(2008-12-20 15:18:52)
随着绘制内容越来越多,demo对cpu有严重消耗
DDM君
(2008-12-21 11:33:17)
的确是 这里做了解释^_^
注意:在这里为了代码的简单易懂,在下没有做任何优化,所以笔触多会很耗资源。另外,因为没有限制范围,所以贴图可以越画越大,在图像上显示的则是开始的灰色区域被压缩(因为物体并不会变大,超出范围当然是压缩贴图咯)

Bruce
(2008-12-22 18:05:29)
看了網站上的資料受用很多^^
教學文件中的"collada文件代码分析",目前沒辦法點選是預定會寫的教學嗎?
fur3
(2008-12-22 19:53:42)
欢迎你bruce 是的 我们一般把写了一些但是没完成的都先写出来,好让大家知道之后会有些什么主题。
kyoichi886
(2008-12-23 13:24:04)
谢谢您,不知关于DAE模型关节控制的讲座何时开讲呢?
DDM君
(2008-12-23 22:59:54)
感谢kyoichi君的光临~
DAE由于本身还不成熟,所以不会在超简易里面讲解。中级教程里面之后会介绍一些的。
大海
(2009-04-10 09:49:46)
请问一下DDM君我把平面改成球体,在球体上绘画是球体的材质会裂开,这是怎么回事呀!另外我想问一下,怎么限制绘制的范围呀
king
(2009-06-03 21:39:16)
下载下来的rar包里面没有swf文件,自己重新生成swf好像又缺少了一个类,出错提示是:1172: 找不到定义 flab3d。好像就是:import flab3d.*; 这句不行,请问怎么解决?
DDM君
(2009-06-13 10:41:25)
您一定不是下载的我们的最新傻瓜包 对吧,请务必使用我们研究所的最新傻瓜包,才能最好的配合我们的教程^_^
maxmusy
(2009-08-21 11:26:21)
在系统提供的3D模型中都可以绘制
为什么我自己制作的模型,却侦听不到鼠标按下放开事件呢?
zidianqs
(2009-11-06 11:43:58)
为什么下载的源代码运行的效果和上面的不一样
jieqqgame
(2009-11-30 17:59:49)
上面的也看不见
jieqqgame
(2009-12-03 11:37:48)
上面的现在可以看见了
jieqqgame
(2009-12-03 12:20:03)
为什么下载的源代码运行的效果和上面的不一样 ×2

小楼
(2010-01-19 11:38:04)
下来之后运行出错!!
1046: 找不到类型,或者它不是编译时常数: InteractiveScene3DEvent。
Anson
(2010-02-06 20:01:27)
为什么总是和上面的效果不一样。。有点郁闷

(2010-04-30 21:32:02)
这也拿出来说,真是没什么可说的了

(2010-04-30 21:33:48)
如有pv3d项目拿出来做做,不要拿这种很简单不实用的东西,招摇撞骗
woshicaigang
(2011-08-02 13:25:20)
非常不错的资料啊
Caroline
(2011-08-22 12:12:02)
Pin my tail and call me a dokeny, that really helped.
ojcqgpyv
(2011-08-23 02:00:13)
ms7PaD hfphqmnaxnqw
doofes
(2011-08-24 09:33:17)
buy genital zovirax online 000967 prednisone 608285
dilldilljo
(2011-08-26 07:33:37)
accutane 649980 prednisone 8-(((
punkglam
(2011-08-26 10:45:32)
priligy 8251 colchicine increase >:-[[
norduk
(2011-08-27 09:41:03)
priligy 8317 seroquel zhy
emonik
(2011-09-01 08:43:03)
valtrex pharmacy online sale :PP topamax weight loss despite appetite =DDD
xChronic42O
(2011-09-02 07:47:47)
topamax 8-OOO cymbalta 8-]
xChronic42O
(2011-09-02 07:47:47)
topamax 8-OOO cymbalta 8-]
blazingedmon
(2011-09-13 07:54:30)
prednisone 8-))) topamax :-[[[
Meehax
(2011-09-18 09:57:29)
buy accutane %(( propecia 01649
mittanana
(2011-09-20 11:46:37)
car insurance in florida %-((( variable life insurance 8-]]
Party Petra
(2012-01-16 03:22:54)
very helpful tutorial, thanks and gifts to you!
Geschenke
cheap cialis
(2012-01-27 04:54:31)
sroykqj cheap cialis HlLfa how does viagra work 8]]] viagra 5446 buy generic cialis zKrfo buy cialis 7653 buy viagra ISKPCP
tadalafil
(2012-01-28 00:24:05)
jxcjwvv tadalafil >:-[ viagra >:-[ cialis %-[[[ cialis tMIhvN viagra IzUDR viagra online upThb
payday loan online
(2012-01-29 10:10:13)
jiucwhqy payday loan online 0445 Payday loans =-] payday loan UK 1502
cash advance
(2012-02-02 20:46:05)
tkzqhy cash advance 0212 cash advance =-] payday loans 5170
payday loans
(2012-02-03 01:35:10)
pwsxbya payday loans >:-[ payday loans :-O instant cash advance 1138
viagra
(2012-02-03 22:46:08)
mfurvnj viagra XaVoP cialis aCeWBt propecia MXdChX accutane hUPif
viagra
(2012-02-04 02:39:51)
jvixylp viagra vWEOZ propecia kUHhL accutane 2202 cialis 4069
viagra
(2012-02-04 07:53:00)
mgujgh viagra =-] viagra 8737 viagra uICIUK cialis :-O cialis 0989 cialis eahHg

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

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

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