Unity3d 跑酷游戏 之Character Controller篇
unity3d Character Controller
@by 广州小龙
做3D跑酷游戏,也慢慢的学习了一些东西,从开发过程中积累了一些小的知识点跟大家分享一下!
1.
这个Revert按钮的意思是,可以把这个gameobject恢复到初始状态!
2.Input.GetAxis(string name);
返回值类型:float
参数:Horizontal,Vertial,Mouse X,Mouse Y
其中Horizontal,Vertical默认对应键盘上的左右、上下键,返回值为-1或1
Mouse X,Mouse Y对应鼠标位置,返回值不定
以上都是在Unity3d中预定义好的映射,可以通过Edit->Project Settings->Input来重新定义映射
3.transform.TransformDirection
转载自 http://hi.baidu.com/blues_master/item/e3a90dcb1d9658d59744527c
看转载讲解的非常细致,容易深刻理解!
这个方法是指的把 本地坐标转化为某个物体的世界坐标
比如有个车,它目前是朝向正前方的,那么它可以通过Vector3.forward来向前移动,那么前面车有个转角,车旋转了90度,那么如果还通过Vector3.forward来向前的话,就不对了,所以我们需要用
transoform.TransformDirection来变换他的方向!
具体代码是 transform.TransformDirection(Vector3.forward)
4.做3D跑酷
对人物加Character Controller组件!
如果使用了Character Controller组件,那么这个人物不具备Rigidbody的属性,需要自己模拟物体特性,用重力gravity即可!
使用Character Controller的Move方法可以实现跳跃以及行走!
Unity3d 跑酷游戏 之Character Controller篇的更多相关文章
- [原]Unity3D深入浅出 - 角色控制器(Character Controller)
角色控制器主要用于第一人称和第三人称主角的控制,并不使用刚体物理效果. 添加角色控制器的方法:依次打开菜单栏中的Component - Physiscs - Character Controller ...
- 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇:简介及目录》(附上完整工程文件)
跑酷游戏制作 游戏类型: 此游戏Demo,为跑酷类游戏. 框架简介: 游戏通常由程序代码和资源组成.如果说模型.贴图.声音之类的可以给游戏环境提供一个物理描述和设置,那么脚本和代码块会给游戏赋予生命, ...
- 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇05:二段跳》
5.二段跳 二段跳概述: 基本跑酷游戏的框架搭建完毕,开发者会根据开发的游戏特性,增设一些额外功能,使游戏具有可玩性性和画面感.下面我们以角色的二段跳为例,来了解在跑酷游戏中增设其它功能的流程.二段跳 ...
- 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇04:如何实现触控操作》
4.如何实现触控操作 触控操作概述: 随着APPLE.Samsung.SONY等众多公司,将掌机.电脑和手机等产品在触控领域的不断探索,以触控为操作的机型越来越多的被投放到市场当中.触控游戏.触控软件 ...
- 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
3.暂停游戏 暂停游戏概述: 在游戏进行时,玩家有可能会遇到多种突发事件.在跑酷游戏中突发状况的发生对游戏的影响更甚,游戏进行时玩家死亡,游戏只能从头开始,那么如果因为外界因素而影响游戏的进行,显然是 ...
- 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇02:内购如何实现》
2.内购如何实现 内购概述: 游戏内购是指玩家在游戏中,用金钱获取游戏道具的一种方式.开发者从玩家内购之中获得开发游戏的收益,因此大量游戏都有内购模块.下面我们以在手机IOS平台实现跑酷游戏内购为例, ...
- 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇01:道路的自动生成》
1.道路的自动生成 道路自动生成概述: 3D跑酷游戏的核心就是跑,在跑这一过程中增加趣味性使得游戏具有更多的可玩性.道路的自动生成和自由拼接,为游戏增设了更多的不可预见性.这种不可预见性使得玩家在游戏 ...
- 《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结
前几天,个人著作<Unity3D/2D游戏开发从0到1(第二版)>经过七八个月的技术准备以及近3个月的日夜编写,在十一长假后终于完稿.今天抽出一点时间来,给广大热心小伙伴们汇报一下书籍概况 ...
- (译)【Unity教程】使用Unity开发Windows Phone上的横版跑酷游戏
译者注: 目前移动设备的跨平台游戏开发引擎基本都是采用Cocos2d-x或者Unity.一般而言2d用cocos2d-x 3d用unity,但是对于Windows Phone开发者, cocos2d- ...
随机推荐
- Qt 学习之路 2(79):QML 组件
前面我们简单介绍了几种 QML 的基本元素.QML 可以由这些基本元素组合成一个复杂的元素,方便以后我们的重用.这种组合元素就被称为组件.组件就是一种可重用的元素.QML 提供了很多方法来创建组件.不 ...
- spring session工程发布--一种新的管理httpsession的方法
官方文档:http://spring.io/blog/2014/07/08/spring-session-1-0-0-m1-released 1. 优点: This project provides ...
- auth tips
https://scotch.io/tutorials/easy-node-authentication-setup-and-local https://scotch.io/tutorials/upg ...
- block没那么难(一):block的实现
本系列博文总结自<Pro Multithreading and Memory Management for iOS and OS X with ARC> block 顾名思义就是代码块,将 ...
- 规范javascript书写
空白 缩进 换行限制 if while for do 2. 命名 常量 URL_CONFIG 变量 listLen 函数命名 调用函数 function setStyle(dom, name, v ...
- RPM工具
一.RMP工具管理RPM包 rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐 ...
- 偶遇问题 - - JavaScript 取消链接默认行为问题
今天在测试<JavaScript DOM编程艺术(第2版)>中第69页代码时,遇到了问题.本来预期效果应该是点击链接后不跳转当前页面,而是另外弹出有个窗口.但结果却是页面跳转了.代码如下图 ...
- DataView操作DataTable
1.DataView筛选数据 //假设有一个DataTable数据 DataTable dt = new DataTable(); //转成DefaultView DataView dv = dt.D ...
- angularjs-ngModel 控制页面的宽度
js NiDialog.open({ windowClass: '', size:'elements', backdrop: 'static', keyboard: false, templateUr ...
- Linux下sqlite的安装与使用
简介 SQLite是一款轻量级数据库,是遵守ACID的关联式数据库管理系统.它的设计目的是嵌入式.目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百KB的内存就 ...