【Unity 3D】学习笔记三十三:游戏元素——天空盒子
天空盒子
一般的3D游戏都会有着北京百年一遇的蓝天。让人惊叹不已。事实上天空这个效果没有什么神奇的仅仅需用到天空盒子这个组件即可。能够将天空设想成一个巨大的盒子,这个盒子将整个游戏视图和全部的游戏元素包括当中。
在unity中制作天空盒子非常方便,仅仅须要像设置其它组件一样设置下即可了。在制作天空盒子之前。我们须要搜集一些天空的贴图。只是。unity非常方便的为开发人员提供了天空盒子的资源包。首先在project视图中点击鼠标右键。然后选择import package——skyboxes即可加入天空盒子的资源包。
在资源包里有9个天空资源。由于天空盒子是立方体的。全部就须要6个面的贴图,如图选择第一个。在右側inspector视图中就会显示 天空盒子6个面的贴图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzI4OTE4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
skybox组件
由于摄像机的正面是游戏显示的内容。所以在摄像机上绑定一个skybox组件用来显示天空盒子贴图。首先在hierarchy视图中选择摄像机对象。然后在导航菜单条中选择component——rendering——skybox。就可以将盒子加入到摄像机对象中。接着在盒子组件中设置custom skybox(自己定义天空盒子)贴图资源。点击右側的button。在弹出选择天空盒子贴图的窗体中选择一款贴图加入,然后执行,漂亮的天空就会出如今你的视线中。
设置完后,调整下摄像机的位置天空效果例如以下图:
须要注意的是:假设一个游戏里有一个摄像机对象。这样加入天空盒子是没有问题的。但有多个摄像机对象,在摄像机之间切换后,天空盒子的贴图位置就会出现故障。由于贴图资源仅仅是相对于当前摄像机对象的。那怎么解决多个摄像机中天空盒子的问题咧?看下文。
在场景中加入天空盒子
在游戏场景中直接设置盒子。可避免多个摄像机设置盒子切换后贴图显示问题。首先在导航菜单中选择edit——render setting。打开渲染设置界面。在该界面中的skybox material(天空盒子材质)选项中设置天空的材质。然后将其直接应用与游戏场景中。如此加入就能够避免问题,由于这将是真正的盒子放在游戏界里了。执行后:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzI4OTE4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
自行加入天空盒子材质
开发人员能够自行加入盒子的材质已满足不同的需求。首先某材质中,在shader(着色器)下拉列表中选择renderfx/skybox。然后使用贴图资源将六面贴图赋值填充后就可以。
【Unity 3D】学习笔记三十三:游戏元素——天空盒子的更多相关文章
- Unity 3D学习笔记(三)——关于脚本
在脚本中定义的类成员,如果是公共的话,在脚本与游戏对象绑定之后,是可以在Inspector中编辑的,例如下面这个脚本: using UnityEngine; using System.Collecti ...
- unity 3D 学习笔记
1.父对象的初始位置设,即刚开始的空对象的根节点位置应当设置成(0,0,0) 这样设置可以避免以后出现奇怪的坐标. GameObject实际上就是一些组件的容器. unity 使用公用变量原因是,在U ...
- HTML5学习笔记三:aside元素,time元素与微格式
一.aside元素 表示当前页面或文章的附属信息部分,相关的引用,侧边栏,广告等有别于主要内容的部分:主要有一下两种用法: 1. 被包含在article元素中作为主要内容的附属信息部分,可以是与当前文 ...
- PHP学习笔记三十三【自定义错误处理器】
<?php //自定义错误处理器 //$errorno 错误号 //$errmes错误信息 //这两个参数是必须的 function my_error($errorno,$errmes) { e ...
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
原博主博客地址:http://blog.csdn.net/qq21497936本文章博客地址:http://blog.csdn.net/qq21497936/article/details/78516 ...
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- VSTO 学习笔记(十三)谈谈VSTO项目的部署
原文:VSTO 学习笔记(十三)谈谈VSTO项目的部署 一般客户计算机专业水平不高,但是有一些Office水平相当了得,尤其对Excel的操作非常熟练.因此如果能将产品的一些功能集成在Office中, ...
- angular学习笔记(三十一)-$location(2)
之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...
- angular学习笔记(三十)-指令(10)-require和controller
本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...
随机推荐
- PE第n弹
PE201 -- F[i][j][k] 和为i前j个选了k个方案数.因为值域很小. PE202 -- 那个反射其实挺酷炫的,你考虑把它的镜面反射去掉,把它扩展成一个无限大的正三角网格.. PE410 ...
- php处理ajax
首先安装wamp,若安装过mysql则终止进程防止冲突,可以访问localhost说明成功.在www目录下新建项目,使用localhost访问. php: <?php //3.获取ajax传过来 ...
- Vue.js笔记 — vue-router路由懒加载
用vue.js写单页面应用时,会出现打包后的JavaScript包非常大,影响页面加载,我们可以利用路由的懒加载去优化这个问题,当我们用到某个路由后,才去加载对应的组件,这样就会更加高效,实现代码如下 ...
- SQL统计,重复字段只算一次
原文发布时间为:2010-08-07 -- 来源于本人的百度文章 [由搬家工具导入] master数据库为例: COUNT(EXPRESSION)一个字段重复,则只算一次:SELECT COUNT(D ...
- pyspider 爬虫教程(一):HTML 和 CSS 选择器
虽然以前写过 如何抓取WEB页面 和 如何从 WEB 页面中提取信息.但是感觉还是需要一篇 step by step 的教程,不然没有一个总体的认识.不过,没想到这个教程居然会变成一篇译文,在这个 ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---26
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 【转载】SQL Server 2008 R2 使用的端口解析
转载博客:http://www.cnblogs.com/studyzy/archive/2009/11/30/1614139.html SQL Server在安装到服务器上后,出于服务器安全的需要,所 ...
- Redis 批量删除Redis的key 正则匹配删除
del 删除单个key方便 要是删除多个就不是很方便了 这时候可以使用xsrsg来批量删除 1.退出redis 2.匹配CCPAI:开头的所有key*删除 redis-cli -a 密码 -h hos ...
- js 拦截全局 ajax 请求
你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...
- Http头 Range、Content-Range(http断点续传原理)
HTTP头中一般断点下载时才用到Range和Content-Range实体头,Range用户请求头中,指定第一个字节的位置和最后一个字节的位置,如(Range:200-300)Content-Rang ...