
unity
文章平均质量分 60
fooliker
这个作者很懒,什么都没留下…
展开
-
Unity最简单引导实现方式
Unity最简单引导实现方式这是最基础的引导实现方式,具体逻辑根据自己项目来丰富。首先我们需要一个镂空需要高亮区域的Shader其次需要具体业务处理的C#代码镂空shader代码:Shader "UI/Guide/Rect"{ Properties { [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {} _Color("Tint", Color) = (1,1,1,1) _StencilComp("Sten原创 2021-04-16 16:40:00 · 1032 阅读 · 1 评论 -
Quaternion
结构体Quaternion 简单的说几个常见的用法:Quaternion q = Quaternion.identity;// 无旋转 print(gameObject.transform.eulerAngles);// 输出的是Vector 3 也就是Transform组件的rotation print(gameObject.transform.rotation)原创 2017-06-07 20:53:39 · 634 阅读 · 0 评论 -
AStar算法
我们假设某人要从 A 点移动到 B 点,但是这两点之间被一堵墙隔开。如图 1 ,绿色是 A ,红色是 B ,中间蓝色是墙。图 1 我们把要搜寻的区域划分成了正方形的格子,目的是简化搜索区域,我们的搜索区域简化为了二维数组。数组的每一项代表一个格子,它的状态就是可走和不可走,通过计算出从 A 到 B需要走过哪些方格,就找到了路径。一旦路径找到了,人物便从一个方格的中心移动到另一个方格的中心,直至到达原创 2017-07-10 19:39:17 · 1287 阅读 · 0 评论 -
Lua中含中文字符串长度计算
转自:http://m.blog.youkuaiyun.com/DanceWithCode1990/article/details/51154681在项目中遇到了需要在Lua中计算含中文的字符串的字符串长度。当时想当然的就用了string.len(“确定”) 发现输出时竟然是6!后来才知道 ,由于文件编码格式是UTF-8,所以一个中文是3个字节!所以这也不难解释为何“确定”的长度是6了。 至于UTF-8的前世转载 2017-07-03 11:35:49 · 9823 阅读 · 2 评论 -
Lua
直接上代码 简单易懂-- 是lua中的注释 相当于 // 字符串:1. 单引号表示的字符串里可包含双引号 但内部不能包含单引号2. 双引号表示的字符串里可以包含单引号 但内部不能包含双引号-- print("lua") -- a = 1-- b = 2-- print(a+b) -- 3 -- b = false-- n = 1-- s = 'lua'-- print(type(原创 2017-06-12 15:13:58 · 352 阅读 · 0 评论 -
有限状态机
FSM优势:简单高效 易于扩展 模块化处理 FSMState 抽象类 不继承mono 抽离一些子类共有的东西 例如:巡逻点 移动速度 旋转速度 追逐范围 攻击范围 等等 还有放一个存储转换过程的字典 公有方法:增加状态的方法 删除状态的方法 根据状态返回行为的方法 抽象状态转变的原因原创 2017-06-01 17:11:44 · 357 阅读 · 0 评论 -
Unity3D引擎之渲染技术系列
http://blog.youkuaiyun.com/jxw167/article/details/69426574 图片渲染模式转载 2017-09-21 23:04:34 · 816 阅读 · 0 评论 -
Unity3D粒子系统碰撞器,让粒子碰撞到物体之后消失
关于碰撞检测的主要配置我们看图中的Collision: 第一项:因为是一个3D游戏,所以这里我选择的是World 第二项(Dampen):抑制(0~1),选这个为1时(完全抑制),碰撞之后,阻止了粒子,可以使碰撞的粒子消失 第三项(Bounce):反弹(0~2),选完这个之后,可以让产生碰撞的粒子以某个角度反弹出去 第三项(Lifetime Loss):生命周期损失(0~1),碰撞之后让粒子转载 2017-11-24 10:35:12 · 5748 阅读 · 0 评论 -
Lod和MipMap
转载自:http://blog.youkuaiyun.com/penchaoo/article/details/54291529 MipMap与LOD是何物? LOD:模型金字塔 LOD:全称Level Of Detail,中文翻译“细节级别渐变”,顾名思义,不同的级别展示不同的细节,那么究竟这个技术是如何运用在游戏项目中的呢?通过例子我们来学习一下。关于为什么要使用这个技术,和游戏优化是密不可分的,使用转载 2017-12-18 17:54:44 · 861 阅读 · 0 评论 -
unity小技巧
1.同时按下Ctrl 键 和鼠标左键弹出预览窗口。 来自新浪微博:雨松MOMO2.被忽略的注释// TODO打开vs的视图 - 任务列表 就会发现如果程序中有 // TODO注释的地方都会被列出来。3.调整游戏测试运行模式的颜色Edit - Preferences - Colors - Playmode tint播放模式警示,解决粗心大意在播放模式中修改组件参数等。持续收藏中.....原创 2017-05-24 14:02:29 · 694 阅读 · 0 评论 -
序列化和反序列化
proto序列化和反序列化类 序列化是将我们的protobuf类对象转换成字节数组的方法网络底层我们从服务器获取到的是字节数组 反序列化是将字节转成proto类对象的方法using语句的作用是:在语句里面定义的对象 在语句块结束的时候 会自动释放对象序列化 将前端的业务转换成字节public static byte[] Serialize(IExtensible msg) {byte[] resu原创 2017-05-24 14:02:46 · 336 阅读 · 0 评论 -
AssetBundle加载
首先将资源打包 建一个工程 创建一个蓝色的cube 做成prefab 设置包名 结束 ab包名必须全小写 // 资源包 打包类 不同平台使用各自生成的.ab资源包 不同平台之间不通用 // 不同版本的unity 生成的AB文件或许是不通用的 建议使用相同版本打包并且发布 public class BuildBundle :MonoBehaviour {[MenuItem("BuildA原创 2017-06-06 15:13:01 · 367 阅读 · 0 评论 -
优化
http://www.cnblogs.com/murongxiaopifu/p/4284988.html 深入浅出聊优化:从Draw Calls到GCCPU优化1.DrawCall优化2.物理组件3.GC4.代码质量GPU优化1.填充率,可以简单的理解为图形处理单元每秒渲染的像素数量。2.像素的复杂度,比如动态阴影,光照,复杂的shader等等3.几何体的复杂度(顶点数量)4.当然还有GPU的显存转载 2017-05-24 14:02:51 · 294 阅读 · 0 评论 -
线程协程WWW
线程:Thread// 新线程-1 调用静态方法Thread m_Thread_1 = new Thread(M_Thread.StartThreadFunc);m_Thread_1.Start();// 开始执行新线程// 新线程-2 调用实例方法Thread m_Thread_2 = new Thread(new M_Thread().OtherThreadFunc);m_Thread_2.S原创 2017-05-24 14:02:31 · 258 阅读 · 0 评论 -
Partical
Duration - 粒子持续时间Looping - 循环Prewarm - 预热Start Delay - 预热延迟Start Lifetime - 生命周期Start Speed - 发射初始速度Start Size(3d) - 粒子大小Start Color - 粒子初始颜色Gravity Modifier - 重力修正 (重力大小)Max Particals - 粒子最大释放数量Emiss原创 2017-05-24 14:02:23 · 1376 阅读 · 0 评论 -
Animation
//旧版动画系统//在导入的FBX文件选中, 在Inspector视窗中有 三个标签选项 model Rig Animation 选择 Rig标签,//Animation Type 中选择Legacy(旧的Animation)动画系统。//Apply后将FBX文件拖动到 场景视窗中,模型预制体会自动自动携带Animation组件。//新版动画系统//Animation Type 中选择Gener原创 2017-05-24 14:02:20 · 525 阅读 · 0 评论 -
unity入门
Unity1.提供了给开发人员操作的界面2.提供了给技术开发人员实现功能的API --SVN预制体Resource资源 一个固定路径 一个类Config配置文件Z轴 蓝色 正前Y轴 上下X轴 左右Center localAssets:存放项目所需要的资源Library:存放所需库文件ProjectSettings:里面存放工程设置文件Temp:临时文件Transform1.负责游戏对象变换(位原创 2017-05-24 14:01:53 · 230 阅读 · 0 评论 -
数据存储
PlayerPrefs// 保存玩家数据PlayerPrefs.SetString(LoginName, _nameInput.text);PlayerPrefs.SetInt(Password, int.Parse(_passwordInput.text));PlayerPrefs.SetFloat(AudioKey, _audioSlider.value);// 从玩家偏好设置中获取key对应原创 2017-05-24 14:02:26 · 329 阅读 · 0 评论 -
高通Vuforia SDK AR
1.unity版本 5.4.3 2.Vuforial SDK 从官网(https://developer.vuforia.com/downloads/sdk)下载最新的5.5的Unity专用版本将下载的插件导入unity 3.注册vuforial账号 4.登陆后可在Develop –> License manager下添加一个License Key:添加成功后打开添加的License Key可原创 2017-05-26 19:11:43 · 878 阅读 · 0 评论 -
Socket框架
1.构建消息包类 MessagePackage <1> 定义包头 根据业务需求,这里有5种:// 构造包头用的数据(包头10个字节里的内容) public int bufferSize = 0;// 消息总长度 public int protocolId = 0;// 消息ID // 网络标记包用来标记消息是否压缩、加密等信息 比如:0表示无压缩 无加密 pu原创 2017-06-15 19:57:12 · 2153 阅读 · 0 评论 -
安卓SDK接入Unity
环境搭建: (1)需要安卓JDK,并配置环境变量。 (2)需要安卓SDK,放在本地,unity发布时需要调用。 (3)需要Eclipse,Java代码编写工具。实现步骤: (1)打开 Eclipse,建立一个 Android 空项目(File\New\AndrAPP Project) 注意Package Name 要 与unity bundle identifier一致 (2)创建新的原创 2017-06-12 22:12:44 · 1107 阅读 · 1 评论 -
Unity中CS文件类头注释的编写实现
<1> 修改unity生成CS文件的模板 模板位置:Unity\Editor\Data\Resources\ScriptTemplates 文件名:81-C# Script-NewBehaviourScript.cs 本人将模板修改为如下:/**************************************************************** *Copyright原创 2017-06-01 17:37:34 · 2054 阅读 · 0 评论 -
Unity3D热更新LuaFramework入门实战
http://www.manew.com/forum-47-396-1.html转载 2017-06-06 11:55:59 · 893 阅读 · 0 评论 -
AssetBundle
1.unity5.4 打包API Buildpipeline.BuildAssetBundleBuildPipeline.BuildAssetBundles(outputPath, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);2.在资源的Inspector界面最下方可设置该资源的assetbundleName,每个ass原创 2017-05-24 14:02:54 · 349 阅读 · 0 评论