*   -----英雄的移动控制
*
*
*
*
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class HeroMovingControl : MonoBehaviour
{
public float FloHeroMovingSpeed = 1F; //运动的速度
public float _FloHeroGaravity=1F; //英雄的重力 private CharacterController _ChaHeroControl; //英雄角色控制器
private Vector3 _VecHeroMoving; //英雄移动 private Transform _TranCamera; //摄像机的方位
private Vector3 _VecCameraRotation; //摄像机旋转 // Use this for initialization
void Start () {
//得到角色控制器
_ChaHeroControl = this.GetComponent<CharacterController>();
//得到摄像机的方位
_TranCamera = Camera.main.transform;
} // Update is called once per frame
void Update()
{
/* 英雄的旋转*/
//摄像机旋转
float FloX = Input.GetAxis("Mouse X");
float FloY = Input.GetAxis("Mouse Y");
_VecCameraRotation.y+= FloX;
_VecCameraRotation.x -= FloY;
_TranCamera.transform.eulerAngles = _VecCameraRotation;
//英雄的旋转
this.transform.eulerAngles = new Vector3(0, _VecCameraRotation.y,0); /* 英雄的移动 */
_VecHeroMoving = Vector3.zero;
//英雄的重力
_VecHeroMoving.y -= _FloHeroGaravity;
if (Input.GetKey(KeyCode.W))
{
_VecHeroMoving.z += FloHeroMovingSpeed * Time.deltaTime;
}
else if (Input.GetKey(KeyCode.S))
{
_VecHeroMoving.z -= FloHeroMovingSpeed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.A))
{
_VecHeroMoving.x -= FloHeroMovingSpeed * Time.deltaTime;
}
else if (Input.GetKey(KeyCode.D))
{
_VecHeroMoving.x += FloHeroMovingSpeed * Time.deltaTime;
}
//Move()方法必须使用世界坐标系
_ChaHeroControl.Move(this.transform.TransformDirection(_VecHeroMoving));
}
}

  

3D游戏的角色移动和旋转的更多相关文章

  1. 3D游戏的角色移动

    * -----英雄的移动控制 * * * * */ using System.Collections; using System.Collections.Generic; using UnityEng ...

  2. 3D游戏开发之在UE4中创建非玩家角色(NPC)

    接着上节我们继续学习,现在我们来创建一些NPC(non-playable characters,非玩家角色).在这个游戏中,当我们靠近NPC时,它们会做出相应的反应. 一 创建C++类 1) 在UE编 ...

  3. 2D游戏与3D游戏的区别 原文:https://zhidao.baidu.com/question/588490865.html

    2D和3D间有哪些不同点呢? 让我们来比较一下,共同找出它俩之间的不同点. 对玩家来说,2D技术和3D技术只是显示数据的方式而已,玩家都是通过二 维的平面显示器来观看它们.对制作者来说,二者的不同之处 ...

  4. 介绍用C#和VS2015开发基于Unity架构的2D、3D游戏的技术

    [Unity]13.3 Realtime GI示例 摘要: 分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图 ...

  5. 转载:[转]如何学好3D游戏引擎编程

      [转]如何学好3D游戏引擎编程 Albert 本帖被 gamengines 从 游戏引擎(Game Engine) 此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的 ...

  6. WebGL实现HTML5贪吃蛇3D游戏

    js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...

  7. Unity3D 之3D游戏SD快打 3D游戏基础入门开发全(1)

    这里记录一个U3D游戏,3D游戏的基本开发. 导入素材 1.首先导入需要的素材.因为FBX格式的素材是通用的,所以尽量导入这样的资源使用 导入后的结果: 然后对人形骨骼进行设置. 看哪里没有映射到骨骼 ...

  8. Unity3D ——强大的跨平台3D游戏开发工具(六)

    第十一章 制作炮台的旋转 大家知道,炮台需要向四周不同的角度发射炮弹,这就需要我们将炮台设置成为会旋转的物体,接下来我们就一起制作一个会旋转的炮台. 第一步:给炮台的炮筒添加旋转函数. 给炮台的炮筒部 ...

  9. 【★】致全球第一批全帧3D游戏!

    图一 游戏片头 致逝去的青春记忆. 好久没人玩Ballance了吧,贴吧里貌似早已冷掉了. 作为一款经典游戏,Ballance的宣传却做得不到位,官方的介绍甚至没能展现出它的全部诱人之处.所以笔者决 ...

随机推荐

  1. How to create DMG on macOS

    hdiutil create -srcfolder /users/test1/ -volname test1 /users/test/test1.dmg

  2. jQuery代码优化的9种方法

    前面的话 本文将详细介绍jQuery代码优化的9种方法 用对选择器 在jQuery中,可以用多种选择器,选择同一个网页元素.每种选择器的性能是不一样的,应该了解它们的性能差异 1.最快的选择器:id选 ...

  3. codeforces-962-c

    题意:给你一个数,问从中删除某几位数字后重新组成的数字是否是某个数的平方: 解题思路:数据小,dfs直接搜,每位数只有两种选择,要或者不要 #include<iostream> #incl ...

  4. 在GitHub上读大学:涵盖清华,北大,浙大等大学课程

    来自多位GitHub网友在GitHub分享的几组学习课程项目, 学习课程包含清华,北大,浙大,中科大,上海交大, 等中国多所名校的英语,AI高数,人工智能等课程以及一些讲义考题. 如果你想了解这些大学 ...

  5. linu系统文件授权命令

  6. 洛谷P1048采药题解

    题目 这是一个裸的01背包,因为题目中没说可以采好多次,不多说上代码, #include<iostream> using namespace std; int main() { int n ...

  7. Odoo

    doc 文档 Technical Memento(pdf)是一个简短的参考,有点过时,但仍然不能错过. 目前的官方文档由研发团队积极维护. Nicolas Bessi撰写的新API指南可以提供官方文档 ...

  8. 在 CentOS 上编写 init.d service script [转]

    背景:之前编写了一些脚本,下载了一些开源软件,想把它们做成系统服务,通过 service your_prog_name start 这样的方式来后台运行,并在开机时自动启动.在了解了 daemon 命 ...

  9. 让自己的网站实现在线编辑office文档

    我们可以通过Office Web Apps(OWA)来实现在线编辑word,excel,power point, one note,并集成到自己的网站里去.   1 准备工作 1.1 操作系统 安装了 ...

  10. 解决win10“cmd自动弹出一闪而过”问题的方法

    1.禁用CMD win+Q gpedit 打开组策略 用户配置--管理模板--系统--阻止访问命令提示符--已启用. 2.启用PowerShell PS:需要使用CMD时可用powershell代替: ...