自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Unity】运用CommandBuffer实现发光特效

首先看下效果: 我们想要实现以下效果:首先确定实现的思路:1、将发光物体单独绘制一遍,并计算在环境中的遮挡,剔除被遮挡的像素,保存绘制后的纹理。2、将发光物体单独绘制后的纹理,添加模糊效果,并向外扩散。3、将模糊处理后的纹理,与相机渲染的纹理进行叠加,形成最终的效果。首先我们看第一步:如何将发光的物体单独绘制一遍并保存纹理?这时候就用到Unity中的CommandBuffer了。CommandBuffer可以简单理解为:创建一系列渲染指令,然后在某个阶段执行这些渲染指令。网上有很多相关的教程和案例,在这就不

2022-07-03 22:05:50 2086

原创 【渲染】Unity制作暴风眼效果

前段时间偶然在短视频app上看到一个暴风眼的壁纸,恰巧那段时间在学习体积云,于是便有了运用体积云方案制作一个暴风眼效果的想法。效果如下:该效果以体积云为基础实现,但本文不会对体积云的实现进行太多的讲解,如果你需要了解体积云,可以看我之前翻译的一篇体积云的文章:《GPU Pro7——实时体积云》。第一步:确定云的边界,暴风是一个圆柱形状,我们的视角是在圆柱内部,所以我们先用复制过来的代码做个射线与圆柱的碰撞检测:第二步:确定云采样函数,该函数采用体积云文章中的方式。我们将对该采样函数进行以下修改:1:重

2022-06-05 17:04:54 739

翻译 GPU Pro 7——实时体积云(翻译,附Unity工程)

4.1 概述游戏中的实时体积云通常为了提高渲染效率而降低质量。最成功的方法仅限于低空蓬松半透明的层状云。我们提出了一种体积解决方案,可以使用不断变化并且逼真的结果填充天空,来描绘高海拔卷云和所有主要的底层云类型,包括厚厚的、像波浪一样翻滚的积云。​在《Horizon:Zero Dawn》中实时绘制的几个云景此外,我们的方法近似于实现了几种实时云渲染中尚未出现过的体积光照效果。最后,我们的这种解决方案在内存和GPU的消耗上足够低,可以运用在3A主机游戏中。4.2 介绍...

2022-04-03 18:24:31 3880

原创 【Android】问题记录

1、Unable to add window android.view.ViewRootImpl$W@5e454e3 -- permission denie解决:对于非系统应用,此常量在API级别26中已弃用.使用TYPE_APPLICATION_OVERLAY代替.android.view.WindowManager $ BadTokenException:无法添加窗口android.view.ViewRootImpl$W@c745883-权限被拒绝 - IT屋-程序员软件开发技术分享社区...

2021-11-24 17:54:08 1845

原创 【Unity】【Android】问题记录

将下面的内容加入到strings.xml文件中<string name="game_view_content_description">Game view</string>

2021-11-23 10:43:17 6598

原创 【Unity】Shader问题记录

1、精度导致的问题:问题表现:经过时间越长,通过uv采样就会有跳跃(卡顿)感。方法:从half变为float之后,该问题消失

2021-11-19 14:11:50 2895

原创 【Android】【Unity】切换导航栏、状态栏显示与隐藏

显示和隐藏导航栏: @Override public void onClick(View v) { switch (v.getId()) { case R.id.show: //StartUnity(); mUnityPlayer.resume(); mUnityPlayer.setSystemUiVisibility(//隐藏导航栏 ..

2021-11-05 15:05:28 4230

原创 【Unity】一文看懂编辑器扩展(持续更新)

unity提供的编辑器扩展文档其实相对较少,而且涉及到的类很多,经常会搞得开发者一头雾水,无从下手。但是只需要对这些功能进行分类、多看API,就可以快速了解unity提供的编辑器功能。本文为个人在编辑器扩展开发中总结的知识点,了解以下这些知识,编辑器扩展开发将不再犯难。编辑器扩展中重要的几个类(本文只列举个人经常用到的类):Editor、EditorWindow、EditorGUI、EditorGUILayout、GUI、GUILayout、EditorGUIUtility、EditorUtilit

2021-02-20 10:53:17 2228

原创 【Unity】编辑器扩展之——TreeView

官方手册:https://docs.unity3d.com/Manual/TreeViewAPI.htmlUnity中的TreeView可以实现这样的效果:或者这样的效果:TreeView可以实现hierarchy面板效果,元素可以进行点击、双击、重命名、拖拽、展开收起等效果(可以查看对应api)。使用treeview,大概的结构如下:使用中的注意点:1、每行绘制函数: protected override void RowGUI(RowGUIArgs args)..

2021-01-21 17:26:05 3092

原创 【Unity】AR开发踩坑记录,持续更新...

这篇文章主要针对AR项目中遇到的问题做一个记录,也希望可以帮助大家在开发中少踩坑,会持续更新。开发工具:Unity 2018.4,unity ARFoundation目标:与另一个unity项目一起整合到iOS和Android 原生APP中。一、包体优化1、删除不必要的代码2、删除不需要的模块3、iOS脚本剔除会误删代码,导致运行时报错,使用link.xml可以标记哪些脚本不会被剔除4、Android设置中的目标架构只勾选一个ARMv7,不必选择x86,目前市场上主流的手机都是A

2020-09-02 14:26:41 567

原创 【游戏算法】2D游戏中聚光灯效果

前言前几日在游戏技术群里吹水时,有个人问了下面图片中的效果怎么做当时我就觉得这个效果应该不难,研究了一段时间后,便在Unity里完成了2D聚光灯的效果,闲言少叙,先上图!思路首先可以确定的是,这个效果肯定是要结合碰撞体去做的,从光源点发射射线去检测碰撞,再将碰撞点整合成一个网格面片,就可以做出聚光灯效果。问题就在于怎么去检测碰撞..................................最初想法我最初的想法是:光源点...

2020-08-27 16:46:59 645

原创 【cocos creator】新手引导的实现思路

这篇文章只写了简单的新手引导,就是点击按钮等操作,未涉及复杂的游戏操作。设计新手引导,最让人头疼的地方就是如何在不修改正常游戏逻辑的情况下,让玩家按设计好的步骤去进行操作。首先确定几点要求:1、在进行引导的时候,要确保用户不会进行其它的操作,以免打乱引导逻辑。2、不可以因为加入新手引导而去修改游戏的逻辑。这时候,就需要新手引导模块去监听游戏中的事件,并且屏蔽掉其它用户操作。例如:第一步是点击“游戏开始”按钮,这时,我们就需要去监听“游戏开始”按钮的点击事件来确定第一步是否完成,同时用遮罩把“

2020-07-21 16:25:03 2109 1

原创 【Unity】ViewportPointToRay和ScreenPointToRay的区别

最简单的辨别方法就是:ScreenPointToRay:根据屏幕上的坐标点(范围是0~屏幕尺寸)获得射线ViewportPointToRay:根据视口的上的一个坐标(范围是0~1)获得射线以下这两段代码效果是相同的:void Update(){ var ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width, Screen.height)*0.5f); Debug.DrawLine(ray.origin, r

2020-07-21 11:38:19 4100

原创 【Unity】对象池设计

对象池模式,本质就是循环利用对象,需要使用时从池子里拿出来,不需要使用时放入到池子里而不是直接删除。Unity开发中,经常会出现频繁地删除和创建物体的情况,对象池模式可以极大地提高性能。网上关于对象池的设计也有很多,这里介绍一下我设计的对象池的特点:1、采用泛型,可以创建不同类型的对象池。2、可以自定义放入对象、拿出对象的回调。3、实例化完全在对象池类中实现,方便快捷。使用示例:初始化对象池: public LineRenderer lineRenderer;

2020-05-19 18:10:44 253

原创 【Unity C#】OpenDRIVE中线条的实现

最近在做地图相关的项目,研究了一下OpenDRIVE,这篇文章主要记录了OpenDRIVE中的几类线条的实现,分享给大家,希望对大家有所帮助。OpenDRIVE中主要的线条有以下几种:直线(line) 弧线(arc) 螺旋线(spiral)只要有这三类线条便可以画出路的引用线(reference line)。先看一下在Unity中的效果(所用案例地址):官方案例unity中还原出的路线首先根据OpenDRIVE官方文档提供的数据格式,创建出各种线条的类。文档中所有线条都继承自geo

2020-05-19 14:46:14 1815 1

原创 【Unity】运用协程设计任务执行队列

在开发的时候,经常会遇到按照顺序执行一些任务的情况,但是其中一些任务必需满足一定条件后才能执行下一个任务,例如进入游戏后需要依次执行检查资源(等待与服务器对比完成)、下载资源(等待下载完成)、加载资源(等待加载完成)、初始化、进入游戏这几个方法,这个时候就容易逻辑混乱和写出一些臃肿的代码。于是我针对这个情况写了一个任务执行队列功能。思路是将每个需要执行的方法都封装为一个IEnumerator,...

2019-12-19 17:52:21 1996 6

原创 Ml agent爬坑记录——训练时效果好,使用训练出的模型效果差

按照官方的教程安装了所有环节,所有步骤都按照教程去做,训练到最后,看了一下效果,确实不错,结果使用训练出的模型效果却很差。解决办法:把python升级到最新(发布该文章时使用的是3.7),把TensorFlow升级到1.14.0(发布该文章时,这个版本没有问题)...

2019-11-01 15:24:11 793

OpenDRIVE 完整数据定义 c#版

OpenDRIVE高精地图的数据格式在c#中的定义,可以直接将XML格式的数据转换为C#类。每个数据定义都是一个类,版本是1.4版的。注:未定义枚举等,只按照文档中给的数据格式进行了定义。

2020-05-13

空空如也

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

TA关注的人

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