【unity实用技能】
文章平均质量分 53
普通网友
这个作者很懒,什么都没留下…
展开
-
【小松教你手游开发】【unity实用技能】角色头部跟随镜头旋转
这个在端游上比较场景,在角色展示的时候,当摄像头在角色身边上下左右旋转时,角色头部跟随镜头旋转。如天涯明月刀等。这个在手游上比较少见,不过实现也没什么区别。首先一般情况下,找到模型的头部节点,直接用lookAt指向camera就可以了,不过一般需求不会这么简单。比如说,超过头部扭动极限,头部需要插值回到原始点;当镜头从外部回到极限内,需要插值回来。这时候lookat就没法使用。原创 2017-12-06 15:14:29 · 3822 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】unity shader 教程
http://blog.csdn.net/poem_qianmo/article/details/40955607转载 2015-03-03 15:22:40 · 820 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】u3d shader 笔记
单色shaderShader "ChrisShader/OneColorShader" { Properties { _Color ("color", Color) = (0,0,0,0) } SubShader { Pass { Color[_Color] } } }纹理shader Properties { _MainTex原创 2015-03-06 13:12:16 · 577 阅读 · 0 评论 -
【unity实用技能】线性差值计算实现
其实这个unity本身就有的函数Mathf.Lerp(),为什么还要自己实现呢。有一个原因就是这个函数返回的是float型,float型如果数字非常大,转出int时会有精度丢失,也就是转出来的值不对。而且非常简单。看下公式public int Lerp(int a,int b,int v){ return (int)(a - (0 - v) / (0 - 1)原创 2016-12-01 21:10:46 · 1209 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】Unity项目内存优化大全
http://gad.qq.com/article/detail/7173927前言 手游项目开发中,每个项目都会遇到或多或少的内存问题。本文涉及到了Unity项目:启动内存,Mono内存,System 内存这三个方面。对于为什么标题叫《内存优化大全》,主要是在自己职业生涯中,《代码大全》给我带来了很多的启发和帮助。这篇文章希望帮到需要的人。 启动内存转载 2016-11-19 17:17:02 · 624 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】NGUI字体描边
http://gad.qq.com/article/detail/7172155NGUI的UILabel中实现字体的描边是通过以方形的方式对字体网格顶点偏移一定位置后作为其描边网格。以这种方式描边在边角处会生硬,描边不均匀问题,特别是在比较大的字体描边时偏移越大这种生硬,不均匀程度越明显。处理这种描边一可以通过改进shader的方式来做调整,这里我介绍林一种新的方式:以圆形转载 2016-11-19 17:15:33 · 2781 阅读 · 2 评论 -
【小松教你手游开发】【unity实用技能】unity 接WP8 sdk的一些心得
1.在wp8的sdk中,sdk可以在vs中生成的.dll文件,放在unity的plugins文件夹里面,unity的脚本就可以随意调用sdk中的函数,这样就已经可以做到unity传数据到手机上。 但很多时候为了耦合性低一点,会在sdk上在封装一层(或者说在sdk的基础上),在unity打包出来的vs工程上的MainPage.xaml.cs文件上写调用函数。然后在unity上写even原创 2015-03-06 18:24:10 · 1326 阅读 · 1 评论 -
【小松教你手游开发】【unity实用技能】wp8支付接入
https://msdn.microsoft.com/zh-cn/library/windows/apps/jj206949(v=vs.105).aspxhttps://msdn.microsoft.com/zh-cn/library/windows/apps/jj681689(v=vs.105).aspxhttp://www.51wp.com/news/33144.html原创 2015-03-09 18:16:21 · 603 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】unity游戏移植到WindowsPhone8平台上的一些经验
最近在移植u3d的游戏到WindowsPhone8上,WindowsPhone有多蛋疼就不说,移植的过程中还各种问题,稍稍总结一下1.WindowsPhone账号在电脑上注册不要在手机上。手机上我就没注册成功过2。unity版本一定要最新。untiy最近才开始适配WindowsPhone的游戏,越新版本你需要解决的问题就越少。(我是用4.5.3)3.图片格式需要原创 2015-03-06 18:18:05 · 2353 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】c++ 交叉引用解决方法
两个类相互#include就会引发bug交叉引用。这样声明的时候就会显示找不到。这种情况下在头文件上不要#include,在类定义前引用一下,Class B.这样就可以解决如:class Wingman;class Fighter:public GameObject{原创 2015-01-08 17:13:06 · 1129 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】Unity3D研究院之IOS全自动编辑framework、plist、oc代码
http://www.xuanyusong.com/archives/2720转载 2014-11-26 20:00:43 · 1197 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】Unity3D研究院之第一人称第三人称角色控制组件修改C#版本
http://www.xuanyusong.com/archives/1405转载 2014-11-18 22:15:14 · 1911 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】unity所有特殊文件夹的用途
这里列举出手游开发中用到了所有特殊文件夹。1.EditorEditor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor 和 /Editor 是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放转载 2014-11-13 15:49:57 · 7892 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】Unity3D研究院之一张图彻底了解Unity脚本的生命周期
http://www.xuanyusong.com/archives/3225转载 2014-11-13 16:36:28 · 1513 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】Unity3D研究院之使用Android的硬件缩放技术优化执行效率
http://www.xuanyusong.com/archives/3205转载 2014-11-13 16:49:41 · 1212 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】从NGUI的UIScrollview的实现原理延伸到ngui的层次,合并,drawcall生成原理
记上次面试被一个主程说,你连NGUI底层探索的欲望都没有,你还说你对编程感兴趣想想也是,人家代码摆在那给你看你连看都不看,还说自己对学习技术有热忱。而且当初确实是好奇UIScrollview怎么实现的,所以趁今天刚好做这个需求就看看NGUI底层是怎么实现的。一、基本结构首先实现一个UIScrollview基本的结构是Scrollv原创 2016-04-27 14:03:31 · 3412 阅读 · 2 评论 -
【unity实用技能】Unity图片变灰的方式
http://www.tuicool.com/articles/VruuqmeNGUI中的Button几乎是最常用到的控件之一,并且可以组合各种组件(比如UIButtonColor,UIButtonOffset,UITweenxx),方便设置Button的各种状态下的属性,几乎可以满足我们的所有需求。但是对于当Button的isEnabled属性设置为false时,根据设置的dis转载 2017-01-19 14:31:51 · 5737 阅读 · 1 评论 -
【unity实用技能】Unity3D之OnGUI知识总结
http://blog.csdn.net/u011480667/article/details/77542226一、Label #region 四个角定位 GUI.Label(new Rect(30, 10, 100, 200), "zzzzzz"); GUI.Label(new Rect(30, Screen.heig转载 2017-12-12 16:00:08 · 3545 阅读 · 0 评论 -
【unity实用技能】unity3d 陀螺仪控制camera移动旋转
https://docs.unity3d.com/ScriptReference/Gyroscope.htmlunity 官方文档就很清楚,只有一点要注意:所有教程都教你怎么用input.gyro.attitude但是这个表示的是空间中的位置,首先你是想做像王者荣耀开头晃动摄像机的效果,需要把上个位置记录下来,每次相减获得偏移值。而更大的问题是,这个空间值可能会有突然转成负原创 2017-11-30 16:41:19 · 6163 阅读 · 1 评论 -
【小松教你手游开发】【unity实用技能】unity 更漂亮的位移
更漂亮的位移指的是先慢再快再慢的这种位移,更像现实中的位移。也叫平滑阻尼。这里有两种实现方式:1.通过计算值:调的函数是Mathf.SmoothStep例: float t = 0; // Update is called once per frame void Update() { if(sprite.fillAmount != 1 &原创 2015-12-30 18:51:20 · 2626 阅读 · 0 评论 -
【unity实用技能】性能优化经验分享
1.问题:Log输出频繁导致卡顿。解决方法:Log上封装一层,用宏定义或者一个变量作控制输出开关2.问题:在Update函数的for、while循环中反复定义变量 建议:把定义放在循环外面3.问题:Update函数或者Update里调用的其他的函数,里面包涵了数组的定义 建议:放在函数外面定义 4.问题:L原创 2017-09-30 11:03:12 · 551 阅读 · 0 评论 -
【unity实用技能】Unity Mesh更新的时候增加内存
Unity在Mesh更新的时候会增加内存,一般的方法是使用数组去填入。 Vector3[] vertices = new Vector3[segmentCount * 4]; Vector3[] normals = new Vector3[segmentCount * 4]; Vector4[] tangents = new Vector4[seg原创 2017-08-21 17:06:47 · 1682 阅读 · 0 评论 -
【unity实用技能】unity编辑器工具之加载预制(Prefab)和场景(Scene)
在unity里做打包或者帮策划美术做工具的时候经常会需要把Prefab拉出来或者场景打开做检验工作其实这个在上一篇在ui打包的文章里有提到,不过重点不同,上篇重点是打包,这篇的重点是把里面的一个小知识点拉出来讲一讲接下来就讲讲两者分别怎么做一、把预制Prefab拉出来就是像我们平时把预制拉到这个地方1.首先是获取你选中的那个Prefab(如果是有其他原创 2017-04-10 02:12:21 · 4296 阅读 · 1 评论 -
【unity实用技能】计算目标物体是否在自己的扇形视野范围
在做游戏开发中经常会需要到计算扇形的视野或者是受击范围的时候。其实这个分为两部分,第一部分是在扇形距离范围内(也就是不考虑角度,其实是圆形范围内)第二部分是扇形角度范围内第一部分很简单,Vector3.Distance(a, b);计算距离下面讲讲第二部分,扇形角度范围内。计算怪物是否在你的视野范围内其实可以这么看Avatar的正方向向量与Avatar到原创 2017-06-27 20:57:37 · 8317 阅读 · 0 评论 -
【unity实用技能】在GameObject前画一条线
在项目中有时候需要在scene里划线方面检查这里面有两点,划线和人物正前方的计算划线用LineRanderer人物正前方是go.transform.forward + go.transform.position人物的坐标加上人物的正前方方向(我一开始死脑筋的时候想着正前方就go.transform.forward 不就是人物的正前方吗,但是如果不加上自己的坐标,它只是一个方原创 2017-06-27 16:13:48 · 1910 阅读 · 0 评论 -
【unity实用技能】往avatar身边放置一个物体(随机)
在开发中时不时会用到这个需求,比如要放置一个宠物在身边,但是不能在自己身上。一个简单的方法 Vector3 pos = Vector3.zero; int angle = Random.Range(0, 360); Vector3 range = Quaternion.AngleAxis(angle, Vector3.up) * Vector3原创 2017-06-16 17:30:06 · 652 阅读 · 0 评论 -
【unity实用技能】控制摄像头脚本
测试项目的时候经常用到的控制摄像头运动,简单的移动转向using System.Collections;using System.Collections.Generic;using UnityEngine;public class Controller : MonoBehaviour { private GameObject gameObject; float x1;原创 2017-05-17 14:04:23 · 2714 阅读 · 1 评论 -
【unity实用技能】u3d 获取屏幕的宽高
想搞个全屏Sprite,获取Screen.Width什么的都不对。因为这个跟你的Camera的aspect有关。所以有个很简单的方法首先一般你的项目都会限度是以宽还是高做基准来拉伸我们是横版游戏,所以是宽做基准我们的宽定的标准值为1334.所以是这样public int GetScreenHeight(GameObject go){ Came原创 2017-03-30 17:29:27 · 10277 阅读 · 2 评论 -
【unity实用技能】unity在游戏中更换角色的shader,比如加个流光
原本想着这个功能怎么实现,刚好在项目里看到这里记录一下。首先项目的模型里会有一个基本的Material,这个就是美术出给你的模型的材质。可能有的需求是在游戏中触发一个事件,你身上加个流光或者描边等效果。我们知道这些效果如果要表现在身上,用特效是不好看的,要用Shader去表现。这时候就需要你换一个Shader。而其实我们不会直接换Shader的,是换一个Material原创 2017-05-10 20:49:35 · 3119 阅读 · 0 评论 -
【unity实用技能】unity ios快捷打包
ios打包是比较麻烦的,配通一次流程后需要做个笔记把各种插件各种配置在每次打包的时候重新配置,作为一个程序员当然不能接受这么笨的事情,写个脚本让代码去实现这些。首先,介绍一个标记[PostProcessBuild]在函数前写上这个标记,unity在打完包后便会调用这个函数。所以我们也将用这个标记让unity在包打成xcode项目以后,去改动xcode里面的配置。原创 2017-02-27 10:32:13 · 1020 阅读 · 0 评论 -
【unity系统模块开发】u3d 层次问题总结
首先的首先,NGUI区分前后层次关系是用Depth值。已经跟z轴值无关首先因为我自己用的是NGUI,所以我的u3d层次问题也就是NGUI的层次问题先确定UI渲染顺序,Camera>UIPanel>Depth(UIWidget)这里的意思是,首先确定前后关系的是不同大块之间的Camera的Depth值,根据Depth大小排列,这个决定了每个大块之前的前后关系。接着根据原创 2017-02-21 11:18:48 · 979 阅读 · 0 评论 -
【unity系统模块开发】热更
现在的手游项目如果没个热更新迭代根本跟不上, 特别是像我们项目做mmo的更是需要经常改动代码。而现在的项目一般会选择用lua的方式实现热更新不过我们项目由于历史原因没有使用,用的是另外一种方案在项目里的所有GameObject都不挂脚本(NGUI脚本就通过代码的方式挂上),自己写的脚本都不继承Mono并打成dll,然后通过一个启动脚本去打开这些dll。不过这样就有个问题,ios不能原创 2017-02-20 15:16:29 · 1198 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】Unity3D研究院之为什么Inspector视图中脚本前面的勾选框没了
我一个同事刚问我为啥有时候脚本的勾选项没有了?有时候不想让某条脚本执行,可以直接在编辑器中点掉勾选按钮即可。如下图所示。 以前我也遇到过这个问题,但是一直都没怎么注意,因为一般情况下也用不到。今天刚好有同事问我,我也就抽空看一下到底是为什么?结果发现了一个奇葩的问题。。凡事脚本没有勾选项的,都是因为你的脚本没有Start方法。。如果你想让勾选框显示出来,把如下方法加转载 2014-11-13 16:56:54 · 2239 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】NGUI研究院之与图片拼接的1像素接缝
http://www.xuanyusong.com/archives/3136转载 2014-11-13 17:54:46 · 1603 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】unity 二进制文件存放地址
举个例子,放在StreamingAssets中二进制文件打包后,Unity会将这些二进制文件放置在对应平台下的路径下。所以根据不同平台,访问的路径是不一样的。切记,你的二进制文件一定要放在StreamingAssets !!!!!!12345678910#if转载 2014-11-18 22:12:43 · 1758 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】Unity3D中Assetbundle技术使用心得
http://gad.qq.com/college/articledetail/7151362转载 2016-01-19 14:38:50 · 698 阅读 · 0 评论 -
【小松教你手游开发】【unity实用技能】Unity3D_NGUI_性能优化实践_CPU卡顿
http://gad.qq.com/college/articledetail/7083468转载 2016-01-19 15:44:35 · 1131 阅读 · 0 评论 -
【unity实用技能】给每个GameObject的打开关闭加上一个渐变(逐渐打开,逐渐关闭)
在游戏开发中,经常会因为直接将GameObject,setActive的方式打开关闭,这种方式效果太过生硬而给它加上一个Tween可能是AlphaTween或者ScaleTween。再加上一个PlayTween来做控制。这样子需要在每个GameObject上加上这几个Component不说,还很不好用所以结合之前用的一个拓展函数的方法,想到一个非常非常方便的方法原创 2016-12-10 14:46:27 · 1580 阅读 · 1 评论 -
unity 打不开已有工程,crush
网上各种办法都试过都没用,唯一有用的就是把显卡驱动降几个等级!原创 2014-01-14 09:18:11 · 8640 阅读 · 1 评论 -
unity上用EasyTouch如果同时有EasyJoystick的话,不能同时按EasyJoystick和EasyTouch的解决办法
找了下原因,是因为当你按着EasyJoystick时触发EasyTouch的函数识别你是否按下时识别的是你按着EasyJoystick的手指,所以无法识别解决办法:在脚本EasyTouch.cs里改多一个判断: public static bool IsRectUnderTouch( Rect rect, bool guiRect=false){ bool find=原创 2014-01-17 15:08:46 · 5438 阅读 · 1 评论