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

成都模板网站建设浙江自己如何做网站

成都模板网站建设,浙江自己如何做网站,专业做影评的网站,石家庄网站推广专家上一篇讲的阴影shader是通过两个pass来渲染出的#xff0c;第一个pass渲染要投影的物体本体#xff0c;第二个pass渲染物体的阴影#xff0c;也就是说阴影的渲染是在物体的shader中而不是地面的shader。下面要讲的球体阴影的shader是放在要接受阴影的地面上。 原理如下图第一个pass渲染要投影的物体本体第二个pass渲染物体的阴影也就是说阴影的渲染是在物体的shader中而不是地面的shader。下面要讲的球体阴影的shader是放在要接受阴影的地面上。 原理如下图 1.根据点的入射光矢量和点到球体的矢量计算【点积】求出【角度】。 2.通过【角度】的sin值求出【对边】并与【球体半径】进行比较。 3.所求【对边的长度】大于【半径】说明该点被光照反之该点是阴影点。 // shader放在需要接受阴影的对象上 Shader Study/9_SphereShadow {Properties{_spPos(Sphere pos, vector) (0,0,0,1)_spR(radius, float) 1_Intensity(Intensity, range(0,1)) 0.5}SubShader{Pass{Tags{ LightMode ForwardBase }CGPROGRAM #pragma vertex vert #pragma fragment frag #include UnityCG.cgincfloat4 _spPos; // 球体位置float _spR; // 球体半径float _Intensity; // 阴影浓度float4 _LightColor0; // 颜色struct v2f {float4 pos:SV_POSITION;float3 litDir:TEXCOORD0;// 世界坐标中灯光方向矢量float3 spDir:TEXCOORD1; // 在世界坐标中投影球体方向矢量float4 vc:TEXCOORD2; // 逐顶点计算的光照};v2f vert(appdata_base v){v2f o;o.pos mul(UNITY_MATRIX_MVP, v.vertex);// 获取顶点视图位置o.litDir WorldSpaceLightDir(v.vertex);// 获取世界坐标中灯光对顶点的方向矢量o.spDir (_spPos - mul(_Object2World, v.vertex)).xyz;//世界坐标中该顶点到投影球体的矢量// 顶点的光照计算。该顶点在对象坐标中的光照方向矢量float3 ldir ObjSpaceLightDir(v.vertex);ldir normalize(ldir);o.vc _LightColor0 * max(0, dot(ldir, v.normal));//根据顶点的入射光线和法线角度求该顶点光照return o;}float4 frag(v2f i) :COLOR{float3 litDir normalize(i.litDir);//获取点的入射线单位向量float3 spDir i.spDir; // 获取该点到投影球体的矢量float spDistance length(spDir); //该点到球体的距离spDir normalize(spDir); //该点到投影球体的单位向量float cosV dot(spDir, litDir);// 该点到球体 与 该点到入射线的夹角float sinV sin(acos(max(0, cosV)));// 拿到余弦值大于0的角度求正弦float D sinV * spDistance; // 解三角形,求对边float shadow step(_spR, D); // 如果对边小于半径返回0该点为阴影点float c lerp(1 - _Intensity, 1, shadow);// shadow由0到1return i.vc * c; // 为0的时候是阴影点}ENDCG}} }这个脚本也放在需要接受阴影的对象上using UnityEngine; using System.Collections;public class ReceiveShadow : MonoBehaviour {public GameObject sphere;void Start () {Vector3 pos sphere.transform.localPosition;GetComponentRenderer().sharedMaterial.SetVector(_spPos, new Vector4(pos.x, pos.y, pos.z, 1f));GetComponentRenderer().sharedMaterial.SetFloat(_spR, sphere.transform.localScale.x / 2);}}
http://www.sadfv.cn/news/68619/

相关文章:

  • 小米手机做网站服务器在线代理访问
  • dedecms 旅游网站模板下载开网站平台需要多少钱
  • 博客网站seo交互设计好的网站
  • 网上做兼职的网站有哪些工作网页设计与制作思考建议200字
  • 重庆市建设工程安全管理网站天津电子商务网站建设
  • 做优化网站能以量取胜么海外短视频软件app下载安装
  • 查询网站开发语言排网站制作公司知道万维科技
  • wordpress建站图片效果做网站是怎么赚钱
  • 滨海做网站的价格星辰wordpress
  • 学做网站论坛vip共享深圳vi设计平台
  • 网站 建设 内容科技公司介绍
  • 浪潮云网站建设自己申请一个网站怎么做
  • 深圳龙华新区住房和建设局网站海外网络服务器官网
  • 密云建设银行招聘网站自主建站网站平台
  • 免费传奇网站免费传奇外网wordpress好慢
  • 怎么成立自己的网站青岛网站建设报价
  • 百度收录比较好的网站it运维服务商
  • 我们网站的优势教人做饮料的网站
  • 荔浦网站开发wordpress 洛米
  • 福建建设人才与科技发展中心网站如何做网站的关键词
  • 自己做直播网站网站建设与排名
  • 随便编一个公司网站做盗版视频网站
  • 网站开发工作 岗位怎么称呼建站必须要域名吗
  • 搭建一个网站湘潭网站建设 搜索磐石网络
  • 做地方网站赚钱吗wordpress 创建 rss
  • 无锡定制公司网站广州网页定制多少钱
  • 深圳自适应网站设计做校园网站的公司
  • 伍壹捌网站建设网页制作面试自我介绍
  • 自学手机网站开发视频推广平台有哪些
  • 诸暨哪些公司可以制作网站黄桃图片友情链接