当前位置: 首页 > news >正文

unity中草实现举例

https://blog.csdn.net/qq_38275140/article/details/89070146
https://roystan.net/articles/grass-shader.html
https://blog.csdn.net/yangxuan0261/article/details/90382630

1、草的mesh网格
在这里插入图片描述
草的主纹理:
在这里插入图片描述
草的采样shader:

Shader "Unlit/GrassShader"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }

        Pass
        {
			Cull Off //背面剔除关闭,使草正反面都绘制
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;

            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                fixed4 col = tex2D(_MainTex, i.uv);
				clip(col.a - 0.5); //剔除alpha小于0.5的点
				return col;
            }
            ENDCG
        }
    }
}

在这里插入图片描述

给顶点定义动画:
待续……

这个顶点动画,属于私密文件。哈哈

相关文章:

  • MySQL 并发事务问题以及事务的隔离级别
  • 四元数转矩阵
  • Activator.CreateInstance with parameters
  • 再谈DrawMeshInstancedIndirect的参数问题
  • Sitecore 8.2 防火墙规则的权威指南
  • unity烘焙参数的程序化配置
  • 苗条的生成树 Slim Span--洛谷
  • 关于ADB 执行报错问题-db server version (31) doesn't match this client (40); killing...
  • 如何查看srp中的shader文件
  • 项目Beta冲刺(6/7)(追光的人)(2019.5.28)
  • Constant Buffers
  • P4013 数字梯形问题 最小费用最大流
  • 分析GlobalIllumination函数的实现
  • UVa 10474 Where is the Marble?
  • 光照贴图的中的编码格式
  • 【前端学习】-粗谈选择器
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • C# 免费离线人脸识别 2.0 Demo
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Material Design
  • Mithril.js 入门介绍
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • React-flux杂记
  • Redis 懒删除(lazy free)简史
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 回顾2016
  • 技术:超级实用的电脑小技巧
  • 漂亮刷新控件-iOS
  • 区块链共识机制优缺点对比都是什么
  • 如何解决微信端直接跳WAP端
  • 使用 QuickBI 搭建酷炫可视化分析
  • 学习HTTP相关知识笔记
  • 延迟脚本的方式
  • 一文看透浏览器架构
  • 以太坊客户端Geth命令参数详解
  • 用mpvue开发微信小程序
  • 用Python写一份独特的元宵节祝福
  • 云大使推广中的常见热门问题
  • ​水经微图Web1.5.0版即将上线
  • ​一些不规范的GTID使用场景
  • #ifdef 的技巧用法
  • #大学#套接字
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (附源码)计算机毕业设计高校学生选课系统
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (未解决)macOS matplotlib 中文是方框
  • ./和../以及/和~之间的区别
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET委托:一个关于C#的睡前故事