Unity 3D 开发 —— 脚本编程
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 开发 —— 脚本编程的更多相关文章
- unity 3d开发的大型网络游戏
unity 3d开发的大型网络游戏 一.总结 1.unity的官网上面应该有游戏列表 2.unity3D是很好的3d游戏引擎,也支持2d,也能做很多画面精良的3A级游戏 3.范围:电脑游戏,手机游戏, ...
- 使用 Unity 3D 开发游戏的架构设计难点
Unity 3D 引擎对于开发者来说,入手非常快,因为它采用的是 C# 作为开发语言,这也大大降低了开发者的门槛.但凡只要懂一门编程语言的人都能使用 Unity 3D 引擎开发,另外 Unity 3D ...
- Unity 3D开发-C#脚本语言的一些基础用法
Unity 中C#语言的一些基础用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Lerp -- 线 ...
- [Unity 3D] Unity 3D 性能优化 (一)
听到过很多用Unity 3D开发游戏的程序员抱怨引擎效率太低,资源占用太高,包括我自己在以往项目的开发中也头疼过.最近终于有了空闲,可以仔细的研究一下该如何优化Unity 3D下的游戏性能.其实国外有 ...
- Unity 3d 脚本常用事件
1.学习笔记,每天晚上看看unity 3d 的教程 学点东西,先上一张图 这是 系统中脚本执行的顺序图 Awake()在MonoBehavior创建后就立刻调用,在脚本实例的整个生命周期中,Awake ...
- Unity 3D 建立开发环境
之后的基本方向 ios游戏开发,基础教程http://www.devdiv.com/unity_d_-thread-128068-1-1.html,学习Unity 3D游戏开发. 应该昨天表示,读了一 ...
- Unity 3D游戏开发学习路线(方法篇)
Unity 3D本来是由德国的一些苹果粉丝开发的一款游戏引擎,一直只能用于Mac平台,所以一直不被业外人士所知晓.但是后来也推出了2.5版,同时发布了PC版本,并将其发布方向拓展到手持移动设备.Uni ...
- 【Unity】1.0 第1章 Unity—3D游戏开发和虚拟现实应用开发的首选
分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity是跨平台2D.3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的 ...
- Unity 3d C#和Javascript脚本互相调用 解决方案(非原创、整理资料,并经过实践得来)
Unity 3d C#和Javascript脚本互相调用 解决方案 1.背景知识 脚本的编译过程分四步: 1. 编译所有 ”Standard Assets”, “Pro Standard Assets ...
随机推荐
- windows gitbub使用
1.安装git bush (windows没什么好说的 下一步,下一步,,) 2. 通过gitbush命令行生成密钥: (拷贝密钥) 3.密钥添加到github上面: 4.克隆项目: 5.提交: 查看 ...
- 陌上开花(CDQ分治)
题解 三维偏序裸题... 一般三维偏序是第一维排序,第二维CDQ分治,第三维树状数组. 模板题还是看代码吧... #include<iostream> #include<cstrin ...
- Python爬虫基础示例
使用pip安装相关依赖: pip install requests pip install bs4 安装成功提示:Successfully installed *... 爬取中国天气网数据示例代码: ...
- dd---复制文件并对原文件的内容进行转换和格式化处理
dd命令用于复制文件并对原文件的内容进行转换和格式化处理.dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果.用的比较多的还是用dd来备份裸设备.但是不推荐,如果需要 ...
- python3 geohash 导入错误及解决
方法一: pip3 install python-geohash 方法二: 1.保证 pip3 install geohash 包 2. 进入包的下载目录 /usr/local/lib/python ...
- db2部署
下载地址: wget ftp://public.dhe.ibm.com/software/hk/cobra/db2exc_970_LNX_x86_64.tar.gz 上传压缩包到/opt,再解压d ...
- unity 天空盒有缝隙的解决方案
修改天空盒图片的属性:advanced->wrap mode->clamp
- DATA_PUMP_DIR impdp 指定导出目录
1.mkdir /tdms1/oracle/dump 2.sqlplus / as sysdba 3.create directory udir as '/tdms1/oracle/dump'; 4. ...
- C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)
其原理是,利用winfrom模拟表单提交数据.将要提交的參数提交给网页,网页运行代码.得到数据.然后Winform程序将网页的全部源码读取下来.这样就达到windows应用程序和web应用程序之间传參 ...
- .NET进阶——ORM基础认识
ORM对象关系映射,对象即实体,关系即关系数据库表.ORM即实现从实体对象关系数据库数据的映射. 本质上就是将数据从一种形式转换到还有一种形式.它详细又有哪些表现呢.咱们一步步学习,一步步分析. OR ...