专栏首页hrscyUnity 基础 - Vector3

Unity 基础 - Vector3

Vector 是向量,矢量的意思,向量既有大小,又有方向,Verctor3 就是三维向量,一个三维向量会有三个分量,分别是 x,y,z,在 Unity 中每一个游戏对象都至少会有一个组件叫 Transform,Transform 主要用来控制游戏对象的位置,旋转和缩放。 新建一个 Cube 物体,然后给这个 Cube 物体新建一个脚本。 Vector3 其实就是一个类

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    // Use this for initialization

    void Start () {
        Vector3 v = new Vector3 ();
        
        float x = v.x;
        float y = v.y;
        float z = v.z;
        
        // 获取 V 的单位向量
        // V 的长度会变为 1 但方向不变
        v.Normalize ();
        // 返回 V 方向上的单位向量,但是 V本身不会发生变化
        v.normalized;
        // 获取 V 的长度
        float l = v.magnitude;      
        
        // x = 0,y = 1, z = 0
        Vector3.up;         //  表示世界坐标系中 Y 轴正方向上的单位向量
        // x = 0,y = -1, z = 0
        Vector3.down;       //  表示世界坐标系中 Y 轴负方向上的单位向量
        // x = -1,y = 0, z = 0
        Vector3.left;       //  表示世界坐标系中 X 轴负方向上的单位向量
        // x = 1,y = 0, z = 0
        Vector3.right;      //  表示世界坐标系中 X 轴正方向上的单位向量
        // x = 0,y = 0, z = 1
        Vector3.forward;    //  表示世界坐标系中 Z 轴正方向上的单位向量
        // x = 0,y = 0, z = -1
        Vector3.back;       //  表示世界坐标系中 Z 轴负方向上的单位向量
        
        Vector3.zero;       //  表示原点
        
        Vector3 v1 = new Vector3 (1.5f, 1.0f, 1.0f);
        Vector3 v2 = new Vector3 (1.0f, 1.5f, 1.5f);
        // 求两个向量的夹角
        float angle = Vector3.Angle (v1, v2);
        
        Vector3 pos1 = new Vector3 (4.0f, 2.0f, 1.0f);
        Vector3 pos2 = new Vector3 (2.0f, 4.0f, 1.0f);
        // 获取两个点的距离
        float distance = Vector3.Distance(pos1, pos2);
        // 向量的点乘
        float dd = Vector3.Dot (v1, v2);
        // 向量叉乘
        Vector3 vc = Vector3.Cross (v1, v2);    
    }
    // Update is called once per frame
    void Update () {
    
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS集成极光推送iOS集成极光推送

    苹果APNs(英文全称:Apple Push Notification Service)

    hrscy
  • iOS百度地图问题总结(三)

    如果想创建以静态图片作为大头针图片的话,可以通过创建MKAnnotationView是实例。如果想使用apple自带的大头针则创建MKPinAnnotation...

    hrscy
  • iOS百度地图问题总结(四)

    下面这两个方法(void)mapView:(BMKMapView *)mapView didAddAnnotationViews:(NSArray *)view...

    hrscy
  • R的边边角角

    当你已经很熟悉一门语言,也许仍然会时不时碰到“哇,怎么会这样?”的时刻。因为总会有一些边边角角是你不曾留意的。

    一只羊
  • 欠驱动空间车辆在非参数化路径下的鲁棒输出反馈VFO-ADR控制

    本文研究了欠驱动车辆在三维空间运动时的矢量场定向自抗扰(vfoadr)级联路径跟踪控制器。级联控制结构的概念将系统运动学与系统动力学解耦,类似于非完整系统的方法...

    非过度曝光
  • Maven日常 —— 你应该知道的一二三

    以前在日常工作中,使用Maven只是机械的执行Maven clean、Maven install,对其中的原理与过程并无了解,近期阅读了《Maven实战》,对...

    用户1154259
  • 腾讯paper 模仿学习

    3. 基于分批历史数据的指数加权模仿学习方法 Exponentially Weighted Imitation Learning for Batched H...

    用户1908973
  • Dinosaurus_Island_Character_level_language_model_final_v3b

    Welcome to Dinosaurus Island! 65 million years ago, dinosaurs existed, and in th...

    列夫托尔斯昊
  • 使用Docker和热加载运行Go API

    This is a quick discussion of how to set up a local development environment for ...

    李海彬
  • SAP CRM Product simple search的启用步骤

    (1) Switch on business function CRM_SEARCH_1, which controls the business switch...

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券