自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 体积渲染(4)——噪声贴图+OnRenderImage实现体积云

1、噪声贴图之前的shader需要CPU一刻不停地计算噪声值,但如果用噪声贴图,那么噪声值就已经是提前计算好的,可以直接使用,节约性能。由于它是有rgb值的,所以我们可以使用它的不同通道去生成不同的噪声导入设置不产生Mipmap勾选 override for pc…因为我们想使用噪声图片上原始的值,所以要勾选,这样会在上面所示的平台中都使用MAX SIZE2048,即不压缩这张噪声图片。Format设置为RGBA 32 bit2、动态添加shader给相机添加clouds脚本usi

2021-04-23 18:21:59 3304 1

原创 体积渲染(3)——3D值噪声+光线步进实现体积云

一、Value noise值噪声在a和b之间插值static functionLerp (from : float, to : float, t : float) : float基于浮点数t返回a到b之间的插值,t限制在0~1之间。当t = 0返回from,当t = 1 返回to。当t = 0.5 返回from和to的平均值。即返回值为a+(b-a) * t如果我们想要平滑的效果,就要用smoothstep函数然而为了实现我们想要的效果,需要用3D值噪声建立8个随机数,然后在之间平滑插值

2021-04-19 14:01:00 1659 1

原创 体积渲染(2)——光线步进实现球形雾

效果:第一步:先创建一个照相机可以在内部照相的白色固体代码:Shader "TYX/09SphericalFog"{ Properties { _FogCenter("Fog Center/Radius", Vector)=(0,0,0,0.5) //把中心点和圆的半径储存在一个vector中 _FogColor("Fog Color",Color) =(1,1,1,1) _InnerRatio("Inner Ratio",Range(0.0,0.9))=0

2021-04-16 14:07:23 973

原创 体积渲染(1)——光线步进简单示例

Ray Marching光线步进Ray Marching(光线步进)是Ray Tracing的一种实现,之所以要用光线步进是为了获取物体的深度值,所以我们需要以摄像机位置为原点,步进式发射射线,当射线碰撞到物体之后,返回其深度信息,如果到视椎体的最大距离之前都没有返回,那么可以以此判断该方向无像素,最后根据返回的信息计算光照。步骤:第一步:定义视角相关的参数,观察点位置离观察目标点位置的距离,观察点视角度数,观察者头顶方向,得到摄像机矩阵_WorldSpaceCameraPos (unity l

2021-04-11 19:06:32 1508 1

原创 StencilBuffer模板缓冲

1、Stencil buffer概念:屏幕平面好比一块大的平面,然后每个像素都有自己对应的stencil值,可以把他理解为一个数字标记,然后所有像素的初始默认stencil值都是0这个时候如果想用到Stencil Buffer,那么就要去改变这些像素的值来舍弃或保留这些像素,相当于去判断渲染哪些像素stencil buffer其实是zBuffer其中的一部分,StencilTest在ZTest之前,两者紧密联系,存在于显存内的某一片区域中。目前的显卡架构中,比如在depth/stencil缓冲区某个

2021-04-10 17:43:53 850

原创 Grab Pass实现玻璃材质

一、GrabPass简单例子Grab Pass技术,可以理解为屏幕截图,也就是将帧缓存抓出来一张贴图,并在当前物体或者后续渲染当中,复用这张帖图的技术。代码如下:Shader "TYX/07VFMat"{ Properties{ _MainTex("Texture",2D)="white"{} _ScaleUVX("Scale X",Range(0,10))=1 _ScaleUVY("Scale Y",Range(0,10))=1 } SubShader {

2021-04-10 17:26:55 523

原创 零经验小白的独游历程——总结

其实我之前所写的还只是很早期的经历,后来还发生了很多事,我也做了很多其他的工作。总之最后我决定离开这个团队。在做独游的半年里我初步地感受到了一个游戏的方方面面。此前,我虽然参加过很多游戏制作活动,或者做过学校的课程设计,但是和一个完全原创的独立游戏相比,真的不是一个量级的。学校生活给了我很大的自信,让我以为自己可以开创自己的理想了,但其实亲身去实践过,就发现自己真的只是一个大学都没读完的学生,在能力、经验、合作上面都有很大不足。我发现很多时候重要的不是如何解决问题,而是如何让问题从一开始就不要发生。倘

2021-04-08 17:35:11 637 3

原创 零经验小白的独游历程——如何解决独立游戏的素材问题

前言曾经看过很多可以一个人搞定美术、编程、策划的独游大佬,心里虽然很佩服,但是就我个人的观点是——现代社会的大部分工作都是需要分工合作才能完成的。尤其是游戏这种专业性很强的产品,更需要每个人各司其职才能顺利完成。虽然网上有很多免费素材,不会画画的我们也可以很容易地掌握像素画的画法,但是这样实现的游戏真的效果能好吗?就算是找外包,对于独立团队的我们其实是很难一直固定同一个外包团队的。而且如果没有专业美术人员,我们无法鉴别外包的好坏,更无法保证整个美术风格的统一。所以我建议独立游戏团队一定至少有一个专业

2021-04-07 22:35:58 1645 3

原创 零经验小白的独游历程——俯视角45度游戏,人物用2D还是3D

前言经历了之前这么多波折,3d模型和动画还是没法儿用,这时我们开始寻找其他的解决办法。我们当时想做的是一个俯视角45度的2.5D游戏,为什么是2.5D游戏?因为这种游戏由于视角是固定的,所以没有必要全部素材都用3D素材,常常是2D与3D的混合。这种类型的游戏虽然没有横板游戏那么好制作,但是在难度上要低于3D游戏,对于美术素材也可以用比较便宜、制作周期短的2D素材。比如说去年很火的《哈迪斯》就是2.5D游戏,他的人物以及大部分的场景都是3D模型。但是也有小部分场景素材用的是2D素材。再古早一点的这

2021-03-29 17:02:08 10236

原创 零经验小白的独游历程——没法儿用的3D人物动画(失败的美术外包经历)

前言曾经我作为一个unity个人练习生,从Mixamo之类的网站下载一个模型,导入Unity,然后打几行代码,模型就动起来了,一切看起来都那么地简单!完美!但是在我们第一次找外包时,却发生了模型导入引擎后完全不能用的情况。当时问外包什么情况他们只说:“我们不会unity,别人都用的好好的啊”于是我这个几乎不会DCC工具的程序员只好下载3dsMax,开始排查问题。问题一、播放动画后模型出现翻转这是因为3dsMax使用的是右手坐标系,Unity使用的是左手坐标系,而且Unity还是y轴向上的左手坐标系

2021-03-29 15:19:44 539

原创 零经验小白的独游历程——U3d学习经验与教程分享

前言U3D作为主流引擎,网上的教程可以说是不计其数。但是程序是一种模式化的思维,引擎也有他的底层原理。网上很多网课只是一步一步地展示做法,看似实现了效果,但其实根本没有说清楚背后的原理。我们就算跟着做了一遍,也只是熟悉了引擎的基本操作,但是如果想要自己做点什么效果,便会问题百出。比如说一开始我们打的第一行Unity代码一般都是控制玩家移动的。这时勤劳好学的我们一定会跟着老师一起打下这行代码。void FixedUpdate() { rb.MovePosition(transform.p

2021-03-29 15:19:07 2031

原创 零经验小白的独游历程——序章

2021-03-29 15:16:10 219

空空如也

空空如也

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

TA关注的人

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