unity 根据顶点位置变换顶点颜色

2023-10-26

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HeightCOlor : MonoBehaviour
{
    public Gradient coloring;
    public SkinnedMeshRenderer meshRenderer;
    public float top = 10;
    public float buttom = 0;
    void OnEnable()
    {
      Mesh mesh=  meshRenderer.sharedMesh;
      Vector3[] v3=  mesh.vertices;
        List<Color> lc = new List<Color>();
        for (int i = 0; i < v3.Length; i++)
        {
            Color c= coloring.Evaluate(v3[i].y / (top - buttom));
            Debug.Log(c);
            lc.Add(new Color(c.r, c.g, c.b));
        }
        mesh.colors = lc.ToArray();
    }
}

c#脚本↑

Shader "Custom/Surface Shader" {
	Properties {
		_MainTex ("Base (RGB)", 2D) = "white" {}
	}
	SubShader {
		Tags { "RenderType"="Opaque" }
		LOD 200
		
		CGPROGRAM
		#pragma surface surf Lambert

		sampler2D _MainTex;

		struct Input {
			float2 uv_MainTex;
			half4 color : COLOR;
		};

		void surf (Input IN, inout SurfaceOutput o) {
			half4 c = tex2D (_MainTex, IN.uv_MainTex);
			// 叠加色
			//o.Albedo = c.rgb * IN.color.rgb;
			//o.Alpha = c.a * IN.color.a;
			//纯色
			o.Albedo =  IN.color.rgb;
			o.Alpha =  IN.color.a;
		}
		ENDCG
	} 
	FallBack "Diffuse"
}

surface shader脚本↑

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity 根据顶点位置变换顶点颜色 的相关文章

  • GLSL:如何执行类似 switch 的语句

    我想根据传递到着色器的数据动态调用缓动 所以用伪代码来说 var easing easings easingId var value easing point 我想知道在 GLSL 中完成此任务的最佳方法 我可以以某种方式使用 switch
  • 如何通过GLSL在THREE.js中实现MeshNormalMaterial?

    我想实现一个像这样的着色器网格法线材质 https threejs org docs api materials MeshNormalMaterial 但我不知道如何将法线转换为颜色 在 THREE js 中 我的测试1 varying v
  • 移动物体的漫射照明

    当计算移动物体的漫射照明时 我必须将光源与物体本身一起移动 Override public void draw draw frame Move object GLES20 glVertexAttribPointer aPositionLin
  • 使用 ShaderMaterial 复制 MeshLambertMaterial 会忽略纹理

    我注意到 THREE js 在内部使用着色器来创建核心材质 例如 MeshLambertMaterial 因此我决定将 Three js 代码中的兰伯特着色器复制到新的着色器中并在其上进行构建 这是我得到的代码 忠实地从 Three js
  • QML 将纹理应用于网格

    我正在尝试将图像纹理应用到 QML Qt 5 6 2 中的网格 我从示例 Shadow Map QML 开始 我想对 GroundPlane 进行纹理处理 材质和效果 qml 类应用于该 GroundPlane 网格 但我看不到如何应用图像
  • OpenGL 二进制程序格式是否标准化?

    我一直在谷歌上搜索 OpenGL 二进制格式及其实际含义 到目前为止我还没有取得太大的成功 我知道我可以按如下方式获取数量和格式集 glGetIntegerv GL PROGRAM BINARY FORMATS values 0 其中 va
  • 游戏开发常见操作系列之敌人系统的开发一(U3D)

    在开发游戏的过程中 我们常常会出现一些敌人攻击我们玩家 并且实现掉血以及死亡的现象 敌人还会源源不断地生成 这是怎么制作的呢 接下来为大家提供方法 其中使用了NGUI 后续会更新其它方法 敬请期待 使用HUDText实现扣血时显示文本 直接
  • 为 webgl 中的每个对象使用不同的顶点和片段着色器

    我在 webgl 中有一个包含多个对象的场景 对于每个对象 我想使用不同的顶点和片段着色器 我的第一个问题是 是否可以为每个对象都有一个着色器 我知道在 opengl 中这是可能的 这是与我的想法类似的伪代码 任何例子将不胜感激 glena
  • 用于几何入口点的 SceneKit 着色器修改器适用于 iOS,但不适用于 OS X

    我正处于制作 SceneKit 着色器修改器 用于几何入口点 的早期阶段 该修改器根据高度图纹理置换平面的几何形状 计划是用它来创建地形 在 iOS 编辑 iOS 模拟器 中 着色器按其应有的方式工作 但会将此警告打印到控制台 SceneK
  • OpenGL 中着色器的问题

    我正在尝试在 C 中使用像 glShaderSource 这样的东西 Visual Studio 表示像 glCompileShader 或 glCreateProgram 这样的函数不存在 我使用 FreeGLUT 来包含 OpenGL
  • 如何计算具有三角形面的网格的质心?

    我想根据以下描述计算网格的新质心 但我不想使用 Blender 的内置函数来计算质心 如所解释的here https blender stackexchange com questions 14294 how to recenter an
  • 我们可以在透明窗口上应用着色器吗

    I am looking to apply a particular shader to a transparent window for example on a live desktop I want to create a trans
  • OpenGL Phong 光照:镜面高光错误

    我的 OpenGL 中的 Phong 光照着色器似乎有一个奇怪的问题 镜面高光出现在对象的错误一侧 手头的问题 正如您所看到的 镜面高光出现在立方体的另一侧 从灯光的角度来看 也出现在立方体垂直边缘的角上 它应该只出现在最靠近灯光的一侧 立
  • WPF 着色器效果 - 抗锯齿不显示

    我遇到一个问题 我有一个 WPF 着色器效果 由 Rene Schulte 修改 来模拟点阵显示 DMD 一切都很好 但所有的点都是别名的 See attached image 我尝试了WPF中的许多功能 以带来抗锯齿 但无济于事 在构造函
  • 为什么从搅拌机导出到 Unity 时我的 (FBX) 网格体有孔?

    我现在正在学习雕刻我的角色 当我将 FBX 文件从 Blender 导出到 Unity 时 网格物体的脸上有一个巨大的洞 我该如何预防 解决这个问题 它在 mixamo 中工作得很好 在此输入图像描述 https i stack imgur
  • 如何在 Matlab 中计算 3D 网格的投影

    我正在尝试使用 matlab 从不同视图计算 3d 网格的 2d 投影 我现在使用的解决方案是绘制 3D 网格 旋转它并制作屏幕截图 我想知道是否有任何 matlab 内部函数或任何其他解决方案允许我在给定一组顶点和三角形的情况下计算投影而
  • Three.js - 在自定义几何体上平滑兰伯特材质着色的问题

    我在 Three js 中创建了一个自定义几何体 现在 我想创建一个使用平滑阴影兰伯特材质的网格 使用循环 我创建了顶点数组 然后创建了面 然后我调用了 geometry computeCentroids geometry computeF
  • THREE.JS 加载 STL 网格数组

    因此 我有一个数据库 其中包含文件引用列以及对其所需的子 STL 文件的任何引用 我可以将一两个模型加载到 THREE js 查看器中 因此所有这些都可以正常工作 但是当我加载四个左右的数组时 事情开始变得毛茸茸的 分配的网格 ID 开始变
  • 在 Python 中创建二维非矩形形状的三角形网格

    假设我有一组点定义二维平面中非矩形形状的周长 我需要一个函数来创建三角形网格划分 在其中可以修改三角形单元的数量并返回每个单元的 x y 坐标 谢谢 你可能应该看看 dmsh https github com nschloe dmsh py
  • CPU 到 GPU 法线映射

    我正在创建一个地形网格 然后这个答案 https stackoverflow com a 5284527 1356106我正在尝试将 CPU 计算法线迁移到基于着色器的版本 以便通过降低网格分辨率并使用在片段着色器中计算的法线贴图来提高性能

随机推荐

  • C - Balanced Number HDU - 3709 (数位dp)

    题目链接 https cn vjudge net contest 278036 problem C 题目大意 手首先是T组数据 然后每一次输入两个数l r 求这个区间里面满足以某个数字为中心的两侧力矩和相等的个数 举个例子 4139 我们如
  • win10键盘锁住了怎么解决

    有win10系统用户在使用的时候 发现键盘被锁住了 导致无法使用 经过分析可能是不小心按到了键盘上的锁住键 锁定键盘的快捷键 笔记本电脑 Fn Numlock 键 第一种方法 1 外接键盘 是否按过 Numlock 键 如果按过 Numlo
  • vue2使用国际化语言vue-i18n

    1 安装 npm install vue i18n 或 yarn add vue i18n 2 引用 在main js中引用 import VueI18n from vue i18n Vue use VueI18n 运行项目 报错 由于使用
  • 网络流之最大流和最小割

    最大流问题 最大流 给定有向图中每条边的最大流量 容量 求从源点到汇点的最大流量 容量网络 括号左边代表容量 右边代表流量 残留网络 流网络中剩余可增加的流量 增广路 满足容量条件的一条流量不为零的路径 增广路定理 设容量网络G V E 的
  • 转: Windows 批处理大全

    批处理文件是无格式的文本文件 它包含一条或多条命令 它的文件扩展名为 bat 或 cmd 在命令提示下键入批处理文件的名称 或者双击该批处理文件 系统就会调用Cmd exe按照该文件中各个命令出现的顺序来逐个运行它们 使用批 处理文件 也被
  • 【云原生之Docker实战】使用Docker部署NodeBB社区平台

    云原生之Docker实战 使用Docker部署NodeBB社区平台 一 NodeBB 二 检查本地docker环境 1 检查docker版本 2 检查docker状态 3 检查docker compose版本 三 下载NodeBB镜像 四
  • 方差(variance)、标准差(Standard Deviation)、均方差、均方根值(RMS)、均方误差(MSE)、均方根误差(RMSE)

    方差 variance 衡量随机变量或一组数据时离散程度的度量 概率论中方差用来度量随机变量和其数学期望 即均值 之间的偏离程度 统计中的方差 样本方差 是每个样本值与全体样本值的平均数之差的平方值的平均数 概率论中的方差表示方法 样本方差
  • Javascript设计模式-07-观察者模式(发布订阅模式)

    Javascript设计模式 07 观察者模式 发布订阅模式 简介 观察者模式又叫发布订阅模式 他定义了一种一对多的关系 让多个观察者对象同时监听某一个主体对象 这个主体对象发生改变时就会通知所有观察者 使得他们能够自动更新自己 提供一种抽
  • 多维时序

    多维时序 MATLAB实现Attention LSTM 注意力机制长短期记忆神经网络 多输入单输出 目录 多维时序 MATLAB实现Attention LSTM 注意力机制长短期记忆神经网络 多输入单输出 基本介绍 模型背景 LSTM模型
  • 【SQLMap工具-1】SQLMap简介及简单应用实例

    1 SQLMap简介 SQLMap 是一个自动化的SQL注入工具 其主要功能是扫描 发现并利用给定URL的SQL注入漏洞 内置了很多绕过插件 支持的数据库是MySQL Oracle PostgreSQL Microsoft SQL Serv
  • fmt文本格式库的源码下载编译(Win10+VS2022)

    目录 fmt文件格式库 什么是fmt fmt下载方式 资源结构 编译fmt 查看编译成功lib和pdb fmt文件格式库 什么是fmt fmt 是一个先进的文本格式库 具有现代语言的特征 用来代替 C 的 stdio 和 C iostrea
  • MessagePack For C#在Unity中的应用(场景的保存和加载)

    最近项目里面有这样一个需求 就是把场景里面的东西保存下载 然后需要的时候读取数据 加载出来 这里用到了MessagePack For C 的Unity 版本 先放一个网址https www cnblogs com Leo wl p 8143
  • 在数据集上计算连续随机变量的信息熵和互信息--k-近邻估计方法

    写在前面 信息熵 entropy 的原始定义是离散 discrete 的 后来发展了在连续域上的微分熵 differential entropy 然而 通常在给定的数据集上 无法知道连续变量的概率分布 其概率密度函数也就无法获得 不能够用微
  • Py_buffer

    使用C C 扩展Python之一 Posted on Thu 12 November 2015 in Python 假设我们需要使用C C 实现一个翻转字符串的扩展功能 下面是C语言的实现 include
  • 公布一下工资管理系统中核心部分工资计算的代码

    终于完成了工资计算部分的代码 请大家指教一下 用户可以自行定义工资计算公式 例如 实发工资 应发工资 应扣工资个人所得税 tax 应发工资 CREATE TABLE pq unitgzxm unit id char 8 NOT NULL D
  • Golang学习笔记:Zinx框架搭建轻量级TCP服务器02

    Golang学习笔记 参考学习视频地址 https www bilibili com video BV1wE411d7th p 1 所有截图均来自于上述视频 本人为自学整理的个人理解文档 0 3版本 Zinx0 3版本新增两个新概念 请求和
  • Android eSIM-LPA基于Android13的实现

    eSIM Android LPA基于 Android 13的实现 国际对ESIM相关所有规范定义在 GSMA Spec SGP eSIM Consumer and IoT Specifications 国内对EID相关规定在 电信终端产业协
  • yolov系列学习+部署(收集了一些学习网站)

    这里置顶的第一个项目是git上star超过k的一个yolo部署项目 https github com DefTruth lite ai toolkit 本项目入口地址 配套yolov1入口地址 配套yolov2入口地址 里面截图都来自这几个
  • java程序员电脑内存配置_学习JAVA对电脑配置有要求吗

    如果只是为了学java 配置不是问题 你现在随便配都可以学JAVA编程知识 要知道只用记事本就可以进行java编程了 一样可以学java编程 而且刚开始学的时候也不提倡用IDE 问题是现在买电脑应该不是为了学java而选择配置 或许你现在是
  • unity 根据顶点位置变换顶点颜色

    using System Collections using System Collections Generic using UnityEngine public class HeightCOlor MonoBehaviour publi