自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

穿开裆裤的专栏

用代码LU出自己的价值和财富!

  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 UE4学习记录:资源加载(二) ——异步加载资源

上篇文章我们是用DataAsset记录资源的弱引用,这次我们用ObjectLibrary来获取资源路径,然后用StreamableManager异步加载资源。ObjectLibrary:是一个对象,包含了一系列继承共享基类的未加载对象或者未加载对象的FAssetData 。您可以通过提供一个搜索路径来加载一个对象库,它将加载那个路径中的所有资源。StreamableManager:是使用同...

2020-03-20 01:20:43 1841

原创 UE4学习记录:资源加载(一) ——DataAsset使用

DataAsset:包含一个简单资源数据的基类。如果您继承了这个类,编辑器将在content browser中列出它。这个相当于Unity Asset文件,可以用来存储数据。在UE4中一般DataAsset会和资源加载配合使用,接下来记录下DataAsset的使用,视频教程可以看迪迪教程第二期资源加载创建继承DataAsset的类.h文件USTRUCT()struct FWea...

2020-03-19 18:21:03 9103

原创 小米8刘海适配

自从IPhone X出现刘海的设计,今年各大android手机厂商也纷纷效仿,也为自家的手机设计刘海;这不小米8就是有刘海设计的,这可苦了手机应用开发的码农了,因为各大android手机厂商,他们刘海api都不一样,需要码农每个品牌的手机都做下适配。下面简单说下小米8的适配。1、APP开启全屏显示首先看下官方的文档:https://dev.mi.com/console/doc/detail...

2018-09-22 17:09:12 3430 2

原创 Unity 检查脚本变量引用丢失

在修改预制体时,会经常删除原本脚本引用到的节点,这会到导致脚本中变量的引用丢失;因此可以借助工具来提示修改者,删除节点可能导致引用丢失。思路:将脚本对象序列化,判断属性引用ObjectReferenValue是否为空,且ObjectReferenceInstanceIDValue是否不为零,以此来判断是否丢失引用。具体代码如下:private static void CheckMissi...

2018-08-24 12:22:52 2577

原创 Unity获取场景

Unity4.x获取场景分为两种:编辑模式 string path = EditorApplication.currentScene;   运行状态下 string name = Application.loadedLevelName;   Unity2017:编辑模式 string name = EditorSceneManager.GetActiveSce...

2018-08-23 21:57:44 1070

原创 NGUI WrapContent与ScrollBar一起使用

上一篇讲了UISCrollView+UIWrapContent显示多行多列,今天讲讲UIScrollView+UIWrapContent+UIScrollBar的使用。一般在做滑动展示时,我们都会加个滚动条,NGUI也提供了这个组件,但是为了优化我们经常会使用UIWrapContent来重复使用Item,可是NGUI现有的UIScrollBar的计算方式不支持,这就要我们自己实现个计算方式去计

2016-11-08 14:56:18 1752

原创 NGUI WrapContent显示多行多列

在游戏中我们时常看到像背包一样用ScrollView来拖动展示一些物品信息,物品一多那么开始克隆的Item就会多这样使得开始打开界面时耗时长,而且在滑动的时候会出现卡顿,滑动不流畅,滑动卡顿的主要原因是我们未将移出UIScrollView的Item设为false,这会导致Panel在重建DrawCall是将所有的Item都算进来,这时在构建Mesh时会很耗时特别是Item比较多的时候,针对这两个问

2016-11-07 14:54:02 3717 7

原创 将Gif图转换成Unity Texture2D

最近项目里要从网上拉取玩家的头像,可玩家的头像可以用gif图但unity不支持gif图,这样就会出现拉取失败会显示问号的图,那是Unity内转换Texture2D图失败是给的默认图。于是在网上查找解决方案,果然在http://wiki.unity3d.com/index.php/AnimatedGifDrawer上找到了;其原理是:将gif图拆分成多个单个图片,用Texture2D存放,然后逐个替

2016-09-06 19:37:54 8267 4

原创 C# for、while和foreach遍历产生GC

最近在网上看到了有关于Foreach遍历会产生GC的文章今天测试了下,在这里记录下怕忘记。先上测试代码using UnityEngine;using System.Collections;using System.Collections.Generic;public class People{ public string Name; public int Age;}

2016-08-27 22:25:43 4248

原创 NGUI批量设置UISprite的Atlas

有时候我们做好了图文集,也给预制体设置好了UISprite,这时原来的图片打到了另一个图集里去了,这就需要更换Atlas了,如果量多的话手动去改就会麻烦,而且可能会有遗漏的。码农都喜欢一劳永逸的,点两下鼠标就能搞定的,所以下面我们来写个小工具来批量处理。不多说上代码:using UnityEngine;using UnityEditor;using System.Collections;

2016-08-21 16:48:00 1837

原创 unity面试整理

1、添加、获取、删除组件的函数?答:AddComponent、GetComponent、Desdroy。2、unity有几种光,分别是哪些?答:有4种,分别是平行光(Directional Light)、聚光灯(Spot Light)、点光源(Point Light)、区域光(Area Light)。3、Uinty中的协程与线程的区别?答:协程是在主线程中运行的,由StartC

2016-08-03 17:30:05 3535

原创 Unity监听Hierachy视图变化

经过一番百度我找到了两种方法。一、是EditorWindow.OnHierarchyChang这种要创建一个窗口,而且这个窗口关闭了就失效了,不管那么多来看实现代码:using UnityEngine;using System.Collections;using UnityEditor;public class HierachyChange : EditorWindow { [

2016-07-21 14:31:04 1643

原创 UGUI深度学习

NGUI的深度是可以自己设置,但是UGUI就不行了它的渲染顺序是根据Hieraychy视图的顺序来渲染的,NGUI我们可以改变深度来轻易改变精灵之间的渲染顺序,而UGUI就会麻烦点,我们要改变精灵在Hieraychy视图的排列顺序才行,那怎么样改变他们的顺序呢,直接看代码:public class DemoTest : MonoBehaviour { public Tran

2016-07-20 18:39:05 705

原创 Java服务器转换C#客户端传过来的int型数据

最近在做java服务器以c#客户端交互时发现c#中int转换成byte[]到java再转换回来出了问题。原来我的转换代码如下:public static int ByteArrayToInt(byte[] data, int startIndex) { int value = 0; for (int i=0; i<4; i++) { //java中byte[]转int

2016-07-15 19:34:56 1720

转载 IOS设备兼容Ipv5/ipv6访问Ipv4服务器

本文转载自:http://www.manew.com/thread-90569-1-1.html这几天接到运营的一个苹果版 强制性需求,也就是 客户端 网络环境在 ipv4/ipv6 的情况下都能访问 公司外网服务器(ipv4),整理整理思绪。将自己的所测试成功的案例分享一下给有需要的朋友.          1.解决目标   兼容移动设备(IOS系统)能够正常访问服务器(IPv4

2016-07-12 14:13:50 3378

原创 Uniyt热更新——LuaFrameWork学习(三)判断unity里对象为空

在游戏制作过程中我们经常会Destroy一些没用的GameObject,那么在ulua里我们怎么样来判断我们的引用被Destroy了呢,这里要感谢阿盟哥,他已经为我们解决了这个问题,在他写的Global.lua里,代码如下:function IsNil(uobj) return uobj == nil or uobj:Equals(nil)end只要将要判断的对象传进来就行了。好,我

2016-07-05 15:37:13 3919

原创 Uniyt热更新——LuaFrameWork学习(二)按钮点击事件

上一篇文章我们主要是梳理了一下框架例子的流程,知道了ulua与C#之间的调用,这篇我们接着来学习下框架对UI按钮事件的处理。思路就是点击按钮时调用lua的代码来处理相关的逻辑,那他是怎么实现的呢,不多说直接看源码。首先我们来看下LuaBehaviour.cs的代码里面有我们想要的东西:using UnityEngine;using LuaInterface;using System.C

2016-07-01 14:52:53 7230 1

原创 Uniyt热更新——LuaFrameWork学习(一)

先下载个LuaFameWork框架 官网有两个一个是针对NGUI的,一个是针对UGUI的,我用的是UGUI的;下载后解压打开工程找到main场景打开,看看里面有啥其实里没什么东西,最主要的就是GameManager上面挂的Main脚本这个是关键,这个是启动框架的主要脚本。OK我们运行下看看有什么效果,不过在运行前我们要先build下资源,点击菜单栏的LuaFramework下面有不同平台的打包

2016-06-28 19:11:27 12761 1

原创 System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分

最近vs编译时总是包System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分这个错误,最后在https://s-s.pw/archives/67上找到了解决方法,首先按 win + R 运行输入 regedit 打开注册表依次打开如下项: HKEY_LOCAL_MACHINE\SYSTEM\Current

2016-06-23 18:03:34 9124

原创 Unity不同平台路径问题

最近在群里看到一个人做assetbundle测试的时候遇到再电脑上能加载资源,在手机上却不行,原因是他把打包的资源放在游戏工程的根目录下了。而在移动平台下这个路径是不能读取的,移动平台下 只能读取含有StreamingAssets文件夹的路径,所以他要想资源加载成功就是把资源包放在StreamingAssets目录下或者放在游戏外面利用外部加载的方式。不同平台下StreamingAssets的

2016-05-25 15:01:36 2239

转载 unity3d 新UI系统UGUI点击与3D场景点击分离

本文转载自:http://www.4yue.net/?post=1164.6版本出的新UI系统 教材都略微简单现在处理 UI上的点击和3D场景点击时候出现的冲突折腾了整整一天终于在官方论坛找到解决方案1  开始使用 射线检测 UI 上的包围盒 然后return掉 这种方案,结果 新的UI系统UGUI增加包围盒无法被射线拾取到(难道姿势不对

2016-05-24 11:33:39 3388

转载 UGUI ScrollRect完美使用

本文转载自:http://www.mamicode.com/info-detail-1166981.html第一次在正式项目里用UGUI,遇到不少问题。其中ScrollRect是比较让人恼火的。看了很多网上已有教程和原代码,终于做出满足项目需求的样子来了。简单分享一下。如有错误的地方,希望大家可以指出,一起进步! 制作一个滚动列表,首先就会想到ScrollRect这个组件。但与NG

2016-05-20 17:47:56 16697 3

转载 [Unity实战]自定义mesh

本文转载自:http://blog.csdn.net/lyh916/article/details/45717571参考链接:http://blog.csdn.net/zuoyamin/article/details/9287507对于自定义mesh,有三点很重要:1.顶点个数=三角形数+2;三角形顶点数=3*三角形数2.顶点创建的顺序最好是顺时

2016-05-17 16:30:14 1048

转载 Unity协程(Coroutine)原理深入剖析

本文装载自:http.dsqiu.iteye.com        记得去年6月份刚开始实习的时候,当时要我写网络层的结构,用到了协程,当时有点懵,完全不知道Unity协程的执行机制是怎么样的,只是知道函数的返回值是IEnumerator类型,函数中使用yield return ,就可以通过StartCoroutine调用了。后来也是一直稀里糊涂地用,上网google些基本都是例子,很

2016-05-16 14:33:39 328

转载 UGUI研究院之SpritePacker打包参数(四)

本文固定链接: http://www.xuanyusong.com/archives/3315雨松MOMO 2014年10月26日 于 雨松MOMO程序研究院 发表上篇文章说了UGUI上图集的使用,这一篇继续看看SpritePacker怎么打包图集。我觉得我们有必要对比一下NGUI的图集,NGUI在打包图集的时候图集的默认格式是RGBA32,也就是支持带透明通道的图片,这样一张10

2016-05-16 14:04:42 912

转载 UGUI研究院之全面理解图集与使用(三)

本文固定链接: http://www.xuanyusong.com/archives/3304 雨松MOMO 2014年10月24日 于 雨松MOMO程序研究院 发表UGUI的图集打包与工作原理,整整看了一天多,终于看明白了~晕~还是记录一下我研究的成果,也希望大家在下面给我留言我们一起讨论一下。先说说UGUI的Atlas和NGUI的Atlas的区别,NGUI是必须先打出图

2016-05-16 14:02:19 440

转载 Unity uGui RawImage 渲染小地图

本文章装载自:http://www.mamicode.com/info-detail-513785.html制作类似 RPG 游戏时,可能会需要显示小地图。小地图的制作一种方式是用另一个摄像机来渲染到一张纹理上,实时显示到UI界面。以Unity 5.0 的 UI 系统为例:在地图正上方放置一个摄像机,设置其 Culling Mask,比如:Ground(地面)、Minima

2016-05-16 13:56:51 847

转载 UGUI源码学习之一(UI坐标系统)

本文章装载字:http://mp.weixin.qq.com/s?__biz=MzAxMDcxOTkxNQ==&idx=1&mid=402542189&sn=682dee9056d5059d5c17edd4e6865295我们先从一个实际的需求出发。 需求描述:3D游戏中的怪物死亡会随机掉落一个宝箱,当有宝箱掉落时需要实现一个 UI 宝箱效果,从怪物当时所在的屏幕坐标处飞到游戏的宝

2016-05-13 18:46:13 1833

转载 基于unity的飞行模拟设计

使用unity开发游戏真是非常方便。研究飞行模拟也有一段时日,尝试过物理和数学模拟。从效果上来看,物理模拟较为真实一点。但是操作不好。数学模拟的话,虽然牺牲了飞行效果,操控是非常方便的。  所谓的数学模拟,就是位移模拟,通过定义起飞速度,加速度等,模拟飞机的飞行过程,包括转向,飞行坠落等。  来看一下飞机的飞行状态:在地面上,飞机达到起飞速度时,可以拉起飞机,否则,一直在地面上;在

2016-04-29 10:47:44 7137

转载 unity发射弓箭轨迹的实现

无论是愤怒的小鸟,还是弓箭发射功能,亦或者模拟炮弹受重力影响等抛物线轨迹,都可以使用本文的方法,模拟绝对真实。和往常一样,先说原理。就是抛物运动,在垂直方向上做加速度运动,在水平方向上,做匀速运动。在unity上的具体实现为,使用transform进行位移模拟。至于为何不使用刚体的物理模拟,大家自行脑补或者测试。那么如何使用transform模拟呢?让物体同时在两个方向产生

2016-04-29 10:45:13 1261

原创 负数取模

在编程当中难免会用模来写一些算法,其实模就是一个数除以另一个数的余数,但是在不同的编程语言中取模得到的值会不同,比如-3%5在c/java/c#中值是-3,在lua/pyhton中值是2;这是为什么呢?原因是他们除法截尾的方式不同:一种是趋零截尾,一种是趋负无穷截尾;比如在c中取模值的过程是这样的:-3%5=-3 - (-3/5)*5 = -3 - 0*5 = - 3;这种就是用趋零截尾的除法

2016-04-27 11:08:14 1004

转载 unity所有特殊文件夹的用途

这里列举出手游开发中用到了所有特殊文件夹。1.EditorEditor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor  和 /Editor 是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放

2016-03-27 13:36:57 517

转载 Unity3D实现动态加载游戏资源

转载:http://blog.sina.com.cn/s/blog_6ad33d3501011s9l.html        在flash时代,资源的动态加载非常的普遍,主要是受限于网速的快慢,我们在用unity3d制作在线项目的时候,不可避免的要考虑到优化加载的问题,这篇文章算是比较好的经验之谈了,转来大家看看!用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态

2016-03-15 18:55:17 1141

转载 assetbundle 坑爹总结

转自:http://www.cnblogs.com/wonderKK/p/4266680.html一、关于依赖打包1、当一个被打包的资源A引用了其他的资源B,并且没有被打成一个包时,要选用【BuildAssetBundleOptions.CollectDependencies 收集依赖关系】或者【BuildAssetBundleOptions.CompleteAssets 完整

2016-03-15 15:17:58 846

转载 Unity AssetBundle爬坑手记

转自:http://www.cnblogs.com/ybgame/p/3973177.html这篇文章从AssetBundle的打包,使用,管理以及内存占用各个方面进行了比较全面的分析,对AssetBundle使用过程中的一些坑进行填补指引以及喷! AssetBundle是Unity推荐的资源管理方式,官方列举了诸如热更新,压缩,灵活等等优点,但AssetBundle的坑是非常深的

2016-03-15 15:06:06 345

原创 NGUI DrawCall优化

上一篇博客主要是简单的介绍了下NGUI合并DrawCall的基本原理,就是将一个UIPanel里所有的UIWidget按照Depth的大小进行排序,然后遍历排序后的UIWidget列表,将Depth相邻的并且懂事引用同一个Atlas的UIWidget的几何数据存入到一个UIGeometry中然后统一由一个UIDrawCall来调用GPU绘制。那么知道了NGUI DrawCall 的基本原理 我

2016-03-11 23:32:48 2030

原创 NGUI Drall原理分析

要想 理解NGUI Drall的原理,首先要理解UIPanel、UIWidget、UIDrawCall、UIGeometry之间的关系。1、所有的UIWidget都需要一个UIPanel来管理和绘制;2、每个UIWidget都有一个UIGeometry,UIGeometry就是对UIWidget的顶点vertices,uvs和color进行存储和更新,UIGeometry完全由UIWidg

2016-03-10 23:52:37 1030

转载 【风宇冲】Unity3D性能优化:DrawCall优化

DrawCall优化转载自风宇冲Unity3D教程学院一 Mesh Renderer二 Skinned Mesh Renderer三 合并要求对比四 总结五 场景制作建议 DrawCall优化合并,即DrawCall Batching. 通过减少Draw call数 和对显卡性能的消耗来提高性能。一 Mesh Rend

2016-03-10 17:41:52 603

原创 Unity不规则碰撞

在项目中UI不规则碰撞遇到很少,Unity中也有不规则的碰撞组件(Polygon Collider 2D)但是这种组件只能接受2D射线碰撞,而NGUI的是3D射线碰撞,需要在UICamera中修改代码才能实现。 这篇文章讲的不是这种碰撞,我要说的的方法不用修改代码,步骤如下:1、让美术个你要的形状面片这个就是我美术帮我做的扇形面片2、然后再在面片上添加Mesh Collid

2016-01-05 20:46:56 7296

原创 UIScrollView源码分析(一)

简单介绍了UIScrollView滑动的实现

2015-12-20 10:36:24 1008

Unity GUI源码

UGUI源码 C#工程

2016-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除