着色器编程,第5卷

纹理映射和RTS单位地形突出显示 在上一节中,我们介绍了如何创建透明的全息着色器。 让我们看看我们还可以对曲面着色器做些什么,以及如何通过脚本与着色器进行交互。 第2.8章 表面着色器和纹理贴图,打包和混合纹理 显然本章已经过时了…… 我在上面制作了纹理填充着色器,它在另一个混合纹理的每个点使用RGBA值混合了4个纹理,但是遇到了一个错误: “在第19行,太多的纹理插值器将用于Forw​​ardBase传递(最大10个中的11个)。” 我尝试了一些方法来使它起作用,但是无论如何似乎并没有经常使用这种技术,因此决定继续前进而不是停留在它上面。 如果其他人知道解决此问题的聪明方法,我很想知道解决方案! 第2.9章 表面着色器和纹理贴图,在地形周围创建一个圆 此着色器的目的是在例如RTS中的一个单元周围绘制一个圆,该圆与任意复杂度的对象一致。 绘制平面很容易,不需要自定义着色器-您可以将纹理应用于四边形-但是,如果尝试在地形复杂的几何体上绘制平面,则可能会看到它穿过山丘或悬停地面等其他重要事物 首先创建一些地形。 给它一些丘陵和山谷,但不要落伍。 这是新的着色器: 着色器的工作方式是获取圆的参数(其颜色,半径,宽度和中心位置),并确定地形纹理上任何点的当前世界位置是否在_…

昨晚我建立了我的第一个3D游戏(Unity)

我建立了我的第一个3D游戏。 这不是我的第一款游戏,我用JavaScript和Java编写了简短的基于文本的游戏,并用Swift和Java编写了Tic-Tac-Toe,但这是我第一次使用Unity和C#以及彼此交互的3D对象。 太棒了。 自从Atari以来(实际上是从DOS以来)一直玩电子游戏,并且最终(有可能)为我非常喜欢的媒体做出贡献的背景下,这尤其棒。 是的,我还有很长的路要走,但是大多数冒险活动都需要您按开始并播放入门教程。 我的个人教程是在纽约时代广场微软办公室的Playcrafting NYC举办的“借助Unity进入游戏设计”课程中进行的。 借助在墙上运行的应用程序,时髦的环境照明以及厨房内的Xbox One,该办公室既现代又酷。 该课程由Microsoft技术推广人员和游戏设计师Adina Shanholtz教授。 她很清楚自己的知识(关于Unity等),而她的知识和热情使她成为一门舒适而有趣的课程。 诚然,当我学会使用Unity时,我的游戏设计和视觉感觉就倒退了,但是最后,无论采用哪种配色方案,您都可以移动黄色球并收集旋转的蓝绿色立方体。 出于本教程的目的,我们仅将可收集的多维数据集标记为隐藏,但是显然,在实际情况下(尤其是在具有更多对象的游戏中),您实际上想销毁对象并将其从内存中取出。 您不想成为发起滞后派对或通过发起游戏崩溃派对来结束派对的人。 (FYI Playcrafting提供了从周一开始的完整课程)。

开发者博客#15:重新行动

令人难以置信的是,自上次发布以来已经过去了近一个月。 我真的对这个每周的博客文章感到失望,不是吗? 我离开开发已有一段时间了,这主要是由于我不得不解决一些个人问题,但是现在我正慢慢回到正轨。 我目前正在重构Homeward-我为Launchpad提交的演示在代码方面非常混乱(上周我特别草率),因此我在重写内容,重新架构并重新考虑一些我现在做了一些机械师,因此我有机会与许多人一起测试了该演示。 因此,我将演示发送出去,聚集了很多朋友,并让他们同时玩。 我什至有机会在一个游戏中尝试6名玩家。 效果很好! 只有一个主要警告……人们没有一起玩。 我注意到,一旦分配了收集水晶的任务,并准备在环境中自由漫游,他们就会各自走自己的路。 想法是,尽管他们具有相同的目标,但通过拆分可以使他们更快地完成这些目标。 这显然是不行的。 当玩家分手时,他们基本上将看到的内容量(我可能会注意到,我很努力地创建)进行了细分。 除此之外,他们还完全避免了彼此之间的任何社交互动,并且不会出现紧急的游戏机会。 我问自己一个问题:玩家之间应该怎样做才能使他们想要团结在一起? 在当前的演示中,我并不担心。 我玩过一项实验性功能,让玩家互相攀爬。 这主要是有限使用的功能-唯一的实际用例是允许玩家“扛在肩上”其他玩家以度过特别困难的时期。 因此,我问自己:玩家应该怎样做才能激励他们团结在一起?…