zoukankan      html  css  js  c++  java
  • Unity物理引擎—角色控制器

    Unity已经帮我们实现了“上,下,左,右,跳跃”等相对复杂的逻辑操作,并且将他们封装成了角色控制器组件。角色控制器组件和刚体组件均具备物理引擎功能,只是角色控制器组件的物理效果没有刚体组件精确。调用角色控制器需先添加Character Controller资源包,然后选中游戏对象,在导航菜单中选择“Component”——“Physics”——Character Controller即可。我们通过调用角色控制器组件的

    SimpleMove()或者是Move()方法可实现Player的移动,但是需要说明的是SimpleMove()方法只适合平面移动,及在X轴和Z轴上移动,而Move()则适用于X,Y,Z三个空间轴上的移动,所以实际开发中尽量选择Move()方法。下面贴出脚本:

     

    using UnityEngine;

    using System.Collections;

    public class controller_move_test : MonoBehaviour {

    private CharacterController controler=null;//定义角色控制器对象

    private float movespeed=5.0f;//每一帧移动速度

    private float rotatespeed=3.0f;//每一帧旋转速度

    // Use this for initialization

    void Start () {

       controler=GetComponent<CharacterController>();//获取角色控制器组件

    }

    // Update is called once per frame

    void Update () {

    }

     

    void OnGUI(){

        //左转

      if(GUILayout.RepeatButton("rotate left")){

        transform.Rotate(0,-rotatespeed,0);

    }

      //右转

      if(GUILayout.RepeatButton("rotate right")){

        transform.Rotate(0,rotatespeed,0);

    }

      //前移

      if(GUILayout.RepeatButton("forward")){

        Vector3 forward=transform.TransformDirection(Vector3.forward);

        controler.Move(forward*movespeed);

     

    }

        //后移

      if(GUILayout.RepeatButton("back")){

        Vector3 forward=transform.TransformDirection(Vector3.forward);

        controler.Move(forward*-movespeed);

    }

      //上移

      if(GUILayout.RepeatButton("up")){

        transform.Translate(0,1,0);

    }

        下移

      if(GUILayout.RepeatButton("down")){

     

        transform.Translate(0,-1,0);

     

    }

     

    }

     

    }

  • 相关阅读:
    关于Python的装饰器(1)
    Linux环境配置备忘
    Spark实施备忘
    RuntimeError: Python is not installed as a framework 错误解决方案
    使用正则表达式验证素数
    Linux终极shell-zsh的完美配置方案!——oh-my-zsh
    终极之shell-zsh全解析
    linux下IPTABLES配置详解
    一款堪称完美的编程字体Source Code Pro
    Linux中一个文件10行内容,如何输出5-8内容到屏幕
  • 原文地址:https://www.cnblogs.com/niguang/p/niguangnishi.html
Copyright © 2011-2022 走看看