c4d物理天空旋转盒可以旋转吗

3706人阅读
opengl学习笔记(19)
OPhone 3D开发之天空盒
在3D世界中,我们可以通过精细的模型来表现近处场景的细节,但对于远距离场景,比如天空、高山、日月星辰等这些“遥不可及”的对象来说,我们可以使用高质量贴图环绕组合成一个封闭的场景,给玩家以始终处在内部的感觉。在这种以贴图来渲染远景的方式中,最常用的技术是天空盒。
天空盒设计思想
天空盒的思想非常简单,将远景渲染成6种纹理贴图,每个纹理应用到立方体的一面,同时确保摄像机始终位于立方体的中心。渲染时,映射到天空盒的各个面上的图像将拼接在一起,从而在视觉上形成一个完整的天空。
组成天空盒的6张纹理,分别对应立方体的前、后、左、右、顶、底这6个面,如图1所示:
图1 组成天空盒的6张纹理
使用时,将这6张纹理以下图2的形式拼接起来,组合成一个立方体,并在渲染时将观察相机放置于立方体内部中心位置,这样无论相机怎样旋转观察,都会感觉到始终是处在这个盒子当中,从而营造出一种视觉上无限远的感觉。
图2 天空盒拼接方式
创建天空盒渲染数据
对于天空盒立方体来说,每个面分别对应于一个四边形,每个四边形由4个顶点,两个三角形组成。渲染时,指定每一个面的渲染数据及对应纹理,循环渲染所有面即可。
首先我们需要指定立方体每个面的顶点位置数据和纹理顶点数据,这里我们对操作顶点缓存对象进行了传统的glVertex3f()和glTexCoord2f()封装,以便于大家更好的理解传统的OpenGL绑定顶点数据与OPhone 3D中的OpenGL ES使用顶点数组缓存对象的使用方法差异。相关代码如下:
在上面的代码中,我们将天空盒的六个面的渲染数据都统一放置在一起,因此使用时,只需要绑定一次渲染数据,提交渲染时,指定当前四边面的在渲染缓存中的偏移即可,这样可以避免频繁切换渲染数据而造成的性能损失。
创建天空盒纹理
天空盒所用到的六张纹理,每一张均已独立的PNG图像的形式放置于程序资源文件中。每一张纹理的尺寸必须均为2的N次方,而且若无特殊要求,纹理宽高应该相等。在这里,我们使用的是256x256的PNG图像作为纹理对象。在创建天空盒对象时,将纹理贴图从外部资源文件中分别载入,并申请绑定成为OPhone 3D中的纹理对象。相关操作如下:
这里需要注意的是,在创建天空盒纹理时,必须要确保纹理的环绕模式为GL_CLAMP_TO_EDGE,否则会造成天空盒立方体四边面之间存在明显的接缝。
渲染天空盒
在渲染天空盒之前,需要将观察相机放置于天空盒立方体内部中心位置,这样无论观察者如何渲染,所看到的视野均处于天空盒的内部,从而营造出一种视觉上的无限连续状态。
由于天空盒始终处于无限远处,场景中的物体都不会与天空盒相交,因此在渲染时,需要禁止深度测试以及禁用深度写入,同时也要禁用光照、雾化等其他类似效果。下面的代码展示了渲染天空盒之前的必要设置:
实际渲染时,绑定好统一的位置缓存和纹理坐标缓存后,针对每个面绑定对应的纹理,之后采用glDrawArrays()渲染GL_TRIANGLE_FAN的形式,指定好当前四边面在整体渲染数据中的起始偏移,来最终渲染天空盒的每个面。相关代码如下:
随着OPhone 2.0平台的发布和推广,移动设备的3D能力越来越强大。天空盒技术是3D开发中常用的一个组件,本文通过介绍如何使用OPhone中提供的3D API来实现天空盒,希望能引领更多开发者步入神奇的3D世界。
文章所附源码可以在/forum/viewthread.jsp?tid=832 中下载。
薛永,专注于移动3D技术开发,目前正在完善跨PC/Iphone/Android NDK的统一3D引擎。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:109909次
积分:1495
积分:1495
排名:千里之外
原创:33篇
转载:50篇
评论:28条
(2)(2)(2)(2)(2)(10)(6)(6)(2)(4)(1)(1)(1)(8)(1)(3)(7)(4)(6)(4)(9)天空盒_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
格式 文档名称 用户评分 浏览量 下载量我想问下该怎么把平面图做成天空盒_ps吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,008,724贴子:
我想问下该怎么把平面图做成天空盒收藏
我想把这图给做成一个正方体..然后在盒子内向外看就像立体的样子的..但我不知道该怎么做..有大神指教下吗..
ps培训首选&上海达内数字艺术学院&,权威ps培训机构,先就业后付款;直接使用Adobe创意大学原厂技术与教材的ps培训,详询400-061-8380
从内部看,做出来你怎么进去
我自己剪切贴上去后感觉很别扭..看不出天空的感觉..不知道有没办法让面与面相交的边得到渐变效果..
你能说下你是要怎么样吗 我怎么不懂意思- -
像不像就靠你自己了
一看就看出来了引擎是Unity3D其实我也在找天空盒制作教程
对于一个刚来贴吧不久的新人.不敢在吧里大声说话,也不敢得罪人、默默顶贴、深藏功与名
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或>> OpenGL 天空盒
OpenGL 天空盒
所属分类:
下载地址:
skybox.rar文件大小:15.96 MB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
用于Opengl天空盒的实现,编译环境是VS2010 ,对初学者非常有帮助,纹理贴图用的是bmp图片格式,可通过鼠标,键盘控制摄像头的旋转!
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
skybox.exe61.00 kB26-04-14 09:24
skybox.ilk631.32 kB26-04-14 09:24
skybox.pdb627.00 kB26-04-14 09:24
skybox-7360c0cc.ipch31.81 MB26-04-14 09:25
Thumbs.db20.00 kB01-12-09 20:16
XP.bmp768.05 kB01-12-09 20:12
YN.bmp768.05 kB01-12-09 20:12
YP.bmp768.05 kB01-12-09 20:12
ZN.bmp768.05 kB01-12-09 20:12
ZP.bmp768.05 kB01-12-09 20:12
6.04 kB03-05-11 14:53
cl.command.1.tlog982.00 B26-04-14 09:24
CL.read.1.tlog24.72 kB26-04-14 09:24
CL.write.1.tlog598.00 B26-04-14 09:24
mand.1.tlog1.92 kB26-04-14 09:24
link.read.1.tlog4.79 kB26-04-14 09:24
link.write.1.tlog492.00 B26-04-14 09:24
main.obj32.49 kB26-04-14 09:24
mt.command.1.tlog372.00 B26-04-14 09:24
mt.dep65.00 B03-05-11 14:53
mt.read.1.tlog658.00 B26-04-14 09:24
mt.write.1.tlog198.00 B26-04-14 09:24
skybox.exe.intermediate.manifest381.00 B26-04-14 09:24
skybox.lastbuildstate53.00 B26-04-14 09:24
skybox.log2.57 kB26-04-14 09:24
skybox.obj36.42 kB26-04-14 09:24
skybox.vcxprojResolveAssemblyReference.cache707.00 B26-04-14 09:23
&skybox.write.1.tlog&0.00 B26-04-14 09:23
vc100.idb475.00 kB26-04-14 09:24
vc100.pdb108.00 kB26-04-14 09:24
vc90.idb451.00 kB03-05-11 14:53
vc90.pdb108.00 kB03-05-11 14:53
2.82 kB03-05-11 14:53
Thumbs.db20.00 kB01-12-09 20:16
XN.bmp768.05 kB01-12-09 20:12
XP.bmp768.05 kB01-12-09 20:12
YN.bmp768.05 kB01-12-09 20:12
YP.bmp768.05 kB01-12-09 20:12
ZN.bmp768.05 kB01-12-09 20:12
ZP.bmp768.05 kB01-12-09 20:12
5.40 kB03-05-11 14:44
382.00 B03-05-11 14:38
skybox.vcproj3.67 kB03-05-11 14:39
skybox.vcproj.QASWZH-PC.QASWZH.user1.38 kB03-05-11 14:53
skybox.vcproj.WIN-EV972KNF0O6.Administrator.user1.39 kB03-05-11 14:44
skybox.vcxproj4.70 kB26-04-14 09:23
skybox.vcxproj.filters1.11 kB26-04-14 09:22
skybox.vcxproj.user143.00 B26-04-14 09:22
skybox.ncb8.25 MB03-05-11 14:53
skybox.sdf26.33 MB26-04-14 09:49
skybox.sln885.00 B26-04-14 09:23
skybox.sln.old884.00 B03-05-11 14:36
skybox.suo12.50 kB26-04-14 09:49
skybox.suo.old10.00 kB03-05-11 14:53
skybox.v11.suo10.00 kB03-05-11 14:53
1.61 kB26-04-14 09:23
3.27 kB26-04-14 09:23
UpgradeReport.xslt12.21 kB04-05-10 01:19
UpgradeReport_Minus.gif69.00 B26-04-14 09:23
UpgradeReport_Plus.gif71.00 B26-04-14 09:23
&skybox-537d7a9f&0.00 B26-04-14 09:24
&Debug&0.00 B26-04-14 09:24
&pic&0.00 B03-05-11 14:52
&Debug&0.00 B26-04-14 09:24
&ipch&0.00 B26-04-14 09:23
&pic&0.00 B03-05-11 14:33
&skybox&0.00 B26-04-14 09:22
&_UpgradeReport_Files&0.00 B26-04-14 09:23
&skybox&0.00 B26-04-14 09:49
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
评价成功,多谢!
下载skybox.rar
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足,优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-2 runtime:Elapsed:149.801ms - init:0.1;find:0.8;t:0.7;tags:0.0;related:6.2;comment:0.2; 27.69
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
_____________________________________________________________________________________________________________
问答求助版块规则:
  1、问题尽量描述清楚
& && &2、代码要放在代码块里
& && &3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
& && &4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
& && &5、问题得到解决,请选择最佳答案。
& && &6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 280|回复: 2
unity3d天空盒转动
61079/1500排名<font color="#FF昨日变化主题帖子积分
蛮牛粉丝, 积分 1079, 距离下一级还需 421 积分
蛮牛粉丝, 积分 1079, 距离下一级还需 421 积分
蛮牛币2858
在线时间465 小时
<td class="t_f" id="postmessage_.2版本,天空盒用的是6面的材质,怎么才能让天空盒贴图在游戏运行时候转动啊?在编译器里面直接调节材质,有效果。
但是在代码里我调了材质的rotation属性,没有任何变化,然后取天空盒的材质rotation属性打印出来,的确是设置成功了。
3d 5.0天空盒;unity3d 5 天空盒
[]: 一个袋子砸在了 琉璃鬼 头上,琉璃鬼 赚了 1
每日推荐:
5606/1000排名<font color="#FF昨日变化1主题帖子积分
熟悉之中, 积分 606, 距离下一级还需 394 积分
熟悉之中, 积分 606, 距离下一级还需 394 积分
在线时间97 小时
3D中做个UV 动画,再导进来
[]: gzyouxi 发帖时在路边捡到 1
蛮牛币,偷偷放进了口袋.
每日推荐:
61070/1500排名<font color="#FF昨日变化主题帖子积分
蛮牛粉丝, 积分 1070, 距离下一级还需 430 积分
蛮牛粉丝, 积分 1070, 距离下一级还需 430 积分
在线时间391 小时
定时去修改UV值就行啦。
[]: cannycsy 发帖时在路边捡到 2
蛮牛币,偷偷放进了口袋.
每日推荐:

我要回帖

更多关于 旋转音乐盒 的文章

 

随机推荐