xdedzl的博客
  • Home
  • Archives
  • About

【XFramework】—— 介绍

这是一个轻量级的Unity开发框架,包含了Entity,FSM,Graphics,Pool,Messenger,Procedure,Resource,Task,Terrain等模块,另外还提供了一系列开发工具,本篇是对XFramework的一个整体介绍,后续会按照模块逐一添加文档...
 2019-08-18      XFramework 

UGUI 源码研究及扩展 :利用Graphic做UI折线图

近日项目中需要用到一些数据分析的功能,查阅资料后发现了UGUI有一个用来显示图像抽象类Graphic,另外一个用来显示可遮罩图形的MaskableGraphic就是派生自Graphic, Image,Text等组件都是派生自MaskableGraphic。利用这两个类我们可以做一些自定义组件。本文利用Graphic来做一个简易的折线图。 下图是利用这个组件分析地形高度的图片 1.Graphic  这个类是UGUI中所有的可视化组件的基类,这里定义了一个名为OnPopulateMesh的虚函数,我们的图形渲染代码就在这里编写。 2.UIVertex  UIVertex包含了顶点信息,其位置信息是以像素为单位的。 文章开头的动图上的线其实是由很多个小四边形组成的,一个小四边形由四个UIVertex组成,构建好一个UIVextex数组并赋值后,调用VertexHelper.AddUIVertexQuad(UIVertexs),将一个四边形加入渲染任务。最后要调用SetVerticesDirty()来刷新一次图像。当我们的数据发生变化的时候,也要调
 2019-07-24      UGUI 

项目展示

包括运行时Dem地形生成和地形编辑,匣的早期演示视频,基于XFramwork做的一些工具...
 2019-06-04     

【Shader特效】—— 音符跳动

  之前在看B站上看到unity官方用Shader Graph做的一个模型随音乐跳动的教程,想着直接用Shader代码实现一下吧,最后实现效果如下,配合之前的烟花效果,还有点KTV的感觉。示例工程和c#脚本在Shader学习笔记 Shader代码  里面大部分代码都跟这个效果没啥关系,关键代码就两行,顶点着色器中的取随机数和顶点偏移,shader写完之后,c#脚本通过采集声音信息给shader的_Intensity赋值就可以实现上面的效果。还可以通过判断Intensity的大小来确定是否显示烟花特效。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778// 音符跳动Shader "XDEDZL/Note Bounce"{ Properties{ _Color("Color Tint
 2019-04-29      Shader 

【Shader特效】—— 爆炸,沙化

  终于可以自己写一些简单的shader特效了,今天用一个并不常用的几何着色器来做一个简单的爆炸,沙化的特效。调节shader参数之后会得到各种好玩的东西。 烟花爆炸  有初速度,加速度为负的。  这个还不是很像,可以加上重力加速度以及对各方向的加速度做随机可以让它看起来不那么圆。这个特效用的模型是Unity内置的球,更换一些奇怪的模型并调节加速度和初速度后可以得到一些意想不到的效果。 模型沙化初速度为0,加速度大于0,还是挺由意思的。 Shader代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182// 模型粒子化效果Shader "Custom/Particles"{ Properties { _MainTex ("
 2019-04-28      Shader 
Hexo Material-T