using UnityEngine;
using System.Collections;
using System.Collections.Generic;
//在unity中实现简单的程序纹理 10.3.1
//在编辑模式执行
[ExecuteInEditMode]
public class ProceduralTextureGeneration : MonoBehaviour {
//声明一个材质,这个材质将使用该脚本中生成的程序纹理
public Material material = null;
//声明程序纹理将使用的各种参数
//使用插件SetProperty将参数显示在面板上,这使得当修改了材质属性时,可执行_UpdateMaterial函数来使用新的属性重新生成程序纹理
#region Material properties
[SerializeField, SetProperty("textureWidth")]
//材质纹理宽度
private int m_textureWidth = 512;
public int textureWidth {
get {
return m_textureWidth;
}
set {
m_textureWidth = value;
_UpdateMaterial();
}
}
//材质纹理背景颜色
[SerializeField, SetProperty("backgroundColor")]
private Color m_backgroundColor = Color.white;
public Color backgroundColor {
get {
return m_backgroundColor;
}
set {
m_backgroundColor = value;
_UpdateMaterial();
}
}
//材质纹理圆形颜色
[SerializeField, SetProperty("circleColor")]
private Color m_circleColor = Color.yellow;
public Color circleColor {
get {
return m_circleColor;
}
set {
m_circleColor = value;
_UpdateMaterial();
}
}
//材质纹理模糊因子
[SerializeField, SetProperty("blurFactor")]
private float m_blurFactor = 2.0f;
public float blurFactor {
get {
return m_blurFactor;
}
set {
m_blurFac
在unity中实现简单的程序纹理 【Unity Shader 入门精要10.3.1】
最新推荐文章于 2022-09-19 17:04:09 发布