最近我在准备一个比赛 然后现在的想法是做一个2D的类似于跑酷的游戏 然后就想到做一个冲刺的效果(不单单是速度的改变 还有身后的残影) 和上几篇博客一样 还是用之前超级玛丽来实现的 效果如下 这里边会用到队列和对象池的知识 我之前写过栈和队列还有对象池的博客 可能对大家有用然后就开始我们的实现过程吧我的思路是创建一个对象池 然后每次按下特定的冲刺键的时候 对象池中显示出来 在冲刺时间过后 再隐藏掉
参考资料nvidia官网cg编程指南链接基本光照固定管道使用的基本光照计算公式 surfaceColor = emissive + ambient + diffuse + specular surfaceColor:最终颜色 emissive:自发光颜色 ambient:环境关颜色 diffuse:漫反射关颜色 specular:镜面高光颜色光照计算emissive = Ke ke:
Grid单例模式向Grid.cs中添加一个静态变量: public static Grid Instance; 在Awake函数中赋值: private void Awake() { Instance = this; } 在Unity中,所有Awake函数的执行顺序先于所有的Start函数,因此,在Block.cs中,我们可以获取到Grid的单例: private Grid gr
一篇个人Shader笔记,主要是通过分析Shader代码来总结几个光照模型。 目录0. 标准光照模型逐顶点和逐像素逐顶点逐像素1.漫反射模型1.1 逐顶点漫反射1.2 逐像素漫反射2. 高光反射模型2.1 逐顶点Phone高光反射2.2 逐像素Phone高光反射2.3 逐像素Blinn Phone 高光模型 0. 标准光照模型标准模型主要是分为四个部分,自发光 + 高光反射 + 漫反射 + 环境光
首先,我们选择我们的地图素材(由于笔者在前段时间已经进行切割,最近才开始整理这一段,所以这个是用的老素材,可能有朋友就会觉得切割前后不一致,但是思路是一样的,大家学习思路即可) 接着,我们找到右上角的Slice进行图片切割,我这边简单介绍一下这个切割的工具(1)Type:可以选择我们进行图片切割的方式,比较常用是前三个,第一个是自动切割,第二个是根据尺寸进行切割,第三个是根据数量进行切割
2、添加一个DL(平行光),没有直接反应。改变混合 Blend One One,和Tags{"LightMode" = "ForwardAdd"},可以得到附加光源得效果3、如何渲染?:不透明第一次渲染对象时,会记录像素到摄像机最近表面距离(z缓冲),如果下一个像素得z缓冲大于已有的将不会去渲染。可以通过ZWrite Off关闭深度缓冲4、当开启多个光源时, 动态批处理将失效5
深度纹理深度纹理存储高精度的深度值,范围为[0,1],而且通常是非线性的。深度值计算 在顶点变化中,最终会变换到裁剪空间NDC空间下,裁剪空间是一个[-1,1]的线性空间,在NDC空间下我们可以轻松的获得[-1,1]的深度值d 获得到d之后,我们将其映射到[0,1]中深度值获取 在unity中我们并不需要自己计算深度值,从深度纹理中我们可以获取到深度值。 首先,我们需要通过脚本设置摄像机的dept
前置:UnityGI1:光照烘培一、着色器应用 Lightmaps对于烘焙了 lightmaps 的场景,使用了自己的着色器可能得不到正确的结果1.1 关键字 LIGHTMAP_ON当着色器应用 lightmaps 时,内置关键字 LIGHTMAP_ON 会起作用,同时不会再包含顶点光照,也就是对应的 VERTEXLIGHT_ON 关键字必然会失效,因此我们可以添加如下的 #p
转载 12天前
37阅读
Unity2D及输入系统Unity2D 部分一、Unity 2D 介绍1. 游戏中 2D、3D 以及 UI 的概念先笼统地将整个游戏分为两部分:UI 和游戏内容。UI :即 User Interface,人机交互,操作界面,游戏中一般指血条、背包、注册登录等。游戏内容:指场景、角色等实际游戏世界的展示。一般我们所说的 2D/3D 是指游戏内容部分,绝大多数情况下 UI 本身都是 2D的。2. Un
1 为角色添加代码控制为Player添加一个New Script(我名命为了PlayerController),就会发现在Assets文件夹下多出了一个C#文件。在Assets下面新建一个Script文件夹方便管理,并把C#文件放入到文件夹里。2 查看代码控制涉及到input设置控制角色暂时只涉及到左右移动和跳跃,需要先知道玩家是怎么输入,我们需要调用那些参数。Edit->Project S
1 Tilemap介绍 Tilemap(瓦片地图):unity中自带的快速构建2D场景的工具 2 Pixels Per Unit介绍 需要先介绍一下Pixels Per Unit(每个单位的资源像素量),这个属性在你点击你的素材的时候会出现(如下图所示)。从左下的文件里面找到素材图片,然后单击,右上边就会出现素材图片的信息,就会看见Pixels
转载 5月前
332阅读
本教程基于Unity5.0.2f1,所以推荐使用该版本的Unity来学习该教程。接下来下载 2D_Joints_Starter。解压并在Unity中打开这个Demo。初始的scene应该如下所示: 像很多游戏一样,这个场景中有多种带有物理组件的物体。然后这里面的所有物体都没有关节。通过这个教程,你会尝试使用每一个Unity 2D关节并看到他们是如何起作用的。运行这个场景,你会看到一些物体因为重力的
1.2D模式和3D模式的区别,2D模式默认的摄像机的模式是Orthographic(正交摄像机),3D模式默认的摄像机的模式是Perspective(透视摄像机)。3D会额外给你一个平衡光。3D模式修改为2D模式,点击Edit下面的Editor 修改为2D2.UGUI渲染模式 World Space Screen Space-Camera Screen Space-OverlayWorld Sp
转载 5月前
166阅读
 先上效果图,只凭文字描述,脑补应该有些困难- - 如图:有三个角色(我们暂且从左到右叫它们A、B、C),一个2D UI(中间动作选择的框框),一个cube(右边的方块)cube挡住了角色C的头顶信息2D UI挡住了角色和cube共同点是只显示未被遮挡的部分,遮挡的部分不显示如果直接使用雨松momo文章中的代码的话,那么你会发现有一些问题,如图这里我没有用血条,只绘制了文字,都
转载 5月前
236阅读
注:这是根据网上教程完成的。如果用以前版本的Unity2D游戏,虽然能做,但是要费很多周折. 比如你可以将一张纹理赋予一个”面片”网格,然后用脚本控制它的动画调整它的位移.如果你要使用物理引擎,那么还要将这个Obeject处理3D的,所以 你还要确保你的Object要有足够的深度以确保他们在其它轴向上不起冲突.或者你选用一个第三方插件,如2D Toolkit或者Orthello 2D Frame
Unity2D碰撞无效问题和基本设置最近开始学习unity,都是网站上找的一些白嫖的视频资源,然后也买了一些有关unity的比较新的书籍,这不论是视频还是书籍,讲述的内容主要讲的都是untiy3D,可能是因为unity2D功能是近几年才推出完善的,所以相关的书籍和教学内容比较少。对于初学的我来说,获取到合适的3D模型资源浪费时间和精力,所以我就用2D的项目来做一些练习。结果就遇到了设置2D碰撞无法
1.需求        我们在开发的时候,有时候一些按钮或者菜单栏的边角是直角的需要改成圆角,但是让美术重新绘制耽误时间不说也确实没必要,这个时候我们不妨使用一个简单的shader去解决这个问题,下面我们就讲讲这个shader要如何实现。需求1:可以将图片四角任意一角从直角变为圆角,可控制圆角大小需求2:在需求一的基础上可以选择是否给图片加上边框,颜色可变附
       在我们小时候玩过的2d游戏中,比如超级玛丽、魂斗罗等等,地图中都常常会有升降平台的出现,话不多说,以下为博主实现自动升降平台的过程:        第一步,新建Tilemap(如下图,素材可在Unity Asset Store中搜索Sunnyland,导入即可),并搭建一个平台,(Inspector)检视
各位朋友,大家好,我是秦元培,欢迎大家我的,我的是。博主今天想和大家分享的是在Unity3D中使用Mecanim动画系统来控制2D动画。相信在大家的印象中,Mecanim动画系统主要运用在3D动画中,因为Mecanim动画系统提供了像动画重定向、人体骨骼动画等3D动画的特性,那么Unity3D的Mecanim动画系统能不能用来控制2D动画呢?如果在以前,博主和大家的理解是一样的,
液化柔和扭曲有参考M.studio的水面案例 链接 他的方法有个致命缺点,就是右侧会有横线 出现这个问题是因为UV出了问题,他为了控制波纹强度就给噪声图乘了个强度值strength,但也导致uv的offset不再是0 ~ 1中间,而是0 ~ streng,所以输出的图的x在1-strength ~ 1处就会有横线,我的解决办法是增大噪声图的tilling来把横线挤出去新发现:用于扭曲的噪声图乘在V
  • 1
  • 2
  • 3
  • 4
  • 5