学习笔记之unity3d
文章平均质量分 67
haobaworenle
这个作者很懒,什么都没留下…
展开
-
unity报错:Failed to initialize network interface. Is the listen port already in use?
今天测试网络连接的时候出现了这个问题,有时报错有时不报。这句话的意思是:初始化network接口失败,这个监听的端口是否已经正在使用了?很明显,报错原因是已经开了服务器,再初始化一个就会出现这个错误。后来我把开着的server关了后,一直没报错。unity5.0以后的信息比较明显,很多错误信息基本都告诉你是什么原因,提升英语水平是关键。原创 2017-01-02 16:22:53 · 3681 阅读 · 0 评论 -
unity陀螺仪参数详解
参考文章:android 陀螺仪的使用手机平放,x轴为右手边,y轴为正前方,z轴为正上方。陀螺仪的各个轴参数表示围绕这三个轴旋转的数值。本次测试为小米3,规定初始方向为平放,手机头向前方,即远离身体。Input.gyro.attitudex:平放为0,手机按键倾斜旋转180度数值变化为-0->-1,继续旋转180度为1->0y:平原创 2017-01-06 10:38:16 · 11906 阅读 · 0 评论 -
transform或constantForce不应同时使用characterController
在项目中,我的物体加入了刚体、角色控制器、常力等组件,当我添加一个脚本控制移动时,发现要么跑得很快,而且停不下来,要么不跳起来,一跳就飞到天上去。数值都是一样不可控制,即时我把速度调到0.0001还是飞奔。脚本中我用translate移动行走,用constantForce控制起跳。当我关掉角色控制器characterController时,物体恢复控制,而且也恢复跑得贼慢,跳得贼矮。估计是原创 2017-01-07 10:05:16 · 554 阅读 · 0 评论 -
networkBehaviour的几种状态
参考文章:Unity5.1 新的网络引擎UNET(十五) Networking 引用--上UNET中常用到networkBehaviour的状态判断,项目中使用率最高时isLocalPlayer/isServer/isClient,不过初学时很容易误解意思,特此来理清一下。Property:Function:原创 2017-01-16 11:50:07 · 1947 阅读 · 1 评论 -
UNET SyncVar同步信息
原文:UNET SyncVar这篇文章讨论unity网游中的同步状态。我们开始先总结一下unity已有的(传统的)网络系统,再转移到它如何在新的UNET网络系统中运行,还有制作过程中引起新设计思想的思想。背景和需求这作为背景的一点点知识。常见的事情是,网络游戏会有一个拥有很多物体对象的服务器,当这些物体的数据有所改变时,需要告知客户端。例如,在对战游戏中翻译 2017-01-11 16:26:42 · 3522 阅读 · 0 评论 -
unity5.1 Unet同步问题总结
首先要认清一点,Unet是服务器权威的。这在同步问题中很是重要。 状态同步是从服务器向客户端方向上的。本地客户端没有序列化的数据,因为它和服务器共享同一个场景。任何为本地客户端序列化的数据都是多余的。然而,SyncVar的hook函数会被本地客户端调用。注意数据不会从客户端向服务器同步,这个方向上的操作叫做命令(Commands)。 除了可以直接用的network类的同步组转载 2017-02-13 13:24:29 · 3303 阅读 · 0 评论 -
unity中屏幕和世界坐标系区别
屏幕坐标系是这个:o ----------------------------------->x轴|||||||||Vy轴通常在使用原生GUI绘制时要考虑,这些GUI组件不属于编辑器中的物体,绘制时并不会参加物体的深度计算等操作,等到物体绘制完它才最后绘制到屏幕。世界坐标系是这个:y轴^||||原创 2017-02-03 13:48:28 · 1208 阅读 · 2 评论 -
mipmap
Mipmap是什么为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为 MIP(multum in parvo) map 或者 mipmap。首先从MIPMAP的原理说起,它是把一张贴图按照2的倍数进行缩小,直到1X1,把缩小的图都存储起来。在渲染时,根据一个像素离眼睛为之的距离,来判断从一个合适的图层中取出texel颜色转载 2017-03-26 16:08:20 · 1255 阅读 · 0 评论 -
MipMap与LOD是何物?
Mipmap技术有点类似于LOD技术,但是不同的是,LOD针对的是模型资源,而Mipmap针对的纹理贴图资源。LOD:模型金字塔LOD:全称Level Of Detail,中文翻译“细节级别渐变”,顾名思义,不同的级别展示不同的细节,那么究竟这个技术是如何运用在游戏项目中的呢?通过例子我们来学习一下。关于为什么要使用这个技术,和游戏优化是密不可分的,使用这个技术可以转载 2017-03-26 21:42:50 · 1161 阅读 · 0 评论 -
unity代码修改子物体层级的顺序
我在实践中发现,同一个canvas中的物体,排列顺序越往下,最终渲染顺序就越后,也就是图形会覆盖在先前的图形上。也就是说,运行游戏后,物体的渲染顺序是一个一个计算的,个人感觉操作顺序是根据Hierarchy层级面板从上往下的顺序(有子物体是深度优先还是广度优先?),UI渲染也不例外。 所以的话,在同一个canvas中,物体的的排列顺序会直接影响最后UI界面的显示效果。因为游戏中原创 2017-05-06 11:36:22 · 33350 阅读 · 2 评论 -
UnityException: Tag: xxx is not defined.
报错代码段: obstacleList = GameObject.FindGameObjectsWithTag("xxx"); if(obstacleList!=null) CalculateObstacles();问题:unity中未设置xxx标签,而不是物体未设置xxx标签,务必理解清楚原创 2017-07-11 11:18:33 · 6298 阅读 · 4 评论 -
Unity3d碰撞检测中碰撞器与触发器的区别
要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。物体发生碰撞的必要条件两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbo转载 2017-03-26 21:51:56 · 976 阅读 · 0 评论 -
Unity制作头顶血条方式对比与优化
制作方式主要有四种:OnGUI、NGUI、UGUI、Shader区别UGUI的Canvas 有世界坐标和屏幕坐标UGUI的Image可以使用materialUGUI通过Mask来裁剪,而NGUI通过Panel的ClipNGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层.UGUI 不需要绑定Colliders,UI可以自动拦翻译 2017-09-22 11:40:32 · 7665 阅读 · 2 评论 -
unity设置手机横屏方法和相关问题
参考文章:Unity3D研究院之设置自动旋转屏幕默认旋转方向Unity打包APK横屏时的注意事项-设置方法android或ios项目基本要设置屏幕旋转方向,常见的是锁定横屏。设置屏幕方向的地方是在:File -> Building Settings -> Player Settings -> (对应平台下)Resolution and Presentat原创 2017-01-05 20:25:07 · 33853 阅读 · 0 评论 -
Unity开发项目应该一开始规划好哪些内容?如何避免后期巨坑?
原文:Unity开发项目应该一开始规划好哪些内容?如何避免后期巨坑?本文为之乎用户“刘源”在问题“那(错字,哪)些事情是用Unity开发项目应该一开始规划好的?如何避免后期酿成巨坑?”下的回答,授权游戏葡萄转载发布。总的来说,Unity没有啥天坑。只要肯研究,后期都能改进,也都不会影响到上线。小坑太多,说不完。Unity上手容易坑太多,基本事件机制,生存周期,场转载 2016-12-28 15:39:08 · 880 阅读 · 1 评论 -
游戏背景自适应屏幕分辨率
原文:Unity 3D 正交(Orthographic)摄像机尺寸学习笔记在 Unity 3D 中可以把摄像机设置为正交。正交摄像机与 Unity 3D 中普通摄像机相比没有透视效果(近大远小),所以正交相机一般可以用于 2D 游戏开发或者是 3D 游戏的 UI 开发。在 2D 游戏开发中,有时会遇到根据屏幕的分辨率对游戏的背景进行自适应缩放的需求,这就转载 2016-12-28 11:07:22 · 3432 阅读 · 0 评论 -
Unity网络教程翻译(一)从零开始编写一个网络游戏
原文:Unity网络教程翻译(一)从零开始编写一个网络游戏未解决疑问:1、战斗延迟2、NetworkIdentity勾选任意一个时报错:“cannot be set for local player/server authority objects”Setting up a Multiplayer Project fromScratch由零开转载 2017-01-03 10:28:36 · 5433 阅读 · 0 评论 -
Unity3d网络教程(旧版networkView开发模式/附带项目源程序)
原文:Unity3d多人网络(从圣典拷贝来的,先看看,因为我觉得这位仁兄比我翻译得好,我也对这个教程作一些修改From:http://game.ceeger.com/forum/read.php?tid=428&page=3 教程简介我一直认为unity需要一个好一点的多人网络的教程。当我开始用unity网络功能的时候,我感觉unit翻译 2016-12-29 21:56:49 · 4959 阅读 · 0 评论 -
Unity3D 物体移动方式总结
原文:Unity3D 物体移动方式总结1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。2. 通过Transform组件移动物体 Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(sca转载 2016-12-26 09:51:33 · 2900 阅读 · 0 评论 -
继承MonoBehaviour类的优缺点和相关报错
原文:Unity3d的脚本类为什么要尽量避免继承MonoBehaviour类unity3d文档里虽然说所有脚本继承MonoBehaviour类,但如果你想自定义类,就可以不用继承MonoBehaviour,但是这个类只能调用其中的方法和属性,无法拖到场景的物体中使用。如果不继承Mono会有哪些好处呢?1:节约资源。如果不继承Mono会有哪些坏处呢转载 2016-12-27 16:15:06 · 4040 阅读 · 0 评论 -
Unity网络教程翻译(二)如何使用NetworkManager
原文:Unity网络教程翻译(二)如何使用NetworkManagerUsing the NetworkManager使用NetworkManager(网络工程管理器)The NetworkManager is acomponent for managing the network state of a multiplayer game. I转载 2017-01-03 20:30:42 · 3776 阅读 · 0 评论 -
继承重写NetworkLobbyPlayer之后无法创建GamePlayer的解决办法
原文:继承重写NetworkLobbyPlayer之后无法创建GamePlayer的解决办法应该在继承的NetworkLobbyPlayer的类里添加如下代码:123 void Awake() { DontDestroyOnLoad(transform转载 2017-01-04 20:21:50 · 626 阅读 · 0 评论 -
Unity3d获取和正确删除所有子物体
参考文章:Unity3d获取物体的所有子物体对象(child)如何正确删除子物体核心代码:foreach (Transform childTr in transform){ Debug.Log("childTr子物体名字:"+childTr.gameObject.name);}示例:List lst = new L翻译 2016-12-27 17:09:18 · 20158 阅读 · 0 评论 -
Unity游戏物体尺寸的获取方式与影响因素
参考文章:Unity3D 获取一个游戏对象的尺寸Unity3D 2D入门——sprite尺寸、获取对象unity与3DMax的单位问题1、获取父物体时获取自身位置物体在场景中的实际坐标是自身和所有父对象的坐标相加的结果数值。假设游戏物体的层级是Background -> Deck -> Target,脚本附在target上,代码应该是这样:翻译 2016-12-27 19:07:04 · 12266 阅读 · 1 评论 -
unity build设置固定分辨率不生效的问题
参考文章:unity build设置固定分辨率不生效的问题问题描述:在build exe时,尽管已经在player settings中设置了固定分辨率,且不弹出分辨率框。但是当运行时,若之前有3D运行过,则本次的分辨率会跟随上一次运行的分辨率。解决方法:在player settings中有ProductName,若此值相同,则先后运行的3D分转载 2016-12-27 21:32:12 · 6110 阅读 · 0 评论 -
Unity修改GUI字体
参考文章:Unity3D修改Font字体Unity GUI设置字体大小1、用GUIStyle来设置字体样式"code" class="csharp">"code" class="csharp">void OnGUI() { GUIStyle fontStyle = new GUIStyle();翻译 2016-12-27 21:36:16 · 14113 阅读 · 0 评论 -
Unity网络教程翻译(三)多人游戏大厅
原文:Unity网络教程翻译(三)多人游戏大厅Multiplayer Lobby多人游戏大厅Many multiplayergames have a staging area for players to join before playing the actual game.In this area - often called the “转载 2017-01-04 20:24:37 · 3452 阅读 · 0 评论 -
C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型
原文:C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型遇到一个想做的功能,但是实现不了,核心原因是因为对U3D的3D数学概念没有灵活吃透。故再次系统学习之第三次学习3D数学. 本次,希望实现的功能很简单:如在小地图中,希望可以动态画出Player当前的位置、z的朝向:用3条线、z轴正向、30°旋转载 2016-12-28 10:54:37 · 1053 阅读 · 0 评论 -
UNITY SPRITES: SPRITERENDERER VS. CANVASRENDERER (UI IMAGE)
本文讲述的是 2Dsprite 和 UI Image 的对比,仅翻译个人认为值得注意部分,并适当加入个人理解,其他内容可自行解读。While working in a project for one of our clients, I was asked about the difference between sprites (SpriteRenderer) and UI images翻译 2017-11-04 15:40:32 · 1792 阅读 · 0 评论