移动与旋转 1

player角色随asdw按键左右上下移动并旋转

 public void Update()
{
// Reset player rotation to look in the same direction as the camera.
Quaternion tempRotation = myCamera.transform.rotation;
tempRotation.x = ;
tempRotation.z = ;
myTransform.rotation = tempRotation; float xMovement = Input.GetAxis("Horizontal");// The horizontal movement.
float zMovement = Input.GetAxis("Vertical");// The vertical movement. // Are whe grounded, yes then move.
if (IsGrounded()) { //Move player the same distance in each direction. Player must move in a circular motion.
float tempAngle = Mathf.Atan2(zMovement,xMovement); //获取到键盘输入的弧度 xMovement *= Mathf.Abs(Mathf.Cos(tempAngle));//将键盘坐标系的弧度转换为新坐标系的x坐标(当斜边为1时cos弧度求到x)
zMovement *= Mathf.Abs(Mathf.Sin(tempAngle));//同理求到y moveDirection = new Vector3(xMovement, , zMovement); //得到方向 moveDirection = myTransform.TransformDirection(moveDirection);
moveDirection *= moveSpeed; // Make the player jump.
if (Input.GetButton("Jump"))
{
moveDirection.y = jumpSpeed; //跳跃
// TODO Add jump animation.
}
} // Apply gravity.
moveDirection.y -= gravity * Time.deltaTime; //重力 // Are we moving.
if(moveDirection.x == && moveDirection.z == )
{
if(animator!=null)
{
animator.SetBool("run", false); //停止移动后停止播放动画
}
}
else
{
// Make rotation object(The child object that contains animation) rotate to direction we are moving in.
Vector3 temp = myTransform.position;
temp.x += xMovement; //得到下一个目标点
temp.z += zMovement;
myRotationObject.localRotation = Quaternion.Slerp(myRotationObject.localRotation, Quaternion.LookRotation(temp-myTransform.position), rotationSpeed * Time.deltaTime); //使角色平滑转向下一个目标点
if(animator!=null)
{
animator.SetBool("run", true);
}
} controller.Move(moveDirection * Time.deltaTime); //开始移动
}

unity3d 移动与旋转 1的更多相关文章

  1. Unity3D料槽设备旋转(一)

    1.使用C#创建控制游戏对象的的脚本语言, 第一步: 在project师徒中create 一个C#脚本,将其按照自己的设备名称进行命名,这里我将其简单的命名成zhuaquanzhou.cs 使用编辑器 ...

  2. unity3d 移动与旋转 2

    这次的代码示例是配合动画系统使用的 4.3新的动画系统允许动画带有位置偏移,只需要在Animator组件中勾选Apply Root Motion我们就可以使用它了. using UnityEngine ...

  3. Unity3D 中 用quaternion 来对一个坐标点进行旋转的初步体会

    在unity3d中,用四元数来表示旋转,四元数英文名叫quaternion . 比如 transform.rotation 就是一个四元数,其由四个部分组成 Quaternion = (xi + yj ...

  4. 09应用输入经理旋转场景--《猿学校课程Unity3d》

    为什么极品飞车游戏等.,我们可以通过系统设置非常的方面根据自己喜欢的操作模式设置,有些人喜欢用箭头来控制不喜欢与使用"W,S,A,D"控制,这就解释程序猿不会死在程序写入内部控制, ...

  5. Unity3D 如何图形问题修正旋转模型已导入?

     如何纠正旋转模型被导入? 一些立体艺术资源包导出其模式,以便 Z 轴向上.Unity 大多数标准的脚本中假定的三维世界 Y 轴代表了.在 Unity 比改动脚本使其契合easy得多. Z 轴朝上 ...

  6. 【坦克大战】Unity3D多人在线游戏(泰课的坦克大战--旋转的螺丝钉)

    [坦克大战]Unity3D多人在线游戏 http://www.taikr.com/my/course/937 1.NetworkManager的介绍: 说明:选择固定生成时会自动寻找有StartPos ...

  7. 【转载】Unity3D研究院之IOS触摸屏手势控制镜头旋转与缩放

    前几篇文章介绍了很多Unity3D引擎自身的一些问题, 今天我们在回到IOS设备上讨论一些触摸屏幕手势,本章的目标是通过触摸iPhone屏幕手势 实现模型左右的旋转,与模型的缩放. 大家想一想模型的旋 ...

  8. 【转】Unity3D研究院之设置自动旋转屏幕默认旋转方向

    http://www.xuanyusong.com/archives/2871 如下图所示,在处理屏幕默认旋转方向的时候可以在这里进行选择,上下左右一共是4个方向. 策划的需求是游戏采用横屏,但是要求 ...

  9. unity3d 触屏多点触控(旋转与缩放)

    unity3d 触屏多点触控(旋转与缩放) /*Touch OrbitProgrammed by: Randal J. Phillips (Caliber Mengsk)Original Creati ...

随机推荐

  1. Robot Framework中使用HttpLibrary教程and中文支持

    Robot Framework中使用and转参数时,默认不支持中文模式,如图场景: 会出现这种错误 FAIL : UnicodeDecodeError: 'ascii' codec can't dec ...

  2. Android系统服务(一)解析ActivityManagerService(AMS)

    相关文章 Android系统启动流程系列 Android应用进程系列 Android深入四大组件系列 前言 此前在Android系统启动流程.应用进程以及深入四大组件这三个系列文章中,都提及到了AMS ...

  3. nginx 配置 getsimplecms 配置文件

    getsimplecms的安装需要两个php类库,一个是dom操作,一个是gd library. 所以先安装这两个类库,重启php解释器. yum install php-xml; yum insta ...

  4. HDU2874Connections between cities( LCA )Tarjan

    Problem Description After World War X, a lot of cities have been seriously damaged, and we need to r ...

  5. Mac 终端下Homebrew的几个常用命令(新手笔记)

    最近在研究用appium来做IOS的自动化,所以开始接触Mac系统.记录一下在Mac的终端下Homebrew的几个常用命令 安装(需要 Ruby,不过一般自带都有):ruby -e "$(c ...

  6. Keep On Movin

    上回书说道不愿透露姓名的巨巨还剩下一个数组,这个数组记录了他学习c++ 语言的过程. 现在这个数组a里有一些字符,第i个字符的数量是a[i].巨巨想用这些字符来构造一些回文串好让他的程序通过编译. 他 ...

  7. nexus helm proxy 集成&&问题解决

      对于使用kubernetes 进行开发的人员来说helm是很方便的 构建nexus helm plugin git clone https://github.com/sonatype-nexus- ...

  8. CentOS6.5 下Haproxy服务的安装与配置

    参考网站: http://wenku.baidu.com/link?url=57AsCAL8TIv8NC3Vdnpd0hQ4fGNls8RFikjRWna3OaZb6qGHYTdV-4_wQPuzv8 ...

  9. git grade 版本下载及安装

    Git 2.11.1x64下载 gradle各版本下载地址 1. Git安装与配置 Gradle 用法总结

  10. Hive任务优化--控制hive任务中的map数和reduce数

    一.    控制hive任务中的map数: 1.    通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文 ...