grass

更新时间:2022-11-25 01:14:36 阅读: 评论:0


2022年11月25日发(作者:gnk)

unity-shader-草grass实现

title:unity-shader-草grass实现

categories:Unity3d-Shader

tags:[unity,shader,grass,草,geometryshader]

date:2019-05-2002:37:16

comments:fal

unity-shader-草grass实现

前篇

草体结构

多个⾯⽚组成草体结构

传统的⽅式,即将模型数据从CPU传递给GPU,GPU再根据这些数据进⾏渲染的⽅式在渲染⼤规模的草体时,往往会忽略单个草体的模型

细节。因为单个草体的建模如果过于细致,则渲染⼤⽚的草地就需要传递很多多边形,从⽽造成性能的下降。

因此,⼀个渲染⼤⽚草地的⽅案往往需要满⾜以下条件:

单个草的多边形不能过多,最好⼀棵草只⽤⼀个quad来表⽰

从不同的⾓度观察,草都必须显得密集

草的排布不能过于规则,否则会不⾃然

综上,渲染草体时的经典结构——星形就出现了

星型结构可以减⼩从不同⾓度看到⾯⽚,防⽌看到的知识⾯⽚的侧⾯(观察⽅向与⾯⽚平⾏,也就啥都看不到)

顶点动画

在加上顶点动画,让看起来有风吹的效果

if(.y>0.5){

float4translationPos=

float4(sin(_Time.x*_TimeFactor*Pi),0,sin(_Time.y*_TimeFactor*Pi),0);

+=translationPos*_StrengthFactor;

}

判断草⾯⽚的哪些顶底需要做动画,⽤的是uv中的v值>0.5(opengl,dx是反过来的),所以⾯⽚顶部顶点的v值要⼤于0.5

本文发布于:2022-11-25 01:14:36,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/15429.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:grass
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图