从零开始Unity3D游戏开发【2 简单的水管工例子】
1.首先,创建一个新的Project。
2.hierarchy(层)窗体下的Create下添加一个plane(平面)
3.调整Main Camera的视角,让panel显示在Game窗体。这一步比较困难,如果没有3维建模基础,确实不好整。但是没关系,别忘记了我们有快捷键。
在Scence(场景)里面调整好panel的视图,一般来说X轴在右侧。然后选中Main Camera,按住Ctrl+Shift+F,就会发现摄像机自动定位了。

4.导入系统资源包
Project下->Assets文件夹->右键->ImportPackage->Character Controller 然后导入全部
Assets文件夹下的Character Controller里面会有个水管工的图片,拖到plane里面,调整好视角。
5 Hierarchy(层)窗体下的Create下添加一个立方体Cube,放到plane上
6. Hierarchy(层)窗体下的Create下添加一个灯光,放到plane上
初步效果图如下:

7.U3D的灯光分为 Directional 方向光, Point 点光, Spot 聚光,area 区域光 具体的属性,用途在下一篇文章会摘抄一份详细的。
8.添加影子(光下面没有影子是多么奇葩的事情)

注意画红框框的地方,Area Light只是我们添加的光的名字,那么现在,它是区域光吗?答案是不是,他是 Directional 方向光。为什么呢?因为他的Type设置了。所以,有时候千万不要被名字迷惑。想要让光下的物体有影子,还得设置光的属性Shadow的属性为soft Shadows或者Hard Shadows.
阴影分为hard shadows和soft shadows两种,前一种阴影比较重,后一种相对柔和。但是默认情况下,你会发现只要directional light类型的灯光才可以使用阴影,别急,咱们来改一个设置,让其他两种灯光也能使用阴影,打开edit-project settings-player,然后将rendering path改为deferredlighting(延迟光照),这下你的电光源和聚光灯也能产生阴影了~(要产生阴影,还需要将投射阴影的对象的Cast shadows(投射阴影)勾选,将接受阴影的对象的Receive shadows(接受阴影)勾选, <ignore_js_op> 举个例子,你要让树在地面上产生阴影,那就得让树投射阴影,然后让地面接受阴影才行)
9.物体碰撞:
之前我们添加的立方体是作为障碍物存在的。水管工是不能从里面穿过的。 需要我们设置下属性。

BoxCollider 启用后物体就可以作为障碍物存在了,也就是说水管工不能穿过该立方体。不启用的时候,水管工可以跑到他的里面。
Mesh Renderer 选中后,该物体呈现在游戏界面。不选中就不呈现在游戏界面。注意,它不和BoxCollider 属性冲突。也就是说,一个物体选中了BoxCollider 没有选中Mesh Renderer 的时候,它在游戏界面上是不显示的。但是,当你走到他的左边那边的时候,依然会有阻拦作用。
因此,此属性可以处理地图边界问题。阻挡游戏小人儿跑到地图外面。
从零开始Unity3D游戏开发【2 简单的水管工例子】的更多相关文章
- 从零开始Unity3D游戏开发【1 常用快捷键】
Unity3D近两年起来的很快.自己对游戏一直很有兴趣,所以想找机会转游戏开发.目的之一是赚钱,目的之二是完成自己的小梦想. Unity3D的人才还是紧缺的,招聘网站上各个公司真敢拿着钱砸.让.NET ...
- 从零开始Unity3D游戏开发【3烘焙】
烘焙:通过烘焙能把动态场景转化为静态场景.从而提高游戏的性能. [烘焙步骤] 1.Edit---Player---Rendering[forword] 2.Directional light(必须是这 ...
- Unity3D游戏开发之简单的碰撞检測
在"Project"面板中单击"Create"旁边的小三角,选择"javascript"创建一个名为"collision" ...
- 从零开始Unity3D游戏开发【4 材质球和渲染纹理】
[创建材质球] 1.Project 面板下 create-Material 然后将材质球拖放到物体,物体的颜色便会和材质球相同: [渲染纹理 RenderTexture]
- Unity3D游戏开发初探—2.初步了解3D模型基础
一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被. ...
- 从一点儿不会开始——Unity3D游戏开发学习(一)
一些废话 我是一个windows phone.windows 8的忠实粉丝,也是一个开发者,开发数个windows phone应用和两个windows 8应用.对开发游戏一直抱有强烈兴趣和愿望,但奈何 ...
- Unity3D游戏开发之连续滚动背景
Unity3D游戏开发之连续滚动背景 原文 http://blog.csdn.net/qinyuanpei/article/details/22983421 在诸如天天跑酷等2D游戏中,因为游戏须要 ...
- Unity3D游戏开发从零单排(四) - 制作一个iOS游戏
提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...
- [Unity3D]Unity3D游戏开发《反对》说到游戏(上)——目标跟踪
朋友,大家好.我是秦培,欢迎关注我的博客.我的博客地址blog.csdn.net/qinyuanpei. 首先博主要自我反省,过了这么久才来更新博客,这段时间主要是在忙着写期末的作业,所以博主基本上没 ...
随机推荐
- Windows 10开发基础——文件、文件夹和库(一)
原文:Windows 10开发基础--文件.文件夹和库(一) 主要内容: 1.枚举查询文件和文件夹 2.文本文件读写的三种方法——创建写入和读取文件 3.获得文件的属性 枚举查询文件和文件夹 先了解一 ...
- <!DOCTYPE html>
html5标准网页声明,原先的是一串很长的字符串,现在是这个简洁形式,支持html5标准的主流浏览器都认识这个声明.表示网页采用html5.
- C++多字节字符转换为宽字符的两种方法
目前知道有两种方式:可以提供宽字符与ANSI字符之间的转换, 第一种由COM库提供的函数 char* _com_util::ConvertBSTRToString(BSTR ); BSTR _com ...
- 二叉查找树的Insert和Delete操作
struct TreeNode{ SearchTree Left; SearchTree Right; ElementType Ele; }; /*递归一定有出口*/ /*递归代码就是要重复使用*/ ...
- fs.rename可以重新写入文件
fs.rename可以重新写入文件 用法 fs.rename(旧path,新path,callback)可以重新写入文件 引用地址 http://www.jb51.net/article/58548. ...
- javascript数组去重算法-----3
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android 常用代码大集合 [转]
[Android]调用字符串资源的几种方法 字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...
- myeclipse配置weblogicserver
使用myeclipse设置weblogic时在window下打开preferences,选择myeclipse->Servers,选择weblogic,选择对应的版本号,这里我电脑上安装的是we ...
- ACCESS DLL加载错误
如今还在用ACCESS 2003,太懒没办法,升到2010变化太大了,做个Access的转版挺麻烦的.况且大家都在使用2003,也就懒得搞了. 但问题是office 2003已经out了,(Offic ...
- vue分页组件table-pagebar
之前一直接触都是原始的前端模型,jquery+bootstrap,冗杂的dom操作,繁琐的更新绑定.接触vue后,对前端MVVM框架有了全新的认识.本文是基于webpack+vue构建,由于之前的工作 ...