zoukankan      html  css  js  c++  java
  • Unity ShaderLab 学习笔记(一)

    因为项目的问题,有个效果在iOS上面无法实现出来~

    因为shader用的HardSurface的,在android上面跑起来没有问题~

    以为在iOS上也不会有问题,但是悲剧啊,技能效果一片漆黑~

    而且之所以在iOS上面跑6.8FPS,就是因为HardSurface造成的~

    没办法临时抱佛脚,一边看视频教程,一边看着圣典的翻译,学一下吧~

    但愿能学会......哎......


    ShaderLab语法:Properties

     

    Properties { Property [Property ...] }

    定义属性块,其中可包含多个属性,其定义如下

    name ("display name", Range (minmax)) = number

    定义浮点数属性,在检视器中可通过一个标注最大最小值的滑条来修改。

    name ("display name", Color) = (number,number,number,number)

    定义颜色属性

    name ("display name", 2D) = "name" { options }

    定义2D纹理属性

    name ("display name", Rect) = "name" { options }

    定义长方形(非2次方)纹理属性

    name ("display name", Cube) = "name" { options }

    定义立方贴图纹理属性

    name ("display name", Float) = number

    定义浮点数属性

    name ("display name", Vector) = (number,number,number,number)

    定义一个四元素的容器(相当于Vector4)属性

    对于纹理(2D, Rect, Cube) 缺省值既可以是一个空字符串("")也可以是某个内置的缺省纹理:"white", "black", "gray" or "bump"

    Texture property options 纹理属性选项

    包含在纹理属性的大括号中的选项是可选的。可能的选项有:

    TexGen texgenmode 纹理生成类型
      纹理的自动生成纹理坐标时的模式。
      可以是ObjectLinear, EyeLinear, SphereMap, CubeReflect, CubeNormal的其中之一;
      (上面着几个没明白都是什么意思,虽然能看到效果,但是不明白这都是什么意思~)
      ObjectLinear:
      
      EyeLinear:
      
      SphereMap:
      
      CubeReflect:
      
      CubeNormal:
      
      这些模式和OpenGL纹理生成模式相对应。
      注意如果使用自定义顶点程序,那么纹理生成将被忽略。
    LightmapMode 光照贴图模式
    如果给出这个选项,纹理将能被渲染器的光线贴图属性所影响。
    纹理不能被使用在材质中,而是取自渲染器的设定。
    请参考渲染器脚本文档
    (这段翻译也没明白~额~)
  • 相关阅读:
    Python tutorial阅读之基本数据结构
    Leetcode:Merge Sorted Array
    Python tutorial阅读之函数的定义与使用
    LeetCode:3Sum
    Python tutorial阅读之Python基本运算与基本变量
    Python tutorial阅读之使用 Python 解释器
    LeetCode:Longest Substring Without Repeating Characters
    如何过好幸福且富裕的一生----查理芒格
    创业学习---《调研黑客上:锁定调研目标》--D-2.调研模块---HHR计划---以太一堂
    创业学习---《如何展开竞争情报调研》--D-1.调研模块---HHR计划---以太一堂
  • 原文地址:https://www.cnblogs.com/rayyang/p/3524469.html
Copyright © 2011-2022 走看看