在游戏开发中,经常会因为直接将GameObject,setActive的方式打开关闭,这种方式效果太过生硬而给它加上一个Tween可能是AlphaTween或者ScaleTween。再加上一个PlayTween来做控制。这样子需要在每个GameObject上加上这几个Component不说,还很不好用所以结合之前用的一个拓展函数的方法,想到一个非常非常方便的方法(之前的拓展函数文章:http://
分类:
编程语言 时间:
2018-03-11 00:20:45
阅读次数:
168
在开发中时不时会用到这个需求,比如要放置一个宠物在身边,但是不能在自己身上。一个简单的方法Vector3pos=Vector3.zero;intangle=Random.Range(0,360);Vector3range=Quaternion.AngleAxis(angle,Vector3.up)*Vector3.back*1.5f;pos=pos+range;同理,如果想做一个跟随功能,就是离角
分类:
编程语言 时间:
2018-03-11 00:17:35
阅读次数:
168
测试项目的时候经常用到的控制摄像头运动,简单的移动转向usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassController:MonoBehaviour{privateGameObjectgameObject;floatx1;floatx2;floatx3;floatx4;void
分类:
编程语言 时间:
2018-03-11 00:14:52
阅读次数:
208
这次先说一下mono内存的性能问题查找方法mono主要是代码问题,各种解决方案在其他地方会讲到,首先就是解决每个尖峰,这个会导致gc,mono堆内存申请等问题。1.先用cube来测手机上跑一局看看数据可以看到在这里申请了内存,可以看到。这时候首先有个向下的尖峰,这个是执行了一次gc。然后mono发现,你代码里申请的内存已经超出现在的堆内存,所以只能再申请一块。所以这事后需要找到这个时刻是在干什么。
分类:
编程语言 时间:
2018-03-10 21:58:00
阅读次数:
209
原本想着这个功能怎么实现,刚好在项目里看到这里记录一下。首先项目的模型里会有一个基本的Material,这个就是美术出给你的模型的材质。可能有的需求是在游戏中触发一个事件,你身上加个流光或者描边等效果。我们知道这些效果如果要表现在身上,用特效是不好看的,要用Shader去表现。这时候就需要你换一个Shader。而其实我们不会直接换Shader的,是换一个Material。所以本质上是用一个基本是原
分类:
编程语言 时间:
2018-03-10 20:26:27
阅读次数:
694
在unity里做打包或者帮策划美术做工具的时候经常会需要把Prefab拉出来或者场景打开做检验工作其实这个在上一篇在ui打包的文章里有提到,不过重点不同,上篇重点是打包,这篇的重点是把里面的一个小知识点拉出来讲一讲接下来就讲讲两者分别怎么做一、把预制Prefab拉出来就是像我们平时把预制拉到这个地方1.首先是获取你选中的那个Prefab(如果是有其他需求,比如默认目录下的所有文件等,就不这样处理,
分类:
编程语言 时间:
2018-03-10 18:46:50
阅读次数:
616
https://docs.unity3d.com/ScriptReference/Gyroscope.htmlunity官方文档就很清楚,只有一点要注意:所有教程都教你怎么用input.gyro.attitude但是这个表示的是空间中的位置,首先你是想做像王者荣耀开头晃动摄像机的效果,需要把上个位置记录下来,每次相减获得偏移值。而更大的问题是,这个空间值可能会有突然转成负数的情况所以其实一点都不好
分类:
移动开发 时间:
2018-03-10 18:13:12
阅读次数:
278
这个在端游上比较场景,在角色展示的时候,当摄像头在角色身边上下左右旋转时,角色头部跟随镜头旋转。如天涯明月刀等。这个在手游上比较少见,不过实现也没什么区别。首先一般情况下,找到模型的头部节点,直接用lookAt指向camera就可以了,不过一般需求不会这么简单。比如说,超过头部扭动极限,头部需要插值回到原始点;当镜头从外部回到极限内,需要插值回来。这时候lookat就没法使用。更有情况,头部本身坐
分类:
编程语言 时间:
2018-03-10 18:12:39
阅读次数:
147
这里列举出手游开发中用到了所有特殊文件夹。Unity3D研究院之手游开发中所有特殊的文件夹-雨松MOMO程序研究院1.EditorEditor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor和/Editor是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在
分类:
编程语言 时间:
2018-03-10 16:01:17
阅读次数:
142
想搞个全屏Sprite,获取Screen.Width什么的都不对。因为这个跟你的Camera的aspect有关。所以有个很简单的方法首先一般你的项目都会限度是以宽还是高做基准来拉伸我们是横版游戏,所以是宽做基准我们的宽定的标准值为1334.所以是这样publicintGetScreenHeight(GameObjectgo){Cameracamera=NGUITools.FindInParents
分类:
编程语言 时间:
2018-03-10 15:58:32
阅读次数:
217