unity3d角色控制器01

参考出处貌似是雨松大神。如有侵权,立即删除。

需要导入包

①将FirstPerson Controller拖拽入Hierarchy(层次视图)中。由于角色控制器是具有一定物理引擎的,所以一定要将它放在地形或面对象之上,否则当它接收物理效果时发现地面没有东西支撑它,它就会掉下去, W、S、A、D移动人物行走,移动鼠标更改行走的方向,空格键人物会跳跃。

第一人称视角的实现原理是在游戏场景中创建了一个胶囊体的游戏对象,并且给胶囊体对象身上绑定了一个摄像机,摄像机对象如下图所示,它绑定在”Person Controller”中。这时场景中默认的摄像机就会失效,可以直接删掉默认的摄像机。目前场景中的天空盒子我是使用SkyBox组件绑定在摄像机中,因为第一人称视角的摄像机对象在”Person Controller”中,所以需要将SkyBox组件绑定在这个摄像机中,如果绑定在默认摄像机中那么你将不会看到天空的效果。

②第三人称:在Hierarchy视图中选择3rd Person Controller,在右侧Inspector视图中将Third Person Camera 脚本的 Camera Transform 变量绑定上刚刚创建的主摄像机,此时运行游戏后以第三人称视角移动主角行走与跳跃,摄像机永远都会在跟随在后面除非修改角色控制器组件中默认提供的源码

//将这个代码绑到第三人称上,再为物体加上刚体,可以推。

void OnControllerColliderHit(ControllerColliderHit hit) {

//判断碰撞的对象是否具备刚体组件

GameObject hitObject = hit.collider.gameObject;

Rigidbody rigidbody = hitObject.rigidbody;

if(rigidbody != null && !rigidbody.isKinematic) { //地面也具备刚体组件,这里判断一下

if(!hitObject.name.Equals("Terrain") ){

rigidbody.AddForce(new Vector3(hit.moveDirection.x, 0, hit.moveDirection.z) * 10);

}

}

}

时间: 2024-10-17 10:23:36

unity3d角色控制器01的相关文章

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

角色控制器主要用于第一人称和第三人称主角的控制,并不使用刚体物理效果. 添加角色控制器的方法:依次打开菜单栏中的Component - Physiscs - Character Controller Slope Limit:坡度限制,角色只能爬上小宇或等于该参数值的斜坡. Step Offset:台阶高度,可以买上最高台阶的高度. Skin Width:皮肤厚度,可与其他碰撞体相互渗入的深度,参数值较大会产生抖动的现象:参数值较小会导致控制的对象被卡住.较为合理的设定就是:该参数值是Radius

【Unity】11.1 角色控制器 (Character Controller)

分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 角色控制器(Character Controller)主要用于对第三人称或第一人称游戏主角的控制.如果要创建类人角色,可使用角色控制器 (Character Controller).这可以是第三人称游戏 (Third Person Platformer) 中的主角色.FPS 射击者或任何敌人角色. 二.基本概念 第三人称游戏中的这些控制器由于无规律可循,所以无法遵守固定的物理规则,例如,让某辆车每小时跑 90 英里,

C#版官方角色控制器脚本

将官方自带的角色控制器脚本,改写为C#版,以下为所有代码: CharacterMotor.cs  主要设置角色控制的系数,如运动,跳跃,移动,滑动等.第一人称与第三人称主角模型的移动与旋转的角度最后都是在这里计算的. CharacterMotor.cs  代码: 1 using UnityEngine; 2 using System.Collections; 3 4 /** 5 *主要设置角色控制的系数,如运动,跳跃,移动,滑动等.第一人称与第三人称主角模型的移动与旋转的角度最后都是在这里计算的

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

向原创致敬http://blog.csdn.net/janeky/article/details/17406095 我们要控制角色的移动,可以全部细节都由自己来实现.控制角色模型的移动,同时移动摄影机,改变视角.当然Unity也提供了一些组件,可以让我们做更少的工作,实现我们所期望的功能.今天我们就一起系统来学习相关的内容吧. Charactor Controller(角色控制器) "角色控制器允许你在受制于碰撞的情况下很容易的进行运动,而不用处理刚体.角色控制器不受力的影响,仅仅当你调用Mov

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

先上一个gif看看效果.因为图片大小限制.所以录制的比较小.个人认为效果比较牵强.特别是里面的逻辑代码. 不过我还是认为一切是为了先实现,因为我是刚接触的新手. 工程结构图 这次实现的效果是: 1:摄像机跟着角色移动,上篇博客说的是.把摄像机变成角色的子对象.发现没有我想要的效果.跟着角色移动代码是我自己弄出来的.不知道实际项目中是否也是这样. 2:利用角色控制器组建 CharacterController 实现角色移动. 3:当鼠左键击地形,角色自动寻路.今天发现用unity3d有自带的Nav

unity学习--003:角色控制器(中)

在上篇 unity学习--003:角色控制器(上)中,看了点角色控制的基本实现方法,鼠标和键盘控制比较粗糙的实现. 在这篇中,主要介绍几个unity封装的角色控制方法, 然后预计在下篇中综合介绍几种主流的角色控制方法. 话不多说,开搞: 依旧是上次拖过来的几个模型 不过,这次添加了地形,素材,和天空盒,自然光,至于怎么加的,请看这里 添加地形等 不在黑黑的,心情也好点了,下面来介绍几种unity自带的角色控制操作.(这些方法都是unity自带的API) 1.CharacterController

【Unity】4.4 添加角色控制器

分类:Unity.C#.VS2015 创建日期:2016-04-10 一.简介 设计完毕基本的场景后,一般都需要先运行看看效果如何,即先让场景"动起来",以方便观察不同的位置,而不是仅仅观察固定摄像机位置的死板板的场景. 这就是角色控制器的功能(实际上还不仅仅是只有这些功能). Unity已经帮你设计好了角色控制器组件(Characters),你只需要导入它,然后就可以直接使用了. 二.导入Unity自带的脚色控制器 要让你设计的场景动起来,只需要导入Unity自带的Character

基于Ogre的角色控制器

基本框架 首先参照这里配置好工程. 添加一个类CharacterApplication,还有main.cpp. 直接贴代码了. characterapplication.h #pragma once #include <OgreCamera.h> #include <OgreEntity.h> #include <OgreLogManager.h> #include <OgreRoot.h> #include <Ogre.h> #include

Unity3D角色阴影制作

本文将重点介绍两种目前在移动平台上的主流阴影制作技术,同时也会简单介绍两种移动平台上相对较为高级的动态阴影生成方法. 由于目前主流使用Unity3.x在移动平台上并不支持阴影的动态生成技术,所以目前最普遍流行同时性价比也最高的阴影生成方法有以下两种: 1.  简单贴图法 所谓简单贴图法即是直接在角色的角底附加一个阴影半透明贴图,并让其跟随角色一起运动,一般是将该阴影Object成为角色模型的子物体,该种阴影生成效果如下: 阴影的Inspector视图如下: 其中ShadowComponent是控