移动与旋转 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. 集合(List、Set、Map)

    List,Set是继承自Collection接口,Map不是 public interface List<E> extends Collection<E> { public i ...

  2. 转 GraphQL Schema Stitching explained: Schema Delegation

    转自官方文档 In the last article, we discussed the ins and outs of remote (executable) schemas. These remo ...

  3. Yarn import now uses package-lock.json

    转发自: https://yarnpkg.com/blog/2018/06/04/yarn-import-package-lock/?utm_source=tuicool&utm_medium ...

  4. UVA之1121 - Subsequence

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/SunnyYoona/article/details/25840365 [题目] A sequence ...

  5. addFrameScript用法

    如何判断一个mc播放完毕之后remove掉他呢, 目前我发现的两种做法,一种是: var boomMc:MovieClip = LoadResource.getMC("boom", ...

  6. JSP--JDBC技术

    JDBC技术1.JDBC简介 大型网站是离不开数据库的,使用JDBC技术链接数据库 JDBC:java Data Base Connectivity,使用JDBC连接数据库后数据库的增/删/改/查及批 ...

  7. 【python】 Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat

    刚在机器上windows环境下装上pip方便以后安装包的时候使用,谁知道第一次使用pip安装asyncio的时候就报错. 在Windows7x64下使用pip安装包的时候提示报错:Microsoft ...

  8. jsp页面的基本语法

    JSP全称Java Server Pages,顾名思义就是运行中java服务器中页面,也就是在我们JavaWeb中的动态页面,其本质就是一个Servlet. 学习jsp的基本语法主要就是学习服务器是如 ...

  9. java web 程序---javaBean

    1.JavaBean 是Java中的一个组件技术,类似于微软的COM组件 SUN公司将JavaBean定义为:可以重复利用的软件组件 2.JavaBean的种类:a.可视化JavaBean   b.非 ...

  10. oracle 跨库访问

    创建DBLINK的方法: 1. create public database link dblink connect to totalplant identified by totalplant us ...