Unity3D开发基础知识详解
2016-11-13 16:42
169 查看
本文简介
常用方法简介
物体操作
实例化
网络相关
网络协议
TCP
UDP
代码怎么写
编译相关
文件保存路径
学习资源推荐
2、Update() 正常更新逻辑,每渲染一帧都会调用
3、FixedUpdate() 不受帧率的变化,固定的时间间隔被调用,怎么设置间隔?Edit->Project Setting->time下面的Fixed timestep
4、LateUpdate() 会在每一帧中被调用。在所有Update函数被调用之后才执行。有利于程序的有序执行。(例如:跟随摄像机就应该在LateUpdate执行,因为它跟随的对象也许需要在Update中执行
5、OnGUI() 游戏界面绘制、更新
6、OnCollisionEnter(Conllision other) 在刚体与刚体开始接触时候调用此方法,(记住是刚体之间的碰撞)
7、OnCollisionStay(Conllision other) 在刚体与刚体碰撞的过程中,调用此方法 每帧都会调用此方法,知道碰撞结束;
8、OnCollisionExit( Conllision other) 在刚体与刚体停止接触时,调用此方法
9、OnTriggerEnter(Collider other) 当Collider(碰撞体)进入trigger(触发器)时调用,这个消息被发送到触发器碰撞体和刚体(或者碰撞体假设没有刚体)。注意如果碰撞体附加了一个刚体,也只发送触发器事件
10、判断两个物体之间的距离 Vector3.Distance( position1,position2)
velocity是对物体设置某个方向的速度
旋转
Vector3.Rotation() 绕某个轴旋转 Quaternion.Angle()
那么这些条件在哪里定义呢?首先你在VS的工程属性中可是设置,在unity中的buildsetting中也能够进行条件设定,代码中你也可以使用unity自带的平台个枚举,你可以通过代码提示枚举(RuntimePlatform)出来Application.platform==RuntimePlatform.Android判定运行游戏的设备是什么类型。
常用方法简介
物体操作
实例化
网络相关
网络协议
TCP
UDP
代码怎么写
编译相关
文件保存路径
学习资源推荐
本文简介
本文旨在总结之前的博客,因为之前的博客比较零散,对于各个模块之间划分不够清晰,在此博客进行总结归纳,并且附上最新遇到的一些问题及解决办法,希望能够对自己和他人都能够有所帮助。另外在本文最后附加我浏览过的比较好的,相关问题解决的文章和网站,供大家方便查阅;如果您对我的文章满意,可以收藏或者关注我。常用方法简介
1、Start() 开始方法;2、Update() 正常更新逻辑,每渲染一帧都会调用
3、FixedUpdate() 不受帧率的变化,固定的时间间隔被调用,怎么设置间隔?Edit->Project Setting->time下面的Fixed timestep
4、LateUpdate() 会在每一帧中被调用。在所有Update函数被调用之后才执行。有利于程序的有序执行。(例如:跟随摄像机就应该在LateUpdate执行,因为它跟随的对象也许需要在Update中执行
5、OnGUI() 游戏界面绘制、更新
6、OnCollisionEnter(Conllision other) 在刚体与刚体开始接触时候调用此方法,(记住是刚体之间的碰撞)
7、OnCollisionStay(Conllision other) 在刚体与刚体碰撞的过程中,调用此方法 每帧都会调用此方法,知道碰撞结束;
8、OnCollisionExit( Conllision other) 在刚体与刚体停止接触时,调用此方法
9、OnTriggerEnter(Collider other) 当Collider(碰撞体)进入trigger(触发器)时调用,这个消息被发送到触发器碰撞体和刚体(或者碰撞体假设没有刚体)。注意如果碰撞体附加了一个刚体,也只发送触发器事件
10、判断两个物体之间的距离 Vector3.Distance( position1,position2)
物体操作
实例化
Transform shoot = (Transform)Instantiate(shotPrefab,firePoint.gameObject.transform.position, firePoint.gameObject.transform.rotation); shoot.rigidbody.velocity= transform.TransformDirection(Vector3.forward*100f);
velocity是对物体设置某个方向的速度
旋转
Vector3.Rotation() 绕某个轴旋转 Quaternion.Angle()
网络相关
在这么一个多元化,网络越来越便宜和硬件性能越来越好的时代,单机游戏已经被很多早年出道的公司占据一席之地,并且单机游戏不能够有很好的社交性,至于你的应用联网了,才算一个真正的应用,那么在Unity中我们该怎么使用网络呢?网络协议
TCP
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1] 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 详细简介还是问度娘或者查看相关书籍,建议书籍。UDP
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。 详细简介还是问度娘或者查看相关书籍,建议书籍。代码怎么写
其实在unity中,我们用的就是Socket编程,和服务器创建连接,并维持心跳,通过协议进行通讯;代码和我们平时在C#中写的没什么差别,要记住,unity提供的是游戏渲染引擎,开发工具,并不是语言,我们用的是C#,C#的很多特性,我们都可以使用,当然切记要注意.net版本;unity中的版本是3.5 full 和3.5 sub;这个你可以在unity buildsetting中的othersetting中找到,基本上我们如果没有特殊需求,都会采用3.5sub。编译相关
我们的游戏或者应用做好了,肯定要烧录到设备的,那么这就牵涉到我们打包部署这个环节,如何正确打包,针对不同的平台,我们的配置该如何呢?都有哪些差异呢?文件保存路径
每个应用安装到设备,系统都会在硬盘给它分配相应的文件存储空间,但是在不同的平台,他们相对与系统的目录路径是不一致了,unity是个跨平台的开发工具,就需要针对不同的平台进行改变,为了方便,我们都会使用条件编译,如下:#if UNITY_ANDROID the code of android #endif #if UNITY_IPHONE the code of iphone #endif #if UNITY_WIN the code of android #endif
那么这些条件在哪里定义呢?首先你在VS的工程属性中可是设置,在unity中的buildsetting中也能够进行条件设定,代码中你也可以使用unity自带的平台个枚举,你可以通过代码提示枚举(RuntimePlatform)出来Application.platform==RuntimePlatform.Android判定运行游戏的设备是什么类型。
学习资源推荐
相关文章推荐
- Xamarin+Prism开发详解五:页面布局基础知识
- [置顶] Android开发之数据存储——SharedPreferences基础知识详解,饿补学会基本知识,开发者必会它的用法。
- 【Unity3D游戏开发】基础知识之Tags和Layers (三二)
- android开发之java的一些基础知识详解,java编程语法,扎实自己的android基本功
- [置顶] android开发之java的一些基础知识详解,java编程语法,扎实自己的android基本功
- iOS开发之 Realm框架基础知识详解
- unity3d基础开发地形的基础知识
- iOS开发基础知识:Core Animation(核心动画) 详解
- 软件开发的基础知识—软件版本号详解
- 11、iOS开发详解(基础知识)
- Xamarin+Prism开发详解五:页面布局基础知识
- 安卓开发基础知识4(三星 、ARM 为大朋背书,详解VR一体机解决方案)
- 软件开发的基础知识—软件版本号详解
- JAVA基础-其全面详解Java基础知识(二)
- Dll开发基础知识
- [收集]关于句柄的基础知识详解
- ARM开发详解(第四章 ARM程序设计基础)(转载)
- JSP数据库基础知识 语法详解
- C#开发-基础知识及有用技巧
- SP 短信开发-基础知识篇