随笔分类 - Unity
摘要:这边将导出项目在最新的Android Studio(Meerkat | 2024.3.1)下编译,由于Unity2019导出的项目配置比较老,所以需要对gradle配置做相关调整。 1、导出 菜单 -> File -> Build Settings 选择导出文件夹,导出成功后 2、用Android
阅读全文
摘要:下图中Rotation.z的前4个关键帧[0, 3](即15帧, 30帧, 45帧, 60帧),值都没变; (3, 4)Rotation.z变为60(即61帧到90帧); 后3个关键帧[5, 7]一直维持在60没变。 可以分析下:前4个关键帧,[1, 2]删除对动画没影响,后3个关键帧[5, 7]删
阅读全文
摘要:曲线在unity下如何绘制? 类似绘制圆,是用一段一段的线段拼接来模拟的,这边也是类似,可以用一段一段的线段来模拟曲线。 既然要模拟,那我们也得知道贝塞尔曲线的公式才行。 一般用的比较多的就是3次贝塞尔曲线,该曲线由起点p1,p1的控制点c1,终点p2,p2的控制点c2组成。 公式为:p = p1*
阅读全文
摘要:效果 就是第1行绘制了一个工具栏,高度为17; 然后绘制了一个窗口分隔条,左侧用于放轨道,右侧用于放轨道片段,分隔条可以在一定范围内拖动。 public class MyTimelineWnd : EditorWindow { [MenuItem("MyTools/MyTimelineWnd", f
阅读全文
摘要:用途:列出动画的第1帧与预制体GameObject当前值不同的,需要同步的可以手动同步 效果图 public struct ValueNotSameItem { public EditorCurveBinding curveBinding; //关联参数 public AnimationCurve
阅读全文
摘要:效果图 用途:界面动效已经由动效同事做完(假设k了100帧),然后UI同事又把一些节点的位置做了10px的调整。此时一帧一帧去手动改,费事费力还可能出错。 这个工具的用途就是:对相关节点的所有关键帧批量做偏移。 public class AnimClipEditWnd : EditorWindow
阅读全文
摘要:public static float TrimFloat(float f) { int i = (int)(f * 1000); float result = i / 1000.0f; return result; } public static AnimationCurve CloneAnimC
阅读全文
摘要:1,关键帧数据都保存在AnimationCurve上,所以首先要获取到这个 public static AnimationCurve GetAnimCurve(AnimationClip clip, string path, string propName) { EditorCurveBinding
阅读全文
摘要:Bevel:斜面效果 Type: Outer Bevel: 外斜面,从边缘向上凸,当中平的; Inner Bevel: 内斜面,从斜面开始绘制位置向下凹 amount: 斜面明显程度,默认0.5 对于三,它的斜面宽度差不多是字符笔画宽度的0.26,当把width设置成-0.23时,就可以看到斜面的开
阅读全文
摘要:有点类似photoshop中的图层样式,利用好也能制作出不错的艺术字效果。 Face: 文字外观 color: 文字颜色 softness: 羽化程度 dilate: 外扩(变粗)或内收(变细) Texture: 贴图填充在字形内 Speed X: 贴图在x方向移动 Outline: 居中描边 co
阅读全文
摘要:1、首先要有一张包含了图片字的图集,每个图片字一个Spirte 2、然后右键 -> 创建 创建好的TMP_Sprite Asset 3、编辑Sprite Character Table 调整顺序,将index和图片数字对上 修改下Unicode值(默认都是0xFFFE),比如9的Unicode为0x
阅读全文
摘要:初始文本 粗体<b></b> 斜体<i></i> 颜色<#ff0000></color> 大小<size></size> <size=60%>中</size> <size=1.2em>中</size> 下划线<u></u> 删除线<s></s> 一个嵌套使用的例子: <b><#ff0000>01</
阅读全文
摘要:选中字体资源,就可以对字体进行参数的设置了 注意:TextMeshPro也是和BMFont一样,需要在运行前把所有会用到的字符生成在贴图上的,是不支持在运行时实时的生成。 Face Info 这边一般不需要动,会根据不同的ttf字体而变化。 红色框部分是文字的常规参数。 蓝色框是删除线和下划线相关的
阅读全文
摘要:1 选中字体文件(这边使用了华文行楷),然后创建Font Asset 创建后会生成一个TMP用的字体资源 2,创建一个TextMeshPro的Text 将字体资源设置为刚刚创建的那个,就可以开始使用了 3,粗体,斜体,下划线,删除线,文字颜色设置 4,字符间距,单词间距,行间距,段落间距的控制 5,
阅读全文
摘要:已经有ugui Text了,为什么还要再来个TextMeshPro? 1) TextMeshPro使用了更先进的渲染技术,渲染效果更好。 同样的36号斜体字在Scene窗口中,我们放大后,Text可以明显的看到锯齿,而TextMeshPro字体的边缘还是圆润光滑。 2) TextMeshPro默认支
阅读全文
摘要:这个仅仅是修改fnt,不负责从fnt生成unity字体文件。 fnt生成字体文件看这边:ugui位图字体使用 - fnt生成fontsettings工具 效果 工具代码 public class FntEditTool : EditorWindow { [MenuItem("MyTools/Fnt
阅读全文
摘要:fnt文件生成unity字体的原理其实就是渲染图集Atlas上的Sprite,这边直接利用Unity自带的图集工具生成fnt文件 注意:这里生成的fnt文件还没法直接用,因为没有关联字符,这个工具只是第1步,第2步要用Fnt编辑工具关联字符:Fnt文件编辑工具 效果 public class Spr
阅读全文
摘要:public class SpriteAtlasExportTool : EditorWindow { const string MenuItemPath_ExportSelectSpriteAtlas = "MyTools/Export Select SpriteAtlas"; [MenuItem
阅读全文
摘要:如果NuGetForUnity网络访问不了或者下载速度非常慢,导致无法正常使用,那可以试试下面的方法。 1) 先用vs的NuGet包管理器下载,vs下貌似没遇到网络问题,下载很快 注意,vs不是下载在Unity的Assets文件夹下的,而是和他同层级,所以此时Unity并不会加载所下载的dll文件的
阅读全文
摘要:1) ReferenceEquals: 仅会比较两者的引用 2) ==: 没有重载操作符就是比较引用,否则就是重载后的行为,比如System.String是先比较引用,再比较内容。 那是不是和null比较,Object.ReferenceEquals(inst, null)更好一点?因为他不会触发额
阅读全文