• 本文简介
  • 常用方法简介
  • 物体操作
    • 实例化
  • 网络相关
    • 网络协议

      • 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判定运行游戏的设备是什么类型。

学习资源推荐

Unity3D开发基础知识详解相关推荐

  1. 工业相机基础知识详解

    工业相机基础知识详解 工业相机是机器视觉系统的一个最关键的组件.他的功能很简单,就是将被检测的物体拍摄下来,然后转换成电脑可以识别的图像,以便以后进行图像处理,从而完成检测任务.工业相机俗称工业摄像机 ...

  2. 小白入门!网络安全基础知识详解(附知识问答)

    小白入门!网络安全基础知识详解(附知识问答) 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用所 ...

  3. R语言基础知识详解及概括

    R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建

  4. R语言可视化绘图基础知识详解

    R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...

  5. 计算机网络相关知识 参考博客 子网掩码怎么理解 网关及网关的作用 路由器基础知识详解

    子网掩码怎么理解 https://blog.csdn.net/farmwang/article/details/64132723 网关及网关的作用 https://blog.csdn.net/zhao ...

  6. RabbitMQ基础知识详解

    RabbitMQ基础知识详解 2017年08月28日 20:42:57 dreamchasering 阅读数:41890 标签: RabbitMQ 什么是MQ? MQ全称为Message Queue, ...

  7. Android随机点名器,Excel基础知识-详解随机点名器

    说道制作个案例纯粹意外,我多少有点选择恐惧症,为了不在"选择"上纠结,就自己小玩了一下,就用了程序做了个选择器,其实很简单,就是有小时候玩的"点兵点将",稍微变 ...

  8. Python基础知识详解 从入门到精通(八)魔法方法

    目录 Python基础知识详解 从入门到精通(八)魔法方法 什么是魔法方法 基础魔法方法(较为常用) 比较操作符 算数运算符 反运算(类似于运算方法) 增量赋值运算 一元操作符 类型转换 上下文管理( ...

  9. 网络管理之基础知识详解

    网络管理之基础知识详解 目录 3.1 网络的特征 3.2 拓扑结构 4.1 OSI简介 4.2 数据传输过程 4.3 分层作用 4.4 PDU 5.1 单播 5.2 多播 5.3 广播 5.4 三种通 ...

最新文章

  1. python利器怎么编程-python 开发利器UliPad(图文详细介绍)
  2. 深入理解分布式技术 - 理论基石 CAP
  3. Android开机自启动 .
  4. 第 五 课 golang语言变量
  5. 解决手动运行脚本执行正常而放入crontab后不正常的方法
  6. 微信发布新版本SDK 开发者需尽快升级
  7. jquery 获取元素图片_【jQuery】获取图片真实宽高
  8. 直接拿来用!超实用的Java数组技巧攻略
  9. Linux命令解释之sudo
  10. 解决【npm ERR! Unexpected end of JSON input while parsing near '...sh_time:141072930277'】方案...
  11. websocket连接相关的几个问题
  12. 要重新学习线性代数了!
  13. OSChina 周四乱弹 —— 你从小继承了程序员基因
  14. Appium-Get Clipboard(获取剪贴板)
  15. java中 toast的意思,Java中toast
  16. 金丹期前期:1.4、python语言-python的程序的核心数据类型:字符串、列表、元组、字典
  17. STM32F4中断优先级NVIC管理
  18. Java负整数的左移、右移、无符号右移
  19. 电商 竞品分析_电商平台竞品分析报告.docx
  20. T7983 大芳的逆行板载

热门文章

  1. asterisk接通了没声音
  2. lucky-card实现刮刮卡效果
  3. 川大2019计算机硕土论文盲审,关于2019年研究生学位论文答辩和学位申请工作安排的通知...
  4. 我从华为身上学到的项目管理经验 -- 需求篇
  5. 深入分析Docker镜像原理
  6. 漫画:程序员的幸福指数是如何下降的?
  7. 使用dot画图的基本方法与模板
  8. 思科学院cisco-网络间通信
  9. Linux 03day--基础命令04(vim编辑器、gcc、静态库、动态库)
  10. 项目管理与SSM框架——Maven