Unity 相关资源

Unity 官网 :http://www.unity3D.com

Unity 论坛 : http://forum.unity3d.com/forum.php

Unity 问答 :http://answers.unity3d.com/index.html

Unity 博客 :http://blogs.unity3d.com

Unity 官方在线案例 : http://unity3d.com/gallery/demos/live-demos

Unity 官方项目源文件 : http://unity3d.com/gallery/made-with-unity/game-list

Unity 在线课堂 : http://unity3d.com/learn/live-training

Unity 在线教程 :http://unity3d.com/learn/tutorials/modules

Unity 用户手册 :http://docs.untiy3d.com/Documentation/Menual/index.html

Unity 组件参考手册 :http://docs.unity3d.com/Documentation/Components/index.html

Unity 脚本手册 : http://doc.unity3d.com/Documentation/ScriptReference/index.html

Digital – Tutors 的Unity 系列教程: http://www.digitaltutors.com/software/Unity-tutorials

Lynda 出品的Unity教程 : http://www.lynda.com/Unity-D-training-tutorials/1243-0.html


Unity 向量

Vector3 成员变量

x

y

z

normalized 单位化(只读)

magnitude 向量长度

sqrMagnitude 向量长度的平方

Vector3 常用方法

Cross 叉乘

Dot 点乘

Project 计算向量在另一个向量上的夹角

Angel 返回2个向量之间夹角

Distance 返回2个向量之间距离

operator +

operator -

operator * 向量乘标量

operator / 向量除标量

operator ==

operator !=

矩阵 Matrix4X4

在Unity中,Matrix4x4 仅在Transform ,Camera, Material 和 GL 等几个类的函数中用到

齐次坐标 —— 将原本3维的向量 (x,y,z) 用4维向量 (wx,wy,wz,w)

引入目的 —— 更好的区分向量和点,使用 (x,y,z,1)表示坐标点 , 使用 (x,y,z,0)表示向量;同一用矩阵乘法表示平移,旋转,缩放变换;w=0表示无穷远的点

四元数 —— 包含一个标量分量和一个三维向量分量 Q=[w,(x,y,z)]

在3D数学中使用单位四元数表示旋转

Quatenion 类 来表示四元数 :

成员变量 —— x,y,z,w,this[int index] , eulerAngles(返回表示该旋转的欧拉角)

函数 —— Set  ,  ToAngleAxis(将四元数转换成一个角-轴表示的旋转),SetFromToRotation (设置一个四元数表示fromDirection到toDirection的旋转)

SetLookRotation (设置一个四元数表示朝向为forward,上方向为up的旋转)  ToString

operator * (连接两个旋转,作用相当于依次应用两个旋转操作)

operator ==         operator !=

Dot  (两个旋转点乘)   AngleAxis (根据旋转角和旋转轴创建一个四元数)

FromToRotation (生成一个四元数表示 fromDirection 到 头Direction 的旋转)

LookRotation  (生成一个四元数表示朝向为forward 上方向为up的旋转)

Slerp 根据t值在四元数from和to之间进行球形插值

Lerp  根据t值在四元数from 和 to之间进行插值,并将结果规范化

RotateTowards 将选择from变换旋转to

Inverse 返回旋转的逆

Angle  返回a和b两个旋转之间的夹角角度

Euler 返回一个先沿z轴旋转z角度,然后沿x轴旋转x角度,y轴旋转y角度的旋转

在游戏对象的Transform组件中,变量Transform.rotation 为对象在世界坐标系下的旋转

Transform.localRotation  为对象在父对象的局部坐标系下的旋转,两个变量的类型均为四元数

var from : Transform;
var to :Transform;
var tranTime = 10.0 ; // 相机观察方向从a过渡到b所需的时间,单位秒
private var startTime : float; fuction Start()
{
startTime = Time.time;
}
functionUpdate ()
{
var fracComplete = (Time.time - startTime)/tranTime; // 计算用于插值的系数
transform.rotation = Quaternion.Slerp(from.rotation,to.rotation,fracComplete); // 平均插值
}

坐标系

世界坐标系 —— 全局坐标系

局部坐标系 —— 每个物体的独立物体坐标系,并且随物体进行相同的移动或者旋转

相机坐标系 —— 根据观察位置和方向建立的坐标系,使用坐标系可以方便地判断物体是否在相机前方以及物体之间的先后遮挡顺序

屏幕坐标系 —— 建立在屏幕上的二维坐标系,用于描述像素在屏幕上的位置

Transform 组件的 Transform.TransformPoint 方法可以将坐标点从局部坐标系转换到世界坐标系

Transform.InverseTransformPoint 从世界坐标转换到自身坐标

Transform.TransformDirection 对向量在物体坐标系和世界坐标系之间进行转换

Transform.InverseTransformDirection

Unity 3D 开发 —— 脚本编程的更多相关文章

  1. unity 3d开发的大型网络游戏

    unity 3d开发的大型网络游戏 一.总结 1.unity的官网上面应该有游戏列表 2.unity3D是很好的3d游戏引擎,也支持2d,也能做很多画面精良的3A级游戏 3.范围:电脑游戏,手机游戏, ...

  2. 使用 Unity 3D 开发游戏的架构设计难点

    Unity 3D 引擎对于开发者来说,入手非常快,因为它采用的是 C# 作为开发语言,这也大大降低了开发者的门槛.但凡只要懂一门编程语言的人都能使用 Unity 3D 引擎开发,另外 Unity 3D ...

  3. Unity 3D开发-C#脚本语言的一些基础用法

    Unity 中C#语言的一些基础用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Lerp -- 线 ...

  4. [Unity 3D] Unity 3D 性能优化 (一)

    听到过很多用Unity 3D开发游戏的程序员抱怨引擎效率太低,资源占用太高,包括我自己在以往项目的开发中也头疼过.最近终于有了空闲,可以仔细的研究一下该如何优化Unity 3D下的游戏性能.其实国外有 ...

  5. Unity 3d 脚本常用事件

    1.学习笔记,每天晚上看看unity 3d 的教程 学点东西,先上一张图 这是 系统中脚本执行的顺序图 Awake()在MonoBehavior创建后就立刻调用,在脚本实例的整个生命周期中,Awake ...

  6. Unity 3D 建立开发环境

    之后的基本方向 ios游戏开发,基础教程http://www.devdiv.com/unity_d_-thread-128068-1-1.html,学习Unity 3D游戏开发. 应该昨天表示,读了一 ...

  7. Unity 3D游戏开发学习路线(方法篇)

    Unity 3D本来是由德国的一些苹果粉丝开发的一款游戏引擎,一直只能用于Mac平台,所以一直不被业外人士所知晓.但是后来也推出了2.5版,同时发布了PC版本,并将其发布方向拓展到手持移动设备.Uni ...

  8. 【Unity】1.0 第1章 Unity—3D游戏开发和虚拟现实应用开发的首选

    分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity是跨平台2D.3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的 ...

  9. Unity 3d C#和Javascript脚本互相调用 解决方案(非原创、整理资料,并经过实践得来)

    Unity 3d C#和Javascript脚本互相调用 解决方案 1.背景知识 脚本的编译过程分四步: 1. 编译所有 ”Standard Assets”, “Pro Standard Assets ...

随机推荐

  1. 机器学习(七) PCA与梯度上升法 (上)

    一.什么是PCA 主成分分析 Principal Component Analysis 一个非监督学的学习算法 主要用于数据的降维 通过降维,可以发现更便于人类理解的特征 其他应用:可视化:去噪 第一 ...

  2. 51Nod 不重叠的线段(贪心)

    X轴上有N条线段,每条线段有1个起点S和终点E.最多能够选出多少条互不重叠的线段.(注:起点或终点重叠,不算重叠). 例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重 ...

  3. 一篇文章助你理解Python3中字符串编码问题

    前几天给大家介绍了unicode编码和utf-8编码的理论知识,以及Python2中字符串编码问题,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系和一篇文章助你理解 ...

  4. 四、YOLO-V1原理与实现(you only look once)

    可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目标检测相比分类任务更复杂.目标检测的一个实际应用场景就是 ...

  5. Java Web Application——servlet

    概述 是一个部署于web服务器中的实现了servlet接口的Java类,用于响应web请求 Web容器(也称为servlet容器)本质上是与servlet交互的Web服务器的组件.Web容器负责管理s ...

  6. tload---显示系统负载

    tload命令以图形化的方式输出当前系统的平均负载到指定的终端.假设不给予终端机编号,则会在执行tload指令的终端机显示负载情形. 语法 tload(选项)(参数) 选项 -s:指定闲时的刻度: - ...

  7. STM32中断名词

    1.NVIC的优先级概念    占先式优先级 (pre-emption priority):    高占先式优先级的中断事件会打断当前的主程序/中断程序运行— —抢断式优先响应,俗称中断嵌套.    ...

  8. C++ 容器(一):顺序容器简介

    C++提供了使用抽象进行高效编程的方式,标准库中定义了许多容器类以及一系列泛型函数,使程序员可以更加简洁.抽象和有效地编写程序,其中包括:顺序容器,关联容器和泛型算法.本文将简介顺序容器(vector ...

  9. 坑爹的RockSaw和坑爹的windows7

    坑爹的RockSaw和坑爹的windows7 http://chen4w.iteye.com/blog/1153433

  10. Equals和==比較

    总结一下: 对于字符串来说.两个比較的都是对象的值,而且是等效的,这是由于MS重写了==运算符和Equals方法所致             对于非字符串的其它引用类型(非匿名类型)两个比較的都是对象 ...