辽宁省 沈阳市 水瓶座
发消息 写留言
| 近期心愿 | 寻找生命所属的那个女孩,期待爱情天使的降临 |
| 博客等级 | 加载中... |
| 今日访问 | 加载中... |
| 总访问量 | 加载中... |
| 最后登录 | 加载中... |
· Papervision3D GreatWhite 2.0基础教程:第七篇 – 高级
· Papervision3D GreatWhite 2.0基础教程:第六篇 – 贴图
· Papervision3D GreatWhite 2.0基础教程:第五篇 – 交互
· Papervision3D GreatWhite 2.0基础教程:第四篇 – 光影
· Papervision3D GreatWhite 2.0基础教程:第三篇 – 运动
· Papervision3D GreatWhite 2.0基础教程:第二篇 – 基础
2011-6-11 9:03:41 阅读7 评论0 112011/06 June11
Papervision3D GreatWhite 2.0基础教程:第七篇 – 高级
这篇文章是对上一篇的关于贴图的进阶,在这篇文章里不光要介绍如何给物体贴图,还要加上光和阴影,这让场景看上去更加真实。
前面在讲阴影的时候,我们是指定了一些阴影材质的,比如GouraudMaterial 和PhongMaterial 。事实上,在pv3d的源代码package org.papervision3d.materials.shadematerials 里有更多的阴影材质,但是他们都是基于纯色的阴影效果而不是位图的的阴影效果。
要将位图和阴影效果叠加到一起,我们就需要制作一个Shader 和一个BitmapMaterial 用ShadedMaterial来将他们混合到一起。用Papervision3D GreatWhite来实现这个特性是十分简单的。
2011-6-11 9:02:32 阅读11 评论0 112011/06 June11
Papervision3D GreatWhite 2.0基础教程:第六篇 – 贴图
在这篇文章里终于要开始介绍贴图了,前几篇的例子中大家可以看到球体都是纯色的,只不过换上了不同的阴影材质而看上去不同。现在如果给他们贴上位图将会使效果看上去更棒。
好,这篇文章仍然以介绍位图贴图的基础方法为主,暂时还不会将的太深,所以不会涉及到光影在位图贴图中的应用。
下面的代码仍然用前篇的例子修改而来,不过我会把光源和2个球体拿掉,换成2个球2个方块。
Example006
package { import caurina.transitions.Tweener; import flash.display.Bitmap; import2011-6-11 9:01:42 阅读3 评论0 112011/06 June11
Papervision3D GreatWhite 2.0基础教程:第五篇 – 交互
在这篇文章里,要讲的不是给3D场景添加更多的视觉效果,而是要介绍一下如何在Papervision3D 里做一个的简单的交互,在Papervision3D 里的每一个多边形都可以响应鼠标事件去执行方法函数。而这一切在Papervision3D 里都是很简单的。
下面要看的代码很简单,修改仍然是以上篇文章为基础:4个围绕原点转动的球体。在这里会额外添加2个事件监听器:一个普通的flash鼠标事件监听器,加在stage上用来控制摄象机的位置以转动镜头。一个Papervision3D 内置的InteractiveScene3DEvent 监听器,加在3D场景里的DisplayObject3D 上,使DisplayObject3D 可以响应鼠标事件,注意这种的用法和不同。
2011-6-11 9:00:53 阅读4 评论0 112011/06 June11
Papervision3D GreatWhite 2.0基础教程:第四篇 – 光影
这篇要介绍一下另一个构成3D世界基本元素:光。光的加入会让我们渲染出来的场景看上去更加真实。在Papervision3D的世界里,光要产生效果,必须要配合照在特殊的材质上才能看到。这篇文章的例子会介绍它们是如何工作的。
在开始之前,有必要介绍几个在3D世界中描述光的术语。
Ambient – 阴影色
Diffuse – 过渡色
Specular – 高光色
然后还要介绍4种基本的材质,光照在上面会产生阴影,表现为向光面更亮,背光面更暗,不同的材质表现出来的效果都不一样。他们是:Flat shaded、Gouraud shaded、Phong
2011-6-11 8:59:53 阅读8 评论0 112011/06 June11
前面两篇文章已经介绍了如何创建一个简单的3D场景,现在来给他加入一些动画效果。要让PV3D的场景展现动画效果,需要修改他的渲染函数,在Example001 里直接修改Event.FRAME_ENTER 事件,在Example002 里需要重载BasicView 里的onRenderTick 函数。
接下来的例子还会继续使用BasicView 类,因为他比较方便。
package { import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import org.paperv2011-6-11 8:58:29 阅读7 评论0 112011/06 June11
上篇文章讲到了Papervision3D v2.0有一个更加方便的方法来创建一个3D场景,就是使用BasicView 类。让你的DocumentClass去继承BasicView 类,BasicView 继承自Sprite类,所以可以省掉很多麻烦。
Example002.as
下面的例子使用了和第一篇同样的代码,只不过关键的地方替换成使用BasicView来做了。
package { import flash.display.StageAlign; import flash.display.StageScaleMode; import org.papervision3d.core.geom.Lines3D;2011-6-11 8:53:36 阅读21 评论0 112011/06 June11
这系文章是译稿,目前Papervision3D的最新版本为GreatWhite 2.0,http://papervision3d.googlecode.com/ 可以下载到。这篇文章就是基于最新的GreatWhite 2.0的基础教程。
要构建一个Papervision3D场景,你需要记住几个关键的类:Scene3D, Viewport3D, Camera3D 和 BasicRenderEngine,他们是这个核心的基础。在这系文章的下一篇,还将介绍Papervision3D 2.0的另一个类:BasicView,它将上面几个基础
2011-6-8 12:53:58 阅读428 评论1 82011/06 June8
本文讨论如何从3ds Max里导出 .dae文件。
为什么要导出dae文件呢? 别人我不知道,反正我是用来加载到PV3D里用的。
2011-3-18 11:11:29 阅读9 评论0 182011/03 Mar18
2011-3-15 12:56:56 阅读3 评论0 152011/03 Mar15