zoukankan      html  css  js  c++  java
  • 关于U3D中的移动和旋转

    关于移动,其实很简单,就是移动:

    第一个参数标识移动的距离,是一个矢量;第二个参数是因为游戏对象有自己的坐标系,还有一个世界坐标系,使用的坐标系不同将导致运动的结果不同;

    function Translate (translation : Vector3, relativeTo : Space = Space.Self) : void

    关于旋转,其实也还好,分如下两种情况:

    ①绕着自己旋转,在U3D中,旋转用欧拉角表示,可以直接使用欧拉角,也可以通过三个轴向上的旋转角度来确定一个旋转;同样,绕自己旋转也需要确定坐标系,所以有了下面的两种API接口

    function Rotate (eulerAngles : Vector3, relativeTo : Space = Space.Self) : void
    function Rotate (xAngle : float, yAngle : float, zAngle : float, relativeTo : Space = Space.Self) : void

    ②绕着某一固定轴旋转,这个轴通常由通过某一个点的三维矢量来标识,因此形成了如下两种API

    function Rotate (axis : Vector3, angle : float, relativeTo : Space = Space.Self) : void
    function RotateAround (point : Vector3, axis : Vector3, angle : float) : void

    其中,绕着固定轴旋转时,若这个轴与自己的中心重合,也就是绕自己旋转了,这个时候的轴线可能使用的世界坐标轴系,也可能是自己的坐标轴系,因此有space参数;

    如果固定轴不与自己的中心重合,那选定的点和轴线同时属于世界坐标轴系或者同时属于自己的坐标轴系,旋转的结果都是一样的,因此没有space参数;

  • 相关阅读:
    nginx连接php fastcgi配置
    zabbix企业级监控概述和部署
    zabbix配置文件详解
    zabbix自定义键值原理
    ipvsadm命令
    lvs持久连接
    TCP协议的3次握手与4次挥手
    TCP协议的3次握手与4次挥手
    设计模式-模板模式
    设计模式-模板模式
  • 原文地址:https://www.cnblogs.com/huntdream/p/3151829.html
Copyright © 2011-2022 走看看