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 条评论
登录 后参与评论

相关文章

来自专栏灯塔大数据

每周学点大数据 | No.39单词共现矩阵计

No.39期 单词共现矩阵计算 Mr. 王:这里还有一个很典型的例子——单词共现矩阵计算。 这个例子是计算文本集合中词的共现矩阵。我们设 M 是一个 N×N...

5445
来自专栏数据的力量

一大波常用函数公式,值得收藏!

1614
来自专栏漫漫深度学习路

tensorflow学习笔记(四十):tensorflow语音识别 及 python音频处理库

tensorflow 语音识别 最近在做语音识别的项目,现在项目告一段落,就把最近碰到的东西做一个总结。 python中关于语音处理的库 scipy.io.wa...

1.2K9
来自专栏null的专栏

数据结构和算法——用动态规划求解最短路径问题

一、动态规划求解问题的思路     在《算法导论》上,动态规划的求解过程主要分为如下的四步: 描述最优解的结构 递归定义最优解的值 按自底向上的方式计算最优解的...

4675
来自专栏老马说编程

(34) 随机 / 计算机程序的思维逻辑

随机 本节,我们来讨论随机,随机是计算机程序中一个非常常见的需求,比如说: 各种游戏中有大量的随机,比如扑克游戏洗牌 微信抢红包,抢的红包金额是随机的 北京购...

2626
来自专栏蜉蝣禅修之道

网络流算法Dinic的Python实现

1504
来自专栏冰霜之地

Google S2 中的 CellID 是如何生成的 ?

笔者在《高效的多维空间点索引算法 — Geohash 和 Google S2》文章中详细的分析了 Google S2 的算法实现思想。文章发出来以后,一部分读者...

3602
来自专栏炉边夜话

考场安排---图的着色原理之运用

试设计一算法,当给定一个图时G=(V,E),|V|=n,(Vi,Vj)ЄE,当且仅当有一个同学选了课程i和课程j,试给出一个考试安排方案N1,N2,N3…Nk,...

1401
来自专栏Small Code

Python-NumPy基础

前言 这两天读完《利用Python进行数据分析》 这本书的第4章:NumPy 基础:数组和矢量计算 后,在进行下一步阅读高级应用前,先整理本章内容,做个笔记备查...

30610
来自专栏蜉蝣禅修之道

优化后的Levensthein distance算法实现

3695

扫码关注云+社区

领取腾讯云代金券