白泽图

  • 文章
    • Unity渲染
    • Unity项目开发
    • 工具
    • 数学
    • 算法
    • 网站搭建
    • 网络&操作系统
蒋程个人博客
互联网技术经验总结&分享
Unity项目开发

Unity Animator实现同一个动作重复打断播放

最近发现一个动作播放的细节问题,策划在技能编辑器中配置了在极短的时间中连续造成伤害的技能,间隔时间比受击动作时间还要短,这就意味着播放同一个动作(受击)时,需要打断之前的播放,注意,我这里说的是同一个动作的打断,并不是同一个动作的播放 经测试,在Animator中同一个状态在播放过程中无法再次播放自己,只有切到其他状态,再切回来这一个方法,但显然这样会导致结果并不是我们想要的,那么如果将两个状态设置成一样动作,然后在这两个状态之间来回切换呢?答案是可以的 于是这里又出现另一个问题,项目已经到后期了,让美术同学把每个…

2021-05-10 2条评论 3667点热度 0人点赞 蒋程 阅读全文
Unity项目开发

Unity坐标转换

在Unity中经常用到本地坐标(相对坐标)与世界坐标的转换,比如在开发某些UI组件时,本文整理了相关转换接口 测试层级如下图: 测试代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; public class JCTest_Trans : MonoBehaviour { public Transform mTestPoint; void Start() { //本地坐标(相对于Point_Paren…

2021-03-02 0条评论 1557点热度 0人点赞 蒋程 阅读全文
Unity渲染

使用后期做界面遮罩动画

游戏中的界面往往会添加一些动效来丰富玩家体验,前段时间我使用后期做了一个界面过渡的小功能,原理并不复杂,不过在刚接收需求的时候思路上也走了一些歪路,先看最终效果: 这个效果其实挺常见的,就是一个遮罩动画,相信大家分分钟就能把shader写出来,然而相我写完之后准备用到项目的时候,我发现了一个问题,我们的项目是使用NGUI做的(UGUI也有这个问题),游戏中的界面是由很多图片拼起来的,并不是一张图,而这个效果只能用于一张图片,此时我第一个想到的就是NGUI中UIPanel的SoftClip功能,众所周知,SoftCl…

2021-02-09 0条评论 1549点热度 1人点赞 蒋程 阅读全文
Unity渲染

URP后处理真机调试

前两天用后处理写了一个界面打开效果,结果在手机上显示黑屏,郁闷上的日志上并没有报错,在Unity中,可以方便的使用FrameDebug进行调试,如下图 可以使用Click+鼠标左键点开缩略图,查看对shader的赋值是否正确。 然而在手上,连接真机调试却是这样: 没有办法看到输入的纹理是否是正确的,所以第一想法就是把纹理输出的屏幕上,然后打真机进行调试,仔细观察FrameDebug的渲染顺序(如下图),发现UGUI.RenderOverlays在URP的最后渲染,也就是说我的截图操作在UGUI的RenderOver…

2021-02-03 0条评论 2195点热度 0人点赞 蒋程 阅读全文
Unity渲染

URP中修改相机RenderTarget

原来在BuildIn中修改RenderTarget很容易,它可以让我们用额外的相机照画面进行后处理再贴到指定的对象上,比如镜子,湖面,但是最近项目用了URP后渲染管线变了,问了同事后才知道需要单独接管额外相机的渲染,整理后代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Univers…

2021-01-26 2条评论 3759点热度 0人点赞 蒋程 阅读全文
Unity渲染

边缘检测

在后期处理中,如果要使画面中的轮廓更深一些,或者一些其他和轮廓相关的处理,我们需要首先找出代表轮廓的像素,这就需要进行边缘检测 1.边缘是如何形成的? 如果相邻像素之间存在差别的差别(如:颜色、亮度),那它们之间就会形成一条边界,这个边界就是图像的轮廓,我们可以用变量gradient(梯度),来表示像素之间的差异,那么gradient越大越有可能是边缘(当然如果可以保证gradient最大不会超过1,那么我们可以认为1-gradient,越小越有可能是边界),那么边缘检测其实就是求gradient的一个过程 2.如…

2021-01-19 0条评论 1544点热度 0人点赞 蒋程 阅读全文
Unity渲染

UnityShader 亮度、饱和度、对比度的实现

fixed4 col = tex2D(_MainTex, i.uv); 亮度 _Brightness //亮度直接叠加 fixed3 color = col.rgb*_Brightness; 饱和度 _Saturation //饱和度=最低灰度颜色与原图的差值 fixed3 gray = fixed3(0.2125, 0.7154, 0.0721); fixed minGray = dot(gray, col.rgb); fixed3 grayColor = fixed3(minGray, minGray…

2021-01-18 0条评论 1979点热度 0人点赞 蒋程 阅读全文
Unity渲染

UnityShader Outline (法线外扩法)

实现原理 1.先用一个Pass将原来的物体沿着该物体的顶点法线外移,使它变得比之前大 2.使用Outline的颜色填充整个物体,并且剔除正面的渲染,得到一个放大的背面 3.用第二个Pass正常渲染渲染,第二次正常渲染会挡住第一个渲染的背面,但是第一个Pass变大导致部分挡不住,则挡不住的那部分就变成了该物体的外描边 代码图如: //法线外扩实现法 Shader "Custom/Outline" { Properties { _MainTex("MainTex", 2D) = "white" {} _Outline(…

2021-01-16 0条评论 2815点热度 0人点赞 蒋程 阅读全文
Unity渲染

Unity内置矩阵

所有的矩阵类型都为float4x4,定义在UnityShaderVariables.cginc中 名称 说明 作用 UNITY_MATRIX_MVP 模型视图投影矩阵 通常用于把顶点从模型空间转换到裁剪空间 UNITY_MATRIX_MV 模型视图矩阵 通常用于把顶点从模型空间转换到视图空间 UNITY_MATRIX_T_MV UNITY_MATRIX_MV的转置矩阵 UNITY_MATRIX_IT_MV UNITY_MATRIX_MV的逆转置矩阵 通常用于把法线从模型空间转换到视图空间 UNITY_MATRIX_…

2021-01-16 0条评论 2131点热度 0人点赞 蒋程 阅读全文
Unity渲染

URP自定义后期实现方法

前段时间项目升级了使用了URP后,收到了一些关于后期的BUG,Debug后发现URP改变了渲染管线导致原先BuildIn的一些机制无法使用了,比如OnRenderImage、OnPreRender等函数失效,所以之前BuildIn的写的一些效果都不能用了,于是源看了一下URP源码,也查找网上的一些相关资料,有了个大致的理解,先把使用方式记录下来,之后抽空再写一篇URP源码设计防止遗忘 这里拿项目中的一个实例来说明使用方式,功能描述: 角色XXX释放技能后,除了场上的角色与特效,其他可见物都变成深红色(用于加强角色技…

2021-01-11 0条评论 2877点热度 1人点赞 蒋程 阅读全文
1…56789
分类
  • Unity渲染 / 26篇
  • Unity项目开发 / 44篇
  • 工具 / 20篇
  • 数学 / 2篇
  • 算法 / 1篇
  • 网站搭建 / 4篇
  • 网络&操作系统 / 5篇
最新 热点 随机
最新 热点 随机
将点从A方向旋转到B方向(解决两方向平行相反的问题) Unity Animator.Rebind() 接口会导致TPose 使用反向深度拷贝赋值unity对象 在Unity中通过反射获取SerializedProperty的值 Unity Hierarchy与Scene窗口的操作限制 常用Gizmos图形封装
使用反向深度拷贝赋值unity对象Unity Animator.Rebind() 接口会导致TPose将点从A方向旋转到B方向(解决两方向平行相反的问题)
解决VisualStudio安装ErrorCode1714的问题 自建云电脑之Parsec+Zerotier moon软路由方案 贝塞尔曲线与伯恩斯坦多项式 使用Typora+VLOOK插件编写MD文档并生成带导航的html CMD 查文件MD5、SHA1、SHA256指令 在Unity中通过反射获取SerializedProperty的值

COPYRIGHT © 2023 白泽图. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

登录
注册|忘记密码?