几种常见的移动方式

一.通过Character Controller(角色控制器组件)

  1.SimpleMove

    public bool SimpleMove(Vector3 speed); 

      忽略y轴上的速度,返回值表示是否着地。

     CharacterController ch;
        //获取组件
        ch = GetComponent<CharacterController> ();
        //获取玩家的水平和竖直的输入
        Vector3    moveDir = new Vector3 (Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));
        //转换到世界坐标
        moveDir = transform.TransformDirection (moveDir);
        ch.SimpleMove (speed*moveDir);

  2.move

    public CollisionFlags Move(Vector3 motion);

    通过外力来移动控制器,并沿着碰撞体滑动,只受限于碰撞,不考虑重力影响。

  

二.通过动画来移动,需要勾选Apply Root Motion

  1.BlendTree(1D)

    首先需要有一个创建一个BlendTree,这个BlendTree中需要有三个animation动画片段,外面有一个Idle动画,用于与BlendTree之间的切换,我们可以将这个BlendTree命名为Run,Run包含了三个动画片段,run,runLift,runRight(这里没有向后退的动画);

    接着需要声明两个参数,一个Speed: float,用于控制从Idle到Run,另一个为Direction:float,用于控制1D BlendTree的,runLift为-1,run为0,runRight为1,这里的参数基本就设置完成了。

    再就是Idle到Run之间的转换,Conditions设置为Speed,当Greater 0.1时候,切换到Run,less 0.1切换到Idle,

    最后就是需要在代码中实现的部分了,上代码(有点简陋。。。)

void Update()
    {
        animator.SetFloat (hs.SpeedFloat,h*h+v*v);
        animator.SetFloat (hs.DirectionFLoat,h,DirectionDampTime,Time.deltaTime);

    }
时间: 2024-10-19 02:59:48

几种常见的移动方式的相关文章

几种常见SQL分页方式效率比较-转

原文地址:几种常见SQL分页方式效率比较 分页很重要,面试会遇到.不妨再回顾总结一下. 1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTestuse DBTest --创建测试表create table pagetest(id int identity(1,1) not null,col01 int null,col02 nvarchar(50) null,col03 datetime null) --1万记录集declare @i intset

企业宣传片制作几种常见的表现方式

企业宣传片制作几种常见的表现方式企业宣传片公司:企业宣传片制作几种常见的表现方式,以下是一些简单介绍,我们一起来看一下;事实说明的方式:商品宣传中最具说服力的表现手法,通过对使用者的采访,表达使用后的感受,来实际证明产品的功效和可信度.多用于新产品和特殊产品.根据实际情况以及生活的方式:在商品宣传中,将商品至于实际生活的场景,使受众领会商品的功能与概念.这种手法实际就是“描写生活水平的一个切面与商品互相之间密切关系.很直接的表达方式:是商品宣传片的最基本的表现形式,主要采用类似说明文格式,将有关

Java几种常见的编码方式

Java综合 几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言.由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解.我们可以把计算机能够理解的语言假定为英语,其它语言要能够在计算机中使用必须经过一次翻译,把它翻译成英语.这个翻译的过程就是编

几种常见的编码方式

ASCII编码:用来表示英文,它使用1个字节表示,其中第一位规定为0,其他7位存储数据,一共可以表示128个字符. 拓展ASCII编码:用于表示更多的欧洲文字,用8个位存储数据,一共可以表示256个字符 GBK/GB2312/GB18030:表示汉字.GBK/GB2312表示简体中文,GB18030表示繁体中文. Unicode编码:包含世界上所有的字符,是一个字符集. UTF-8:是Unicode字符的实现方式之一,它使用1-4个字符表示一个符号,根据不同的符号而变化字节长度.

几种常见SQL分页方式效率比较

1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTestuse DBTest --创建测试表create table pagetest(id int identity(1,1) not null,col01 int null,col02 nvarchar(50) null,col03 datetime null) --1万记录集declare @i intset @i=0while(@i<10000)begin insert into pagetes

Java中几种常见的排序方式

冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端. 代码 /**   * 冒泡法排序<br/> * <li>比较相邻的元素.如果第一个比第二个大,就交换他们两个.</li>   * <li>对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点

JavaScript的几种常见的创建方式

1.通过Object构造函数或者对象字面量创建单个对象 使用字面量方法创建对象:var stut = {name: "张三"}; 使用内置构造函数创建对象:var stu = new Object();stu.name = "张三" 2.工厂模式 在考虑Es6之前无法创建类,开发人员发明了一种函数,用函数来封装以特定接口创建对象的细节,就是在一个函数内创建好对象,然后把对象返回 函数createPerson()能够根据接受的参数来构建一个包含所有必要信息的Perso

几种常见的网络攻击方式

SYN攻击 DDOS攻击 XSS攻击 CSRF攻击 CSRF(Cross Site Request Forgery 跨站域请求伪造),是一种对网站的恶意利用,他通过伪装来自受信任用户的请求来利用受信任的网站,与XSS攻击相比,CSRF不大流行且难以防范. CSRF能够做到:以你的名义发送邮件.发消息.盗用账号.购买商品.转账等等. 造成的问题包括:个人隐私泄露和财产安全. 原理: 由上可知,要完成一次CSRF攻击,必须满足两个条件 登录受信任的网站A,并在本地生成cookie 在不登出A的情况下

iOS开发中几种常见的存储方式

1.archive 归档 数据的保存 1: let result = NSKeyedArchiver.archiveRootObject(contacts, toFile: path as String) 2: println("保存结果\(result)") .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", cou