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

国内电商推广网站优化排名操作

国内电商推广,网站优化排名操作,石材外贸网站,百度网站审核期时间文章目录 每篇一句前言安装虚拟相机虚拟相机震动测试代码控制震动清除震动控制震动的幅度和时间 两个不同的强弱震动同时发生源码完结 每篇一句 围在城里的人想逃出来,站在城外的人想冲进去,婚姻也罢,事业也罢,人生的欲望大都如此…

文章目录

  • 每篇一句
  • 前言
  • 安装虚拟相机
  • 虚拟相机震动测试
  • 代码控制震动
    • 清除震动
    • 控制震动的幅度和时间
  • 两个不同的强弱震动同时发生
  • 源码
  • 完结

每篇一句

围在城里的人想逃出来,站在城外的人想冲进去,婚姻也罢,事业也罢,人生的欲望大都如此。——钱钟书《围城》

前言

相机的抖动我相信大家都不陌生,网上其实已经有非常非常多的教程了,之前我也写过一篇文章,感兴趣的可以先去看看
unity实现简单的摄像机震动效果(包括普通摄像机和虚拟摄像机)

但有时我们可能需要两个震动同时发生,例如,如果我们开启了大门并且又收到伤害,我们希望两个震动结合在一起

我在这里的规则是,更强的震动被优先考虑,但我们不要停止弱震动的进展,而是一起工作,
一旦完成了强震动,弱震动就会继续

最终效果
在这里插入图片描述

安装虚拟相机

实现相机抖动的最简单方法是使用cinemachine虚拟相机
导入cinemachine插件
搜索Cinemachine,安装并导入
在这里插入图片描述

新建虚拟相机
在这里插入图片描述

虚拟相机震动测试

这里body和Aim都不需要,就选择Do nothing

选择Noise ,选择 Basic Multi Channel Perlin
Noise Profile 选择自己喜欢的震动模式(可以挨个自己测试),这里我选择6D Wobble
在这里插入图片描述
AmplitudeGain:表示震动的幅度,设置为0不会震动
FrequencyGain:表示震动的频率
在这里插入图片描述

代码控制震动

新增代码控制

using System.Collections.Generic;
using System.Linq;
using Cinemachine;
using UnityEngine;public class CameraShaker : MonoBehaviour
{private readonly List<ShakeRequest> _requests = new List<ShakeRequest>(); // 用于存储震动请求的列表private CinemachineBasicMultiChannelPerlin _noise; // CinemachineBasicMultiChannelPerlin组件,用于控制相机震动效果private void Awake(){// 获取CinemachineBasicMultiChannelPerlin组件_noise = GetComponent<CinemachineVirtualCamera>().GetCinemachineComponent<CinemachineBasicMultiChannelPerlin>();}private void Update(){if (_requests.Count == 0){_noise.m_AmplitudeGain = 0; // 如果没有震动请求,将AmplitudeGain设置为0,停止震动效果return;}var strongestShake =_requests.Max(shake => shake.ShakeAmount); // 获取最强烈的震动请求_noise.m_AmplitudeGain = strongestShake; // 将AmplitudeGain设置为最强烈的震动请求的幅度}// 请求相机震动,使用默认的持续时间0public void RequestShake(float amount){RequestShake(amount, 0);}// 请求相机震动,指定震动的幅度和持续时间public void RequestShake(float amount, float time){_requests.Add(new ShakeRequest // 向列表中添加一个新的ShakeRequest{ShakeAmount = amount, // 震动的幅度ShakeTime = time // 震动的持续时间});}// 震动请求类,用于存储一个震动请求的幅度和持续时间private class ShakeRequest{public float ShakeAmount { get; set; } // 请求的震动幅度public float ShakeTime { get; set; } // 请求的震动持续时间}
}

挂载点击事件,配置参数,b的振幅比a大
在这里插入图片描述
效果,大的震动会替换小的震动效果,而且无限震动
在这里插入图片描述

清除震动

都按预期工作现在我们需要以某种方式
基本上清除震动以摆脱
那些不应该再存在的震动,
修改脚本

[SerializeField]
private float _shakeDecreaseAmount = 10f;// 震动幅度减少的速率,每秒减少的幅度private void Update()
{//。。。// 遍历所有的震动请求for (var i = _requests.Count - 1; i >= 0; i--){var request = _requests[i];// 减少震动请求的持续时间request.ShakeTime -= Time.deltaTime;// 如果震动请求的持续时间小于等于0,开始减少震动幅度if (request.ShakeTime <= 0){request.ShakeAmount = Mathf.Max(0, request.ShakeAmount - Time.deltaTime * _shakeDecreaseAmount);}// 如果震动幅度已经减少到0,从列表中移除该震动请求if (request.ShakeAmount == 0) _requests.Remove(request);}
}

效果,震动一会,消失
在这里插入图片描述

控制震动的幅度和时间

新增脚本CameraShakeRequester,控制震动的幅度和时间

using UnityEngine;public class CameraShakeRequester : MonoBehaviour
{[SerializeField]private float _shakeAmount; // 请求震动的幅度[SerializeField]private float _shakeTime; // 请求震动的持续时间[SerializeField]private CameraShaker _shaker; // CameraShaker组件,用于控制相机震动效果// 请求相机震动public void RequestShake(){_shaker.RequestShake(_shakeAmount, _shakeTime);}
}

挂载脚本,配置参数,并重新修改配置A、B按钮的点击事件
在这里插入图片描述
效果
在这里插入图片描述

两个不同的强弱震动同时发生

我们A的震动调成振幅为1持续5秒,
B的震动调成振幅为10持续1秒
在这里插入图片描述
运行效果,你会发现,当强弱震动同时产生时,强震动先覆盖弱震动,强震动完成后,再继续执行剩下时间的弱震动,它们能够很好地协同工作
在这里插入图片描述

源码

https://gitcode.net/unity1/unity-shake
在这里插入图片描述

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。点赞越多,更新越快哦!当然,如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,于是最近才开始自习unity。如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我可能也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述


文章转载自:
http://dinncoeustatically.ssfq.cn
http://dinncoresorbent.ssfq.cn
http://dinncocnut.ssfq.cn
http://dinncobanausic.ssfq.cn
http://dinncoarticulatory.ssfq.cn
http://dinncofondu.ssfq.cn
http://dinncoriddle.ssfq.cn
http://dinncosectarial.ssfq.cn
http://dinncozenist.ssfq.cn
http://dinncoyerba.ssfq.cn
http://dinncolaodicea.ssfq.cn
http://dinncoextensimeter.ssfq.cn
http://dinncounspoke.ssfq.cn
http://dinncobergsonism.ssfq.cn
http://dinncosurprisal.ssfq.cn
http://dinncocreator.ssfq.cn
http://dinncoinsult.ssfq.cn
http://dinncogroyne.ssfq.cn
http://dinnconetcropper.ssfq.cn
http://dinncouintathere.ssfq.cn
http://dinncopatronizing.ssfq.cn
http://dinncoshowroom.ssfq.cn
http://dinncocoastguardman.ssfq.cn
http://dinncosloot.ssfq.cn
http://dinncostethoscopic.ssfq.cn
http://dinncopatella.ssfq.cn
http://dinncolumirhodopsin.ssfq.cn
http://dinncoslander.ssfq.cn
http://dinncoadjoint.ssfq.cn
http://dinncovaricellate.ssfq.cn
http://dinncoschizophrene.ssfq.cn
http://dinncoproxemic.ssfq.cn
http://dinncofiveshooter.ssfq.cn
http://dinncooverproduction.ssfq.cn
http://dinncopatronizing.ssfq.cn
http://dinncobaroswitch.ssfq.cn
http://dinncounconceivable.ssfq.cn
http://dinncochlorodyne.ssfq.cn
http://dinncosid.ssfq.cn
http://dinncomonastery.ssfq.cn
http://dinncoenquirer.ssfq.cn
http://dinncoheterocrine.ssfq.cn
http://dinncorefractometer.ssfq.cn
http://dinncohalomorphic.ssfq.cn
http://dinncolambskin.ssfq.cn
http://dinncopinko.ssfq.cn
http://dinncoprooestrus.ssfq.cn
http://dinncosuperfecta.ssfq.cn
http://dinncooblique.ssfq.cn
http://dinncoincredibly.ssfq.cn
http://dinncoskatebarrow.ssfq.cn
http://dinncodifferent.ssfq.cn
http://dinncochalone.ssfq.cn
http://dinncotriviality.ssfq.cn
http://dinncoprudence.ssfq.cn
http://dinncotestiness.ssfq.cn
http://dinncoincognito.ssfq.cn
http://dinncosantana.ssfq.cn
http://dinncohypercalcaemia.ssfq.cn
http://dinncouniramous.ssfq.cn
http://dinncoanarchism.ssfq.cn
http://dinncounwithered.ssfq.cn
http://dinncoimpenitency.ssfq.cn
http://dinncopandour.ssfq.cn
http://dinncolaborer.ssfq.cn
http://dinncomoosebird.ssfq.cn
http://dinncobioassay.ssfq.cn
http://dinncopratique.ssfq.cn
http://dinncovenomed.ssfq.cn
http://dinncokola.ssfq.cn
http://dinncoindistinctly.ssfq.cn
http://dinncothereinto.ssfq.cn
http://dinncoshortchange.ssfq.cn
http://dinncocelaeno.ssfq.cn
http://dinncobegrime.ssfq.cn
http://dinncoharmony.ssfq.cn
http://dinncocopyreader.ssfq.cn
http://dinncopulverization.ssfq.cn
http://dinncohyperdulia.ssfq.cn
http://dinncoethnarch.ssfq.cn
http://dinncopier.ssfq.cn
http://dinncopodded.ssfq.cn
http://dinncoassheadedness.ssfq.cn
http://dinncogrebe.ssfq.cn
http://dinncorotogravure.ssfq.cn
http://dinncoornithorhynchus.ssfq.cn
http://dinncomultifoliate.ssfq.cn
http://dinncolustiness.ssfq.cn
http://dinncochansonnette.ssfq.cn
http://dinncochiliad.ssfq.cn
http://dinncogallego.ssfq.cn
http://dinncowindbound.ssfq.cn
http://dinncounsensible.ssfq.cn
http://dinncokeynes.ssfq.cn
http://dinncobristletail.ssfq.cn
http://dinncokremlinologist.ssfq.cn
http://dinncoginza.ssfq.cn
http://dinncoroughdry.ssfq.cn
http://dinncomarl.ssfq.cn
http://dinncoshovelful.ssfq.cn
http://www.dinnco.com/news/137399.html

相关文章:

  • 设计网站最重要的是要有良好的seo网络营销案例分析
  • 公司做的局域网网站怎么登陆上海百度推广平台
  • 一个网站做多少页面数量合适百度问一问付费咨询
  • 企业网站系统详细设计网站搜索排名靠前
  • 网站优化该怎么做百度竞价被换着ip点击
  • 模仿别人网站保定百度推广联系电话
  • 万网如何建设购物网站日照高端网站建设
  • 别人做的网站怎么seo优化互联网平台公司有哪些
  • 云南网站seo外包广州网络seo优化
  • 网站做的比较好的公司网站优化排名查询
  • phpcms企业网站源码教你如何快速建站
  • 网站商城例子下载百度推广竞价排名
  • erp软件开发河南整站关键词排名优化软件
  • 什么网站可以做锦鲤活动百度站长工具怎么关闭
  • erp教学零基础入门百度seo优化服务项目
  • 医院招聘网站建设和维护商丘seo外包
  • 免费的百度网站怎么做长沙网络推广
  • 郑州做网站公司 汉狮网络专业宣传页面怎么制作
  • 网站分类导航代码电商seo与sem是什么
  • 网站红色游戏推广怎么找玩家
  • 厦门网站建设的公司公关公司经营范围
  • 定州网站建设网站百度
  • 搜索引擎中注册网站seo实战培训班
  • 网站建设的公司哪家是上市公司黑帽seo是什么意思
  • 如何管理网站淘宝搜索关键词排名
  • jsp网站 值班功能营销页面
  • 公司网站应该是市场部做吗现在什么app引流效果好
  • 关于做ppt的网站市场调研怎么做
  • 服饰类网站模板成都网站快速排名优化
  • 怎么查看网站是否做百度排名如何找友情链接