自学是一个坚持和寂寞的过程,写博客更是一个总结与成长的过程,加油!

角色控制器续

之前学习了角色漫游,但里面有很多效果都不是我想要的。只有自己的动手实践了才能理会其中的奥妙。所以我又琢磨了许久。

为了把文章写的完整。所以把地形到角色控制器一个流程写下了

地形Terrain

1:新建地形

新建地形后。可以设置地形的参数,开发前期就要设置好地形配置,开发中期,如果在设置地形的话。地形将会变成初始化状态

2:参数设置

选择地形对象,在Inspector中可以看到地形菜单栏

单击地形设置,找到下面Resolution选项

3:编辑地形

现在可以拿出自己的艺术细胞。可以尽情的开始涂鸦。几分钟后........

接下来看第二个:编辑地形特定高度

第三个是平滑过渡,可以把地形弄得圆滑些。自己可以试试。就不上图了

第四个是地形贴图。给地形添加一张山漠的贴图,

unity内置了地形资源。ok,导包

导入完成后。资源包含了贴图,树。花草等等

你会发现这里可以添加多张贴图。第一张默认是地形是整个颜色,如果你想在上面画其他颜色,可以添加第二个贴图,比如现在想画绿色

那么现在在添加一张绿色贴图,然后选中绿色贴图,用画笔在地形中绘制。

当然,你可以删除贴图和编辑贴图。达到你想要的效果。

第五个是添加树。第六个是添加草,具体添加方法跟上面贴图一样。也不上图了

来看看树的一些参数解释

草的参数也不上图了。跟上面差不多。然后在给加上天空盒子(上篇博客介绍过怎么使用),最后我的涂药效果。

现在终于到了角色控制器了。

角色控制器

角色控制器组件保存在unity标准资源包中,可以模拟第一人称或者第三人称视角,它不受刚体的限制,ok,既然是资源包,导包呗。

Import Package-->Character Controller 搞定

1:第一人称。在第一人称视角中,整个游戏视图好比主角的眼睛,游戏画面中的一切好像好像是从自己眼睛看到的一样,就像CS游戏。

2:第三人称。在游戏场景中包含主角和Camera,主角移动后,Camera永远跟着主角移动,所以游戏中一直可以看到主角当前移动的方向。

看看刚刚导入的角色控制器资源包

选择第一人称或者第三人称拖入Scene视图中,,运行游戏看效果(wsda移动空格键跳跃)

看看效果:你会发现什么问题?

1:当我把第三人称角色控制器拖入sceen视图中的时候。有一半是在地形里面的。这样。你需要把他拖到地形之上,否则会掉小去

2:发现他是不是可以穿过树木,因为树木是地形内置的资源。是没办法解决的。除非你单独导入树模型。然后给模型添加控制器。

现在看到这些。是不是迫不及待的想自己做一个游戏角色来模拟这些效果。

ok。拿之前的"角色漫游"那篇博文来讲解

1:新建地形

2:导入角色

3:我这里导入树模型和石头。这样角色就不可以穿过树或者石头

为了不能穿过石头。所以要把石头和角色都添加碰撞器角色添加刚体,当角色用力撞击石头的时候,你会发现。角色因为刚体的作用会反弹,那么问题来了。

所以这里就需要用到角色控制器组件,对,就是这个组件,角色控制器组件和刚体组件都具备物理引擎功能,他们都需要绑定在游戏对象中,、才能实现物理效果

并且同一个游戏对象中两者只能存在一个。刚体组件可以非常精确的模拟现实世界中模型的一切物理效果,而角色控制器组件则没有刚体那么精确,它更多地受控制器的限制,所以它更适合控制游戏对象

有兴趣的可以去尝试下。今天就写到这里,这里没什么代码是些理论。下一篇在写角色控制器组件,和用代码控制角色

unity3d-角色控制器续的更多相关文章

  1. unity3d角色控制器01

    参考出处貌似是雨松大神.如有侵权,立即删除. 需要导入包 ①将FirstPerson Controller拖拽入Hierarchy(层次视图)中.由于角色控制器是具有一定物理引擎的,所以一定要将它放在 ...

  2. [unity3d]角色控制器组件相互间不碰撞

    RPG游戏会有这种需求. 队友之间,玩家之间.玩家与怪物之间,都有可能须要不能碰撞.怎样实现?这个问题困恼了一段时间,昨天在网上看到解答的方法: 这里举例玩家和怪物之间: 1,填加2个不同的层级mon ...

  3. [原]Unity3D深入浅出 - 角色控制器(Character Controller)

    角色控制器主要用于第一人称和第三人称主角的控制,并不使用刚体物理效果. 添加角色控制器的方法:依次打开菜单栏中的Component - Physiscs - Character Controller ...

  4. Unity3D笔记 英保通六 角色控制器

    一.角色控制器 U3D有两种角色控制方式:Rigidbody刚体.角色控制器组件(胶囊体组件) 面试的题目中经常会遇到这个问题: CharacterController和Rigidbody的区别? 这 ...

  5. Unity手游之路<七>角色控制器

    Unity手游之路<七>角色控制器 我们要控制角色的移动,可以全部细节都由自己来实现.控制角色模型的移动,同时移动摄影机,改变视角.当然Unity也提供了一些组件,可以让我们做更少的工作, ...

  6. Unity手游之路&lt;七&gt;角色控制器

    我们要控制角色的移动,能够所有细节都由自己来实现.控制角色模型的移动,同一时候移动摄影机,改变视角.当然Unity也提供了一些组件,能够让我们做更少的工作,实现我们所期望的功能.今天我们就一起系统来学 ...

  7. unity3d-代码控制游戏角色控制器移动

    先上一个gif看看效果.因为图片大小限制.所以录制的比较小.个人认为效果比较牵强.特别是里面的逻辑代码. 不过我还是认为一切是为了先实现,因为我是刚接触的新手. 工程结构图 这次实现的效果是: 1:摄 ...

  8. 【Unity 3D】学习笔记三十八:角色控制器

    角色控制器 在unity中,已经帮我们实现的上下左右跳等动作,并将他们封装成了角色控制器.角色控制器保存在unity标准资源包中,能够说是很的强大.能够模拟第一或者第三人称视角.不受刚体的限制,很适用 ...

  9. U3D组件------CharacterController(角色控制器)

    角色控制器中有碰撞体和刚体的属性 Slope Limit:角色能爬的斜坡的坡度限制 Step Offset:角色走台阶的高度 Skin Width:当场景里面出现多个角色控制器的时候,两个对象在接触的 ...

随机推荐

  1. {django模型层(二)多表操作}一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询、分组查询、F查询和Q查询

    Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 ...

  2. LeetCode 4 - 两个排序数组的中位数 - [分治]

    题目链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/description/ 给定两个大小为 m 和 n 的有序数组 n ...

  3. 1.7Oo局部变量和成员变量执行顺序

    import java.util.Scanner; public class booleann { private float fWidth; private float fHeight; void ...

  4. 创建结点 与 分配内存 Function to create a Node. Allocates memory for a new node. 主动申请内存 链表 指针的写法

    Self Referential Data Structure in C - create a singly linked list http://www.how2lab.com/programmin ...

  5. Flink – JobManager.submitJob

    JobManager作为actor, case SubmitJob(jobGraph, listeningBehaviour) => val client = sender() val jobI ...

  6. EF-CodeFirst-基础

    什么是Code-First Code-First主要用于领域驱动设计.在Code-First方法中,专注于应用程序的域,先开始为域实体创建类,而不是先设计数据库,然后创建与数据库设计相匹配的类.下图说 ...

  7. Appium-两个小报错

    (1)     执行脚本appium报错:> info: [debug] Emulator not running appium设置中取消勾选launch avd解决 (2)执行脚本python ...

  8. linux进程间通信同步-共享内存

    参考:https://www.cnblogs.com/charlesblc/p/6142868.html 使用有名信号量,sem_open().sem_close().sem_post().sem_w ...

  9. 在Linux下用C语言实现短信收发

     本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lyserver/archive/2008/10/01/3007090.aspx 首先,我根据功能需要创建了几个头文件 ...

  10. centos中文语言安装

    1.查看当前使用的系统语言 #echo LANG 2.查看系统是否安装中文 #locale 如有zh_cn,表示已经安装了中文语言 3.安装中文 #yum groupinstall chinese-s ...