unity
文章平均质量分 62
铃兰177
蓬莱山在
展开
-
记录RWTexture在安卓真机上失效问题
在Unity ComputeShader中使用RWTexture时,计算中同读同写,且有乘法等计算。在不同的OpenGL版本上失效,在安卓真机上失效。原创 2023-02-20 10:41:39 · 592 阅读 · 0 评论 -
旧版本升级到Unity2018 Package Manager消失解决方法
最先出现这个问题是我的后处理包报错:error CS1070: The type `UnityEngine.XR.XRSettings' has been forwarded to an.....然后发现Window下的Package Manager没了。解决方法是:新建一个项目。找到Package目录下的manifest.json。复制回来覆盖出错项目同位置的文件。...原创 2022-04-25 17:11:51 · 2852 阅读 · 0 评论 -
高性能GPU渲染帧动画方案
公司项目中美术效果要求有超多观众动画参与增加环境氛围,观众有多个朝向,有多套动画,动画都为循环动画。GPU渲染帧动画方案在推论出序列帧动画是最优解决思路之后,我们着重需要考虑如何简化序列帧动画带来的CPU消耗,使用GPU直接渲染应该就是最优解。定帧解决思路1.解决传统序列帧动画可以理解为第x帧播放第y张贴图。定帧其实理解为连续几帧都播放同一张贴图。所以这里我们需要设置一个动画的序列,明确动画的排列顺序。也可能是动画不再播放,或者播快播慢,那就需要一个速度来控制动画的播放也...原创 2021-08-05 17:51:37 · 534 阅读 · 0 评论 -
Idle Human的逐渐生成效果
本文档为解析idle Human游戏中的生成效果。原效果如下:GIF1 idleHuman中的生成效果实现思路解包后,发现其在贴图中做了Alpha渐变。所以这里就有了一个逐渐变化的值。这个渐变并不是用于控制贴图的Alpha的,显而易见在Gif1中腿部的整个骨头出来后没有Alpha的渐变。所以这里在Shader中也不用设置透明队列。图1 idle human中的贴图还有一个和Alpha相关的函数就是Clip()。在片元着色器中使用Clip函数时,当参数小于0,则该..原创 2021-08-05 17:45:20 · 151 阅读 · 0 评论 -
Unity Shader 卡通水效果(不用深度信息)
文章目录效果预览具体实现采样贴图替换的深度信息合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入效果预览公司需要一个不使用深度信息,不用光照模型的水效果。具体实现参照了:卡通风格的水面效果—ToonWater https://zhuanl原创 2021-08-05 17:35:13 · 2759 阅读 · 2 评论 -
拖拽生成路径
最近看到一个游戏 Mini Motorways,研究了一下其中的路径拖拽效果。思路:通过路径点生成Mesh。在这里首先想到拖拽,我们就可以得到一系列点,点连成线,线在这里是有弧度的。所以需要曲线函数,在这里二次贝塞尔函数就适用。下面为实现中用的贝塞尔: public List<Vector3> T2Bezier(Vector3 pos1, Vector3 pos2, Vector3 pos3, int num) { List<Vector3&.原创 2021-08-05 17:23:05 · 183 阅读 · 0 评论 -
标准MIDI文件格式规范。 1.1(机翻)
0-简介本文档概述了MIDI文件的规范。 MIDI文件的目的是提供一种在相同或不同计算机上的不同程序之间交换带时间戳的MIDI数据的方法。主要设计目标之一是紧凑表示,这使其非常适合基于磁盘的文件格式,但可能不适合存储在内存中以供定序器程序快速访问。 (当读取或写入文件时,可以很容易地将其快速转换为快速访问的格式。)它不打算替代任何程序的常规文件格式,但是如果需要,可以将其用于此目的。MIDI文件包含一个或多个MIDI流,以及每个事件的时间信息。支持歌曲,音序和音轨结构,速度和拍号信息。音轨名称和其他翻译 2021-03-18 14:01:55 · 2366 阅读 · 0 评论 -
Unity——Canvas与UI物理问题解决
Canvas组件:Render Mode(渲染模式):Screen Space-Overlay:屏幕空间,位于场景之上的渲染屏幕上。摄像机的位置变化对Canvas上的UI无影响。当分辨率变化时,Canvas会随同变化。弊端:不能添加UI特效,否则当分辨率变化时会不匹配。 Screen Space-Camare:画布位于世界空间,画布放置在指定摄像机前面的给定距离处。摄像机设置会影响 UI 的外观。如果调整屏幕大小、更改分辨率或摄像机视锥体发生改变,则画布也将自动更改大小来适应此情况。 World原创 2021-03-05 17:30:55 · 926 阅读 · 0 评论 -
Unity渲染管线详解
1.UnityBuild-in渲染管线当双摄像机的时候,注意Camera中的Clear Flags 和 Depth。其中Clear Flags在摄像机在渲染时,会进行清屏的操作。选择skybox是除了天空盒都会被清除。Depth数值越小越先被渲染。层级剔除:culing mask选择被剔除的层级2.渲染队列RenderQueue 越小越先被渲染。不透明队列(RenderQueue < 2500) RenderQueue相同,按摄像机从前到后渲染。半透明队列(Re原创 2021-01-19 14:35:16 · 6649 阅读 · 1 评论 -
Unity音游插件——Koreographer基础学习
导入插件后,Create中可以新建一个Koreographer文件。其面板如下:SourceClip:音源采样,被播放的音乐SampleRate:采样率IgnoreLatencyOffset:事件延时触发,可设置数值。TempoSections:节拍样本数组SectionName:名字 StartSample:轨迹开始的节奏点(多个样本时使用) SamplesPerBeat:每一拍的长度(自规定的节奏单位) BeatsPerMeasure:每小节几拍 StartNewMeas原创 2020-12-09 13:55:40 · 3021 阅读 · 1 评论 -
Unity 游戏优化---阅读笔记
第二章 脚本策略使用Getcomponent<T>()方法最快,避免使用Getcomponent<string>。 避免在MonoBehaviour脚本文件中出现空定义,比如:空的Start()、Update()函数等。可以使用VS regex表达式搜索出空定义。(所有通用的Unity代码编辑工具都可)。 要达到60FPS,每帧应在16.667毫秒内完成所有Update()回调中的所有工作。而在Update()中,常见的性能问题:反复计算很少或从不改变的值 太多的组件计.原创 2020-09-03 11:51:13 · 163 阅读 · 0 评论 -
掌控你的Unity面板系列——编辑Inspector面板可视化
有时候我们需要将一些数据在Inspector显示或隐藏。有三种方法可以帮助我们。1.用public/private声明变量注意下图,其中static和const常量是没有显示出来的。private声明的变量也没显示。这种方法不推荐,因为定义public和private的目的不应该是用于序列化hhhh。2.SerializeField和HideInInspector凡是显示在Inspector 中的属性都同时具有Serialize功能。使用SerializeField可以让一些原创 2020-09-03 11:49:49 · 611 阅读 · 0 评论 -
Tencent / InjectFix热更新学习——官方Demo的学习
下载地址:https://github.com/Tencent/InjectFix1.右键->编辑。修改成你的unity安装目录(Editor文件夹的上级目录)。保存运行没有提示系统找不到指定的路径就成功了。先根据文档(Doc文件夹下)学习下官方的Demo。2.找到Helloworld里的修改成正确的代码,取消掉[Patch]的注释。3.执行"InjectFix/Fix"菜单,在项目根目录下找到Assembly-CSharp.patch.bytes文件,这就是补丁文件。原创 2020-07-27 11:31:18 · 442 阅读 · 0 评论