专栏名称: 游戏开发技术教程
网易十年码农,教程、内推、解惑。游戏开发技术、技巧、教程和资源下载,答疑解惑,内推面试。Unity3D、UnrealEngine(UE4、UE5)引擎,C#、C++等语法,图形渲染、物理动画、原理机制、源码剖析等及面试笔试题、职业规划。
今天看啥  ›  专栏  ›  游戏开发技术教程

程序化草地在Unity中的实现

游戏开发技术教程  · 公众号  ·  · 2024-06-04 13:57

文章预览

前言 这里的程序化草地是基于《对马岛之魂》在GDC上的分享做的,其中我的实现方法和GDC的方法可能会有一些出入,但是大体上的思路是一致的。 正文 程序框架的搭建 使用绘制参数直接在GPU上直接进行绘制是提升性能最关键的步骤,在Unity中我们可以调用 Graphics.DrawProceduralIndirect 实现这项功能. public static void DrawProceduralIndirect( Material material, //草所使用的材质 Bounds bounds, //所渲染的草地的包围盒 MeshTopology topology, //这个参数可以指定五项,分别是Triangles、Quads、Lines、LineStrip、Points ComputeBuffer bufferWithArgs, //绘制参数 int argsOffset = 0 , //对于bufferWithArgs参数的偏移 Camera camera = null , //为null就是所有相机都会执行绘制,否则就执行指定相机的绘制 MaterialPropertyBlock properties = null , //想要单独设置的材质参 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览