zoukankan      html  css  js  c++  java
  • Unity3D笔记 英保通六 角色控制器

    一、角色控制器

    U3D有两种角色控制方式:Rigidbody刚体、角色控制器组件(胶囊体组件)

    面试的题目中经常会遇到这个问题:

      CharacterController和Rigidbody的区别?

      这样回答:CharacterController自带胶囊碰撞器,里面包含有刚体的属性;Rigidbody就是刚体,使物体带有刚体的特征。

     

      角色控制器组件常用于第一人称和第三人称的角色控制,使用角色控制器可以使人形角色实现移动、滑动、上下楼梯等动作,不是纯物理的,但是含有胶囊碰撞体,因此有碰撞检测。第一人称角色控制器:图形子物体、主摄像机物体。因视角特性第一人称是看不到自己的,主要帮助用户在场景中查看角色控制器的位置。

    导入角色控制器

    1、官方有关角色控制器定义:角色控制器允许你在受制于碰撞的情况下很容易的进行运动,而不用处理刚体。角色控制器不受力的影响,仅仅当你调用Move函数时才运动。然后它将执行运动,但是受制于碰撞。

    2、摘自网络的Physx参考:

    character一般用于主角这类用户控制的物体,它不会受到scene的重力影响,不会被其他物体推。

    程序中可以使用它的move方法移动它,当他碰到静态物体时,会停下来,遇到动态物体时会推开他,当然,这些都是可以通过activegroup来控制的。group最多有32组。因为他是一个NxU32,并通过每一位代表一个组。

    move的一个参数用来告诉程序,character的当前状态。(collisionFlags)

    当他遇到物体的时候,如果设置了回调函数,系统会通过回调函数通知程序。。(NxControllerDesc.callback)

    character还有上楼梯模式,在某些高度的台阶,可以直接上去。(NxControllerDesc.stepOffset)

    character还可以设置可以走上去的斜坡。(NxControllerDesc.slopeLimit)

    由于character不受场景的重力影响,所以,用户要在move函数中自己添加重力因素,也就是说,character可以浮在空中,除非那里有其他activegroup物体。

    二、物理引擎介绍

      通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映

      刚体一般放在固定更新函数中执行FixedUpdate()

     2.1、添加Constant Force(['kɒnstənt]adj. 不断的,持续的;

    把Rigibody 重力去掉Gravity,如果你的力大于重力可以勾选Gravity

    变量值:

      Force:每帧应用力给刚体。 

      Relative Force:该力相对于刚体坐标系统,在每帧中应用。 

      Torque([tɔ:k]torque):每帧应用给刚体的力矩。

      Relative Troque:该力矩,相对于该刚体的坐标系统,在每帧中应用。 

    2.2、碰撞器

      动态碰撞器(添加了刚体组件RigidBody):Box Collider、 Capsure Collider、 Sphere Collider。
      静态碰撞器(无刚体组件RigidBody):Mesh Collider、 Terrain Collider。应用在位值不发生变化的物体中,环境物体、地形物体: 。注意:a、静态碰撞器的物体并不是一个钢铁,但确实应用在刚体运算中,b、刚体运动时 对于静态碰撞器一定不要进行逐帧运动变化或者运动,会对物理引擎重再计算影响性能。


    作者:PEPE
    出处:http://pepe.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    13.numpy线性代数和绘图
    12-numpy矩阵
    11-numpy视图与副本
    10-numpy排序搜索
    day12 异常 模块 单例
    day11面向对象 多态 静态方法 (三)
    day 10 面向对象(=)
    day9 面向对象
    day8 文件
    day7 地址 名片管理系统
  • 原文地址:https://www.cnblogs.com/PEPE/p/3599710.html
Copyright © 2011-2022 走看看