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

产品朋友圈推广词网络优化工程师招聘信息

产品朋友圈推广词,网络优化工程师招聘信息,c2c模式流程图,营销qq是什么意思1 前言 选中物体消融特效中基于 Shader 实现了消融特效,本文将基于 Shader Graph 实现消融特效,两者原理一样,只是表达方式不同,另外,选中物体消融特效中通过 discard 丢弃片元,本文通过 alpha 测试丢弃片元…

1 前言

        选中物体消融特效中基于 Shader 实现了消融特效,本文将基于 Shader Graph 实现消融特效,两者原理一样,只是表达方式不同,另外,选中物体消融特效中通过 discard 丢弃片元,本文通过 alpha 测试丢弃片元。

        Shader Graph环境搭建、简单应用详见→Shader Graph简介。

        本文完整资源见→Unity3D消融特效。

2 消融特效实现

        创建 Unlit Shader Graph,重命名为 DissolveEffect,编辑如下。 

        其中,Alpha 测试需要在 Graph Settings 中开启,如下。

        为实现点击消失效果,需要编写脚本如下。

        DieController.cs

using UnityEngine;public class DieController : MonoBehaviour {private RaycastHit hit; // 碰撞信息private void Start() {hit = new RaycastHit();}private void Update() {if (Input.GetMouseButtonUp(0)) {GameObject hitObj = GetHitObj();if (hitObj != null) {GameObject rootObj = GetRootObj(hitObj);rootObj.AddComponent<DissolveEffect>();}}}private GameObject GetHitObj() { // 获取屏幕射线碰撞的物体Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);if (Physics.Raycast(ray, out hit)) {return hit.collider.gameObject;}return null;}private GameObject GetRootObj(GameObject obj) { // 获取根对象while (obj.transform.parent != null && obj.layer == obj.transform.parent.gameObject.layer) {obj = obj.transform.parent.gameObject;}return obj;}
}

        DissolveEffect.cs

using UnityEngine;[DisallowMultipleComponent] // 不允许在同一对象上挂载多个该组件
public class DissolveEffect : MonoBehaviour {private Renderer[] renderers; // 渲染器private Material dissolveMat; // 消融材质private float burnSpeed = 0.25f; // 燃烧速度private float burnAmount = 0; // 燃烧量, 值越大模型镂空的越多private void Awake() {dissolveMat = Resources.Load<Material>("DissolveMat");renderers = GetComponentsInChildren<Renderer>();}private void OnEnable() {foreach (Renderer renderer in renderers) {Material[] materials = renderer.sharedMaterials;Material[] dissolveMaterials = new Material[materials.Length];for (int i = 0; i < materials.Length; i++) {Material newMaterial = new Material(dissolveMat);SetTexture(materials[i], newMaterial);SetColor(materials[i], newMaterial);newMaterial.SetFloat("_BurnAmount", 0);dissolveMaterials[i] = newMaterial;}renderer.sharedMaterials = dissolveMaterials;}}private void Update() {burnAmount += Time.deltaTime * burnSpeed;foreach (Renderer renderer in renderers) {Material[] materials = renderer.sharedMaterials;foreach (Material material in materials) {material.SetFloat("_BurnAmount", burnAmount);}}if (burnAmount >= 1f) {Destroy(gameObject);}}private void SetTexture(Material oldMaterial, Material newMaterial) { // 设置材质if (oldMaterial.HasTexture("_MainTex")) {Texture texture = oldMaterial.GetTexture("_MainTex");newMaterial.SetTexture("_MainTex", texture);}}private void SetColor(Material oldMaterial, Material newMaterial) { // 设置颜色Color color = Color.white;if (oldMaterial.HasColor("_Color")) {color = oldMaterial.GetColor("_Color");}newMaterial.SetColor("_Color", color);}
}

        运行效果如下。

http://www.mmbaike.com/news/22967.html

相关文章:

  • 网站建设代理渠道百度搜索排行榜风云榜
  • 不配置iis做网站免费推广app
  • 郴州网站建设流程查指数
  • 做同城购物网站有什么优势吗免费seo快速收录工具
  • 下载建设银行官方网站网络营销学校
  • 内蒙古自治区建设厅网站首页企业网站推广渠道有哪些
  • 郑州网站优化公司电话网站建设seo优化培训
  • 营销型网站功能杭州百度竞价推广公司
  • 天河营销型网站建设批量优化网站软件
  • 网站地图怎么做一键导航做广告的怎么找客户
  • 吉安网站建设免费搭建个人网站
  • 网页源代码翻译seo搜索引擎优化怎么优化
  • 怎么做化妆品网站内容规划seo营销技巧
  • 软件wap网站公司宣传软文
  • 做网站准备材料seo教程技术
  • 网站建设基本流程图片网站性能优化方法
  • 做网站的是干嘛的百度网盘网页版登录入口
  • 网站模板好口碑营销成功案例
  • 做的网站不能放视频播放器下拉词排名
  • 英德网站seobt磁力狗
  • 极速时时彩网站开发外贸建站平台
  • 北京网络公司哪家最好宁波seo服务
  • 做淘宝门头的网站网络营销工具有哪些
  • google seo推广杭州搜索引擎优化公司
  • bootstrap做网站郑州谷歌优化外包
  • 厦门外贸网站建设公司百度怎么找人工客服
  • 数据分析案例网站b2b平台排名
  • 制作论坛类网站模板买号链接
  • 安徽安搜做的网站怎么样互联网外包公司有哪些
  • 怎样做英文网站网站的营销推广方案