注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

穷到掉渣的超级奶爸阿赵

阿赵的博客

 
 
 

日志

 
 

Flare3D学习笔记(四)  

2013-07-17 13:45:17|  分类: Flash3D技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

五、灯光和阴影:

1、场景默认自带有一盏默认的灯光,所以就算不在场景里面打灯场景仍然可以有光照效果,不过如果想完全的自定义灯光,需要先把默认灯光关掉scene.lights.defaultLight = null;

2、想要用自定义灯光,必须先设置场景里面的可允许的灯光数量,比如 scene.lights.maxPointLights = 8;

scene.lights.maxDirectionalLights = 0;

scene.lights.ambientColor = new Vector3D( 0.1, 0.1, 0.1 );

3、场景灯光渲染的类型有以下几种:

scene.lights.techniqueName = LightFilter.NO_LIGHTS;

LightFilter.NO_LIGHTS:没有灯光

LightFilter.PER_VERTEX:顶点灯光

LightFilter.LINEAR:线性灯光

LightFilter.SAMPLED:采样灯光

4、如果模型里面自带灯光,只需要最大灯光数支持,就可以自动显示出来

5、如果要单独控制某个灯光,可以把某个light3D物体提取出来控制

6、  直接的灯光是不会生成影子的,需要生成影子,就要往场景里面添加一个shadow  projector,这个组件里面可以控制影子生成的各种参数

7、使用cubeMap作为灯光。这个牛逼的功能。可以使用一张类似乎天空盒的图片作为光 源分布的虚拟,比如:

Flare3D学习笔记(四) - 阿赵 - 有爪的小羔羊阿赵
 

用法:

scene.lights.cubeMap = new Texture3D( "cubemap18.png", false, Texture3D.FORMAT_CUBEMAP );

六、碰撞检测:

碰撞有三种

MouseCollision 鼠标碰撞

RayCollision 射线碰撞

SphereCollision 球形碰撞

用法:

collisions = new SphereCollision( player, 25 );//人物的碰撞

collisions.addCollisionWith( map );//添加场景碰撞给人物

检测碰撞:

if ( collisions.slider() )在每帧调用,碰撞就生效了

  评论这张
 
阅读(1345)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016