Unity
漫步云巅Kim
就是想不那么平凡。
展开
-
从零开始Addressables+ILRuntime热更框架一
Unity Addressables+ILRuntime热更新框架搭建一套完整的热更新框架原创 2022-06-09 22:46:09 · 988 阅读 · 1 评论 -
Unity内使用TextMeshPro
TextMeshPro支持多种格式的标签,支持表情,支持动态表情,支持超链接点击0.动态字体生成新版本的TextMeshPro已经支持动态字体库生成,像中文日文韩语这些,不需要再像以前那样把整个字体库生成,这样会占用很多内存测试新生成的空动态字体在8k左右,测试3500个汉字都能够正常显示1.TextMeshProUGUI文本框,支持标签如下且不仅限于表情<sprite=1>字体大小<size=30>大小字体颜色<color=#FFFFFF>白色.原创 2022-01-11 23:41:59 · 6481 阅读 · 0 评论 -
Unity动画匹配MatchTarget,让你的模型跳到高山之巅!
在Unity实现爬墙效果,基于Animator.MatchTarget实现人物跳跃效果。原创 2021-09-09 22:52:08 · 3838 阅读 · 7 评论 -
上班划水,给女朋友做个猜数字游戏
上班划水的时候无意中看到了这篇文章 编程学累了?不妨写个小游戏和女朋友一起嗨起来~~作为一个有女朋友的程序员,自己也试着用Unity实现一下,带有界面的游戏,女朋友应该喜欢玩,哈哈哈猜数字游戏,主要原理就是生成一个随机数,猜对或者猜错给予对应的提示,之前给女朋友讲过利用二分法来猜,这样可以快速猜到想要的数字,刚好在这里实践一下。一、游戏主界面标题游戏的最终界面,精心准备了各种提示,让女朋友马上就能上手!本游戏全程用unity开发输入框这里设置的类型要数字主要代码: //生成随原创 2021-08-27 18:03:05 · 4307 阅读 · 13 评论 -
Unity支持GIF,零卡顿,秒解码
原创 2021-06-05 21:06:06 · 2430 阅读 · 3 评论 -
Unity编辑器添加模型动画Event事件
最近有个需求要根据动画中的事件调用脚本中的功能,完成一些特效音效,技能音效等播放功能。一、AnimationClip添加动画Event的方法一个AnimationClip添加事件非常简单,只需在编辑其中双击这个文件,或者使用快捷键Ctrl+6,即可打开动画编辑。打开的动画编辑窗口,在需要的位置右键或者点击图中按钮即可。二、.Fbx动画模型添加Event方法在当前经手的项目中,动画文件基本都是从Maya中导出的.fbx文件,这时使用上述方法是不可行的,因为这个文件下的Clip文件是只读的因.原创 2020-10-21 20:31:50 · 1814 阅读 · 1 评论 -
Unity中初步使用Navmesh寻路系统
效果demo:一、新建测试场景测试场景:新建空Navmesh作为路径的容器二、设置导航路径在可以通过的物体上勾选Navigation Static,代表参与到导航的烘焙。三、设置某些不可走的地方四、添加小人,挂上NavMeshAgent组件五、利用这个组件控制小人的移动using UnityEngine;using UnityEngine.AI;public class NavmeshController : MonoBehaviour{原创 2020-07-06 15:53:58 · 2172 阅读 · 4 评论 -
Unity 右键快捷进行SVN操作
原因Unity 项目使用 SVN 进行版本管理,每当需要更新或提交文件的时候,都需要切换到 Windows 资源管理器,进入项目文件夹里面进行 SVN 操作,非常繁琐。方法直接集成 SVN 操作到 Unity 里面,在 Project 视图里,实现右键快捷进行 SVN 操作。使用的是 TortoiseSVN 提供的命令行方式,详细参数说明可以查看:https:...转载 2020-06-30 11:52:29 · 304 阅读 · 1 评论 -
Unity判断是否点击到UI上,获得具体UI物体
项目中有个点击空白处收起一些操作菜单的需求,以前在NGUI的做法是添加一个不带图片的BoxCollider,然后判断是否点击在这个碰撞盒,UGUI下也可以使用类似的方法,添加一个空的Empty4Raycast来判断点击。本文是在UGUI下,利用EventSystem和射线检测来过滤ui区域,从而实现点击空白事件。一、EventSystem判断是否点击uiUnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject().原创 2020-06-28 15:33:56 · 13438 阅读 · 9 评论 -
撤销与重做?我用命令模式和lua实现了此功能。
一、命令模式二、原理三、案例四、用lua的实现原创 2020-06-23 15:42:14 · 464 阅读 · 0 评论 -
Unity UGUI图片拖拽与区域限制
实现ui跟随鼠标移动,放开后进行交互,限制移动区域等原创 2020-06-11 15:30:36 · 3371 阅读 · 2 评论 -
Unity将数据保存到csv文件中
游戏中的数据持久化可以使用csv来保存。csv是一种以逗号为分隔符的文本文件,可以直接用excel打开,或者转换成excel,并且使用excel的操作。所以,在c#中可以使用流写入,将需要写入的数据用逗号拼接好。路径方面,一般使用Application.persistentDataPath,方便查看文件。关于文件存储路径的说明:Unity资源存放与加载-本地资源 更新资源 存放路径与注意事项public void WriteCsv(string[] strs, string p.原创 2020-05-12 16:44:12 · 3491 阅读 · 0 评论 -
Unity动画关键帧与曲线操作
在项目开发中,动画的编辑一般由美术完成,他们会输出一个.anim的文件。其实.anim文件实际上由一系列的关键帧组成,可以对这些关键帧进行操作,达到一定的目的。本文章介绍实现将曲线变换形状,值偏移,时间偏移,上下、左右翻转。目录一、获取一个动画文件上的所有曲线1.获得动画文件的bind属性2.通过bind属性获得曲线3.拿到曲线后获得关键帧4.操作关键帧后,创建新的曲线5.通过bind属性,将对应的新曲线应用回去,或者应用到新的动画文件,最后保存刷新资源二、关键帧.原创 2020-05-09 19:59:16 · 6432 阅读 · 8 评论 -
Unity利用UGUI绘制多边形实现属性图
游戏开发中,角色具备有多种属性,一般呈现成一个如下图的多边形属性图。一、效果图二、展示效果可以调整边数,调整每个点的数值。三、实现原理查看UGUI的代码可以得知,绘制ui图的方法其实是绘制mesh,然后对其进行填充。正常一个Image图片,绘制有四个顶点。为了实现多边形,继承于MaskableGraphic,重写OnPopulateMesh,重新绘制顶点。四、放...原创 2020-05-06 19:07:58 · 4471 阅读 · 8 评论 -
Unity去除项目中Default-Material
项目中的预制件或者模型文件,去除不必要的依赖Default-Material。一、什么是Default-MaterialDefault-Material是Unity内置的材质,并且依赖Standard Shader。如果一个物体依赖了这个材质,在场景中是会显示成紫色方块,并且在打包的时候编译shader非常耗时,并且会造成大量的冗余。所有这完全是一个没要必要引用的东西,可以使用...原创 2020-04-24 11:41:51 · 5689 阅读 · 0 评论 -
Unity总结整理编辑器常用接口
整理一下在写Unity编辑器时经常需要用到的接口。一、Selection 获得Project面板下选中的信息二、Directory 获得路径下的文件或文件夹信息三、AssetDatabase 获得资源相关信息四、File 文件操作五、EditorUtility、GUILayout编辑器布局...原创 2020-04-23 19:22:04 · 1604 阅读 · 0 评论 -
Unity遇坑记之 ab包卸载失败
ab包卸载报错导致卸载不了。Assertion failed on expression: 'm_PreventLoadingFromFile != nameSpaceID'UnloadAssetBundle failed出现截图内容,官方解释https://answers.unity.com/questions/1117351/unloadassetbundle-failed...原创 2020-04-21 17:01:07 · 1357 阅读 · 0 评论 -
Unity 一键替换场景中的物体
实现场景中批量替换预制体的编辑器功能。一、关键apiPrefabUtility.InstantiatePrefab 将预设实例化到场景中,与GameObject.Instantiate不同,它是以预设实例的。二、工具截图三、使用方法在Project中拖拽预设到工具中打开需要操作的场景,可以多选需要替换的物体,或者输入需要替换的名字修改完成后保存场景四、代码...原创 2020-04-08 11:07:58 · 5798 阅读 · 6 评论 -
tolua之wrap文件的原理与使用
#转载出处 tolua之wrap文件的原理与使用 [https://www.cnblogs.com/blueberryzzz/p/9672342.html](https://www.cnblogs.com/blueberryzzz/p/9672342.html) 什么是wrap文件每个wrap文件都是对一个c#类的包装,在lua中,通过对wrap类中的函数调用,间接的对c#实例进行操作...转载 2019-12-17 15:54:49 · 390 阅读 · 0 评论 -
Untiy中控制Animation的播放速度
Unity组件里面的Animation是可以控制播放速度的,通过调整AnimationState的speed属性即可更改某个动画的速度。在实际需求中,可以通过改变动画速度来更快地打开一个奖励或者过场等等,这样可以让用户减少等待时间,提升体验感。官方也给出了相关的控制接口https://docs.unity3d.com/ScriptReference/Animation.htmlsp...原创 2019-10-24 10:42:12 · 36594 阅读 · 2 评论 -
Unity中使用UnityWebRequest进行网络和本地图片加载
在实际项目中,往往会有一些需求是要从网络上加载图片展示出来。例如玩家的头像,公告大图和一些需要加载的展示的图片,这时就需要用代码实现从网络上加载必要的图片资源。更新迭代版本的Unity已经在逐步放弃对WWW的支持,推出UnityWebRequest,详见Unity资源存放与加载-本地资源 更新资源。UnityWebRequest同时也支持AssetsBundle,xml等文件资源的下载...原创 2019-10-22 14:53:58 · 10486 阅读 · 5 评论 -
Unity遇坑记之 安卓包内打开apk覆盖更新(读取应用数据的方法)
适配安卓7.0以上,java层读取应用数据目录下的方法;安卓8.0以上,添加应用允许安装未知来源apk的权限。最近各大市场开始要求将安卓的api等级设置成28,即需要我们开发者完成适配。对于unity这种非纯安卓的app,涉及到的升级改动可以说非常的少,一般只需要改改一些配置即可~好吧,升级~,把AndroidManifest.xml中的targetSdkVersion改为28~完...原创 2019-09-03 14:45:04 · 1130 阅读 · 0 评论 -
游戏流程与底层实现 逐步完成
http://naotu.baidu.com/file/99f3bc1bbf0a8c9bf32bb6853b2b1dbb?token=854be96620bee55e原创 2019-09-03 11:26:28 · 208 阅读 · 0 评论 -
Unity资源存放与加载-本地资源 更新资源 存放路径与注意事项
介绍Unity中资源加载的几种方法,资源读取的目录,资源存放的目录,资源更新的目录等相关问题。资源加载的方式:1、直接拖到组件上,最简单的方法。2、Resources.Load(),在Resources目录下的资源直接使用此方法加载,适合放置一些程序会一直使用的配置表等等。这个文件下的资源会在程序启动闪屏的时候会进行加载,所以不需要优先加载的资源一般不放到这个目录下,这个会影响app的...原创 2019-06-03 14:48:34 · 5427 阅读 · 0 评论 -
Unity遇坑记之 http请求
今天有个渠道的测试在群里发了一张截图,说大图公告加载不出来,我一看那还得了,这是我开发的内容。赶紧找了台机子测试,然而什么毛病都没有,可以正常加载显示。我就在想,这会不会又是那种适配的问题(之前遇到过,包内打开apk进行整包覆盖更新打不开的问题,详细看另外一篇~),我手上的小米测试机都已经是Android8.0的了,正常显示没问题,看了日志也看不出所以然。吃完晚饭回来,策划拿着他那台华...原创 2019-08-27 20:29:05 · 574 阅读 · 0 评论