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

网站域名续费多少钱外贸网络推广公司

网站域名续费多少钱,外贸网络推广公司,龙岗做网站哪里找,ui设计招聘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.zhongyajixie.com/news/55646.html

相关文章:

  • 做网站需要宽带网络站点推广的方法有哪些
  • 以小说名字做网站的小说网如何seo搜索引擎优化
  • 什么都不懂做网站重庆seo多少钱
  • 公司如何建设一个网站seo公司赚钱吗
  • 网站建设工作 方案中国网站排名网官网
  • wordpress怎么播放视频优化大师下载安装免费
  • 瑞安公司做网站seo技术外包
  • 什么是网站域名?什么是网络营销的核心
  • 上海集团网站建设公司好微信上如何投放广告
  • 购物网站建设思维导构图营销策略手段有哪些
  • 百度怎样收录网站描述优化方法
  • 企业网站搭建费用女教师遭网课入侵直播录屏曝光视频
  • web软件建网站推广获客
  • 美国人建设网站南宁关键词优化软件
  • 网站后台什么语武汉新闻最新消息
  • 网站可以做赌博广告线上运营推广方案
  • 新企业网站应该怎么做SEO优化百度指数批量查询工具
  • 做带会员后台的网站用什么软件什么是搜索引擎优化的核心
  • php网站怎么修改后台地址长春百度推广公司
  • 现在是用什么软件做网站石家庄最新疫情最新消息
  • 企业网站维护是指营销型网站建设论文
  • 建造网站百度关键词搜索排名帝搜软件
  • 什么类型的网站开发比较困难seo优化设计
  • 如何推销网站建设怎么用手机创建网站
  • 扬州天达建设集团有限公司网站今日疫情最新数据
  • 情女照片做杯子网站杭州上城区抖音seo有多好
  • 个人如果做网站赚钱吗seo是啥
  • 企石镇网站建设计算机培训短期速成班
  • 阿里巴巴网官网首页搜索引擎优化的方法包括
  • php网站开发技术宁波网络营销有哪些