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

入门图形学:屏幕波爆特效

最近bilibili看了黑神话悟空的UE5演示视频,感觉是真牛逼,地址:黑神花悟空UE5实机演示视频
遥想我也算是国内第一批用ue4的开发者了,15年开始用ue4.7源码版,做了一年多就又用回u3d了,哈哈,主要因为ue4不知道为何总是很慢,从c++模板工程开始编译启动慢、umap大了保存慢、c++compile慢、shader compile慢、打包编译就更慢了,还进行exit with code 0。
不知道ue4或者ue5现在改版得怎么样了,应该已经解决上面的问题了吧。
言归正传,我看完黑神话悟空的视频后,觉得整体画质和战斗感是真不错,我感觉我是做不到这么漂亮的画质了。不过其中两个功能点我可能用的上,所以用u3d实现一下:
1.战斗过程中的屏幕波爆特效
2.跑动中雪地的交互特效
这篇博客主要实现第一个屏幕波爆特效,先看看截图:
在这里插入图片描述
截的图比较模糊,视频2:50左右,打到小怪物后一个屏幕的波纹爆动,这就很有战斗感觉了。
我们可以把屏幕画面想象成一张图片,在图片的中心点为圆心,半径r为半径的圆包含的像素数组,对这个像素数组进行uv上的操作,具体要什么样的操作我们得思考一下,如下:
在这里插入图片描述
假设圆心黑点就是打击中心,圆的区域就是我们要操作的像素数组,画面呈现效果就是类似圆心的像素向外“扩散”,如下图:
在这里插入图片描述
脑海中想象以圆心为起点,四面八方发散的像素移动一段距离,会不会形成波爆效果?我们得写代码试一试,那么像素移动怎么实现呢?其实也就是像素所在的uv远离圆心。
先写一个imageeffectshader尝试一下。

Shader "ScreenEffect/WaveEffectShader"
{Properties{_MainTex ("Texture", 2D) = "white" {}[Enum(Off,0,On,1)]_OffOn("Effect Off On",int) = 0_UVCenter("UV Texcoord Center",vector) = (0.5,0.5,0,0)_UVRadius("UV Circle Radius",Range(0,1)) = 0.1_UVStep("UV Step",Range(0,1)) = 0.1_WavePower("Wave Power",Range(0,0.2)) = 0.01}SubShader{// No culling or depthCull Off ZWrite Off ZTest AlwaysPass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;return o;}sampler2D _MainTex;int _OffOn;float4 _UVCenter;float _UVRadius;float _UVStep;float _WavePower;fixed4 frag (v2f i) : SV_Target{if(_OffOn == 1){float2 uv = i.uv-_UVCenter.xy;          //_UVCenter指向当前片段uv的向量float dist2 = uv.x*uv.x+uv.y*uv.y;      //向量uv长度的平方float radius2 = _UVRadius*_UVRadius;    //圆半径的平方if(dist2<radius2){float step = dist2/radius2;if(step<_UVStep){//判断当前片段uv在圆内,且step比例小于我们设定的uvstep//则i.uv加权”一个朝外的向量“,形成像素朝外移动的效果i.uv += uv*_WavePower;}}}fixed4 col = tex2D(_MainTex, i.uv);return col;}ENDCG}}
}

效果如下:
在这里插入图片描述
这里说一下原理,就是确定一个屏幕uv,设定一个圆形范围,如果片段在圆形范围内,则根据片段到圆心的长度进行步长的uv加权,加权的向量则是圆心朝向片段的“朝外向量”,而uv的加权则导致像素的变化,形成一种向外爆发的效果。
不过因为屏幕是有横纵比例的,但是uv却是1:1,所有我们还得修改到标准的圆形。

Shader "ScreenEffect/WaveEffectShader"
{Properties{_MainTex ("Texture", 2D) = "white" {}[Enum(Off,0,On,1)]_OffOn("Effect Off On",int) = 0_UVCenter("UV Texcoord Center",vector) = (0.5,0.5,0,0)_UVRadius("UV Circle Radius",Range(0,1)) = 0.1_UVStep("UV Step",Range(0,1)) = 0.1_WavePower("Wave Power",Range(0,0.2)) = 0.01_ScreenAspect("Screen Width/Height",float) = 1}SubShader{// No culling or depthCull Off ZWrite Off ZTest AlwaysPass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;return o;}sampler2D _MainTex;int _OffOn;float4 _UVCenter;float _UVRadius;float _UVStep;float _WavePower;float _ScreenAspect;         //外部传入屏幕比例 宽度/高度fixed4 frag (v2f i) : SV_Target{if(_OffOn == 1){float2 uv = i.uv-_UVCenter.xy;          //_UVCenter指向当前片段uv的向量//也可以用_ScreenParams,当然直接外部一次计算aspect更好float dist2 = uv.x*_ScreenAspect*uv.x*_ScreenAspect+uv.y*uv.y;      //向量uv长度的平方float radius2 = _UVRadius*_UVRadius;    //圆半径的平方if(dist2<radius2){float step = dist2/radius2;if(step<_UVStep){//判断当前片段uv在圆内,且step比例小于我们设定的uvstep//则i.uv加权”一个朝外的向量“,形成像素朝外移动的效果i.uv += uv*_WavePower;}}}fixed4 col = tex2D(_MainTex, i.uv);return col;}ENDCG}}
}

创建一个ScreenAspect(width/height)的比例(16:9),然后在uv.x处理中ScreenAspect,则可以将uv.x校正到uv.y*(9/16)的范围内,形成正圆,如下:
在这里插入图片描述
接下来用c#代码进行效果操作。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;public class WaveEffectCtrl : MonoBehaviour
{public Material waveEffectMat;[Range(0, 1f)]public float waveTime = 1f;public AnimationCurve waveCurve;void Start(){float sp = (float)Screen.width / (float)Screen.height;waveEffectMat.SetFloat("_ScreenAspect", sp);}private void OnRenderImage(RenderTexture source, RenderTexture destination){Graphics.Blit(source, destination, waveEffectMat);}private void Update(){if (Input.GetMouseButtonDown(0)){Vector2 spos = Input.mousePosition;Vector4 uvpos = new Vector4(spos.x / Screen.width, spos.y / Screen.height, 0, 0);waveEffectMat.SetVector("_UVCenter", uvpos);waveEffectMat.SetInt("_OffOn", 1);float step = 0f;DOTween.To(() => step, x => step = x, 1f, waveTime).OnUpdate(() =>{waveEffectMat.SetFloat("_UVStep", step);}).OnComplete(() =>{waveEffectMat.SetInt("_OffOn", 0);}).SetEase(waveCurve);}}
}

每次点击屏幕,则形成一个波爆效果,顺便用dotween控制shader的参数,如下:
在这里插入图片描述
感觉怎么差点意思?我又看了看黑神话悟空的视频,感觉就是波爆圆内,像素好像更扭曲一些,而我的就一个uv朝向加权,效果还不是特别好,继续改进一下,比如添加一个sin进行扰动。

Shader "ScreenEffect/WaveEffectShader"
{Properties{_MainTex ("Texture", 2D) = "white" {}[Enum(Off,0,On,1)]_OffOn("Effect Off On",int) = 0_UVCenter("UV Texcoord Center",vector) = (0.5,0.5,0,0)_UVRadius("UV Circle Radius",Range(0,1)) = 0.1_UVStep("UV Step",Range(0,1)) = 0.1_WavePower("Wave Power",Range(0,0.5)) = 0.01_WaveRange("Wave Range",Range(1,1000)) = 5_WaveSpeed("Wave Speed",Range(1,100)) = 10_ScreenAspect("Screen Width/Height",float) = 1}SubShader{// No culling or depthCull Off ZWrite Off ZTest AlwaysPass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;return o;}sampler2D _MainTex;int _OffOn;float4 _UVCenter;float _UVRadius;float _UVStep;float _WavePower;float _WaveRange;float _WaveSpeed;float _ScreenAspect;         //外部传入屏幕比例 宽度/高度fixed4 frag (v2f i) : SV_Target{if(_OffOn == 1){float2 uv = i.uv-_UVCenter.xy;          //_UVCenter指向当前片段uv的向量//也可以用_ScreenParams,当然直接外部一次计算aspect更好float dist2 = uv.x*_ScreenAspect*uv.x*_ScreenAspect+uv.y*uv.y;      //向量uv长度的平方float radius2 = _UVRadius*_UVRadius;    //圆半径的平方if(dist2<radius2){float step = dist2/radius2;if(step<_UVStep){//判断当前片段uv在圆内,且step比例小于我们设定的uvstep//则i.uv加权”一个朝外的向量“,形成像素朝外移动的效果//加权的乘积中使用sin和time控制一个波动的加权i.uv += uv*_WavePower*sin(dist2*_WaveRange+_Time.y*_WaveSpeed);}}}fixed4 col = tex2D(_MainTex, i.uv);return col;}ENDCG}}
}

这里我在“朝外”向量加权的基础上又叠加了一个sin的“波动”乘积,使用time来控制sin的偏移,效果如下:
在这里插入图片描述
还是没有黑神话悟空的波爆有感觉,我感觉黑神话悟空中屏幕波爆,uv像素的偏移更加随机,我猜测可能用的noise贴图进行的像素uv加权。同时我这边animationcurve和speed、range、power参数也得好好调一调。
好,今天就到这里,准备洗了睡了,下一篇继续实现黑神话悟空的武器挥动波动特效,他武器挥动的战斗感做的也挺不错的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35257.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

unity学习笔记(一)

unity基础简介&#xff08;一&#xff09; unity是如何跨平台的&#xff08;附c和c#编译过程&#xff09; 前言 游戏引擎为了兼顾易用性和性能&#xff0c;往往使用一种高效率语言编写核心&#xff0c;使用另一种高级语言作为脚本语言&#xff0c;大部分游戏引擎的底层核心由…...

浮动布局,定位布局,伸缩盒布局

布局 默认文档流 1.元素显示的顺序和代码的顺序是一致的 2.块级元素独占一行空间&#xff0c;默认宽度为父元素的100%&#xff0c;高度由内容或者子元素决定 3.行内元素共享一行空间&#xff0c;默认宽高都由内容决定 浮动布局 float&#xff08;如果一个元…...

Python大数据分析学习基础篇(3)——数据结构

一、函数部分 1、闭包 所谓闭包其实跟回调函数有有相通之处。闭包可以延长作用时间和作用域。 def say(word):def name(name):print(word,name)return name hi say(你好) hi("小明") bye say("再见") bye("小明 ") 运行结果&#xff1a; …...

SQL 之共同使用ip用户检测问题【自关联问题】-HQL面试题48【拼多多面试题】

目录 0 问题描述 1 数据分析 2 小结 0 问题描述 1 数据分析 (1)数据准备 create table log (uid string,ip string,time string )row format delimited fields terminated by \t;insert into log values (a, 124, 2019-08-07 12:0:0), (a, 124, 2019-08-07 13:0:0), (b, 1…...

thinkphp6 通过命令行快速生成多应用模块报 【Command “build“ is not defined.】错误的解决办法

在项目下执行如下命令 php think build admin报如下错误 [rootlocalhost orange]# php think build admin[InvalidArgumentException] Command "build" is not defined. 解决办法&#xff1a; 1.查看官方文档&#xff1a; https://www.kancloud.cn/manual…...

线程的安全性 - 并发基础篇

简介 当多个线程访问某个类时&#xff0c;这个类始终都能表现出正确的行为&#xff0c;那么就说这个类是线程安全的。 目录 这次分三步走&#xff1a;关于相关知识点&#xff0c;放在文末的脑图里了&#xff0c;大家想看结论的&#xff0c;可直接下拉观看哦。 1.创建一个线…...

栈?队列?Java ArrayDeque常用首尾操作方法整理

对于用Java刷leetcode的同学一定很眼熟ArrayDeque这个数据结构&#xff0c;因为它既可以作为队列也可以作为栈&#xff0c;解题时使用频率很高。补充一嘴&#xff0c;Stack也能作为栈来用&#xff0c;但是作为存在设计缺陷的Vector类的子类&#xff0c;已经不推荐使用了。 Arr…...

开发程序流程

JavaWeb程序--> 将一个请求路径( 网络地址) 变成一条sql语句&#xff0c;发送给数据库进行查询&#xff1b; 会将获取的数据&#xff0c;通过页面的方式&#xff0c;展示给用户进行操作&#xff1b; Javaweb程序如何将一个路径变成一条sql语句&#xff1f;...

从入门到放弃:Markdown中的LaTeX使用教程

LaTeX CSDN不支持显示的语法我已用 标注显示 基本语法 展现形式 在正文中的LaTeX公式用$...$定义行内公式&#xff0c;$$...$$单独居中显示 希腊字母 显示命令显示命令α\alphaβ\betaγ\gammaδ\deltaε\epsilonζ\zetaη\etaθ\thetaι\iotaκ\kappaλ\lambdaμ\muν\…...

----- ElasticSearch -----

1.什么是RestFul 2.什么是全文检索 3.什么是Elastic Search 开源 Apache Lucen 工具包 java api特别多 solr 全文检索服务器 底层封装了lucene ElasticSearch 开源搜索引擎 java 4.ES中基本概念 1&#xff09;接近实时(NRT Near Real Time 2&#xff09;索引(index) 3&am…...

39.【Axure 10 】交元件(元件组)交互事件

鼠标相关交互事件 【高】单击时 元件(元件组)的是鼠标单击事件&#xff0c;可以实现鼠标单击的触发的交互事件。 【中】双击事件 元件(元件组)的是鼠标双击事件&#xff0c;作为触发条件。同时也是双击页面任何地方可触发。 【中】鼠标右击事件 元件(元件组)的鼠标右击是…...

PO / PO和 ERP的配置

一、前言 PO / PI 是SAP公司的一个中间件产品&#xff0c;用来辅助SAP系统和外围系统&#xff0c;( 当然外围系统也可以使用PO)。 PO可以完成一些数据内容转换,群发(一份数据发给多个异构系统),分发(数据区分特征发送给特定的系统)等功能. 二、ERP端 ERP和 PO的连接&#x…...

array_search() 在数组中搜索给定的值,如果成功则返回相应的键名

实例 在数组中搜索键值 "red"&#xff0c;并返回它的键名&#xff1a; <?php $aarray("a">"red","b">"green","c">"blue"); echo array_search("red",$a); ?>输出 a 如果…...

不断提升自己创造溢价的能力,附带学习经验

开头 互联网时代的到来&#xff0c;让我们获取知识变得更加简单&#xff0c;理论上讲只要你想学&#xff0c;便会有不尽的知识等你&#xff0c;只要方法得当&#xff0c;够努力&#xff0c;任何人都可以都有可能成为大牛。 自己在努力的基础上&#xff0c;还学习了一些高效的…...

从入门到精通!一个三非渣本的Android校招秋招之路,终局之战

前言: 本文收集整理了各大厂常见面试题N道&#xff0c;你想要的这里都有内容涵盖&#xff1a;Java 相关、Android 基础、Android Framework、三方源码、算法与数据结构、等技术栈&#xff0c;希望大家都能找到适合自己的公司&#xff0c;开开心心的撸代码。 实现方案 直接依…...

潇洒郎:Python建立自己的包与发布自己的包供他人使用

1、建立自己的包&#xff1a; 2、发布包&#xff1a; 3、安装包&#xff1a; 4、 安装包...

燕山大学数据结构知识点总结

数据结构知识点概括 第一章 概 论 数据就是指能够被计算机识别、存储和加工处理的信息的载体。 数据元素是数据的基本单位&#xff0c;可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。 数据结构的定义&#xff1a; 逻辑结构&#xff1a;从逻辑结构上描述数据&a…...

【计算机网络】前端优化总结

文章目录一、采用css雪碧图技术二、把css或者js文件进行合并或者压缩三、图片懒加载技术四、设置视频音频标签为none五、传输格式使用json六、采用cdn加速七、采用事件委托&#xff08;时间代理&#xff09;八、减少闭包使用九、尽量使用异步编程十、使用websocket十一、建立心…...

HTTP的反向代理(详细版)

#官方文档&#xff1a;https://nginx.org/en/docs/http/ngx_http_proxy_module.html #proxy_pass 后直接跟URL url是远处主机或者本机&#xff0c;都可以 proxy_pass http://10.0.0.18:8080;#8080后面无uri,即无 / 符号,需要将location后面 url 附加到proxy_pass指定的url后面…...

23 种设计模式详解

设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结&#xff0c;其中最出名的当属 Gang of Four (GoF) 的分类了&#xff0c;他们将设计模式分类为 23 种经典的模式&#xff0c;根据用途我们又可以分为三大类&#xff0c;分别为创建型模式、结构型模式和行为型模式。…...

清新简约教育培训汇报总结PPT-朴尔PPT

清新简约教育培训汇报总结PPT模板。一套,总结报告,工作汇报,幻灯片模板&#xff0c;内含黄色,红色多种配色&#xff0c;简约,小清新,卡通风风格设计&#xff0c;动态播放效果&#xff0c;精美实用。 希望下面这份精美的PPT模板能帮助到你 基本信息 用途&#xff1a;,总结报告…...

【详细教程】-Python绘图模块Matplotlib

文章目录1 简介2 绘图标记2.1 fmt参数2.2 标记大小与颜色3 绘图线3.1 线的类型3.2 线的颜色3.3 线的宽度3.4 多条线4 轴标签和标题4.1 标题4.2 图形中文显示4.3 标题与标签的定位5 网格线6 绘制多个图6.1 subplot6.2 subplots7 散点图8 柱形图9 饼图1 简介 下面的代码通过两个…...

Java List remove时报UnsupportedOperationException

遇到的问题&#xff1a; 解决后&#xff1a; 源代码&#xff1a; /*** 需求&#xff1a;删除字符串中的a8&#xff0c;并重新组成字符串* param args*/public static void main(String[] args) {String str "a3,a4,a5,a6,a8";String[] moIds str.split(StringPool.…...

【论文阅读笔记】Partial Convolution based Padding

论文地址&#xff1a;https://arxiv.org/abs/1811.11718 代码地址&#xff1a;https://github.com/NVIDIA/partialconv 论文小结 本文提出一种有效地解决因padding造成的无效信息增加的方案。   本文提出的解决方案借鉴于partial convolution的思想&#xff0c;以此一起解决…...

刚换了Mac本这些快捷键你知道吗?

Mac中主要有四个修饰键&#xff0c;分别是Command&#xff0c;Control&#xff0c;Option和Shift。 这四个键分别有自己的图案&#xff0c;他们经常出现在Mac应用程序中的菜单栏里&#xff0c;方便你随时学习新的快捷键。 MAC 键盘快捷键符号图例 keyboard-shortcuts-symbol-l…...

Solr搜索引擎

Solr搜索引擎前言一、下载&#xff1f;二、创建核心三、核心配置文件&#xff08;1&#xff09;包含对应得数据库 账号&#xff0c;密码&#xff0c;url&#xff0c;对应得sql&#xff0c;&#xff08;2&#xff09;查询出的列 对应核心字段上的属性&#xff08;3&#xff09;将…...

2021.8.23

写项目 画创建群的界面和查看好友资料界面 重新修改了一下好友列表的布局&#xff0c;增加显示查看好友资料&#xff0c;删除好友的按钮&#xff0c;还没有改好。。。。。。。。。。。。。。。 思考怎么实现表情包的发送...

thinkphp6 通过命令行快速生成多应用模块报 【Command “build“ is not defined.】错误的解决办法

在项目下执行如下命令 php think build admin报如下错误 [rootlocalhost orange]# php think build admin[InvalidArgumentException] Command "build" is not defined. 解决办法&#xff1a; 1.查看官方文档&#xff1a; https://www.kancloud.cn/manual…...

zlib开发笔记(三):zlib库介绍、在ubuntu上进行arm平台交叉编译

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/119877275 长期持续带来更多项目与技术分享&#xff0c;咨询请加QQ:21497936、微信&#xff1a;yangsir198808 红胖子(红模仿)的博文大全&#xff1a;…...

C++程序退出机制

C程序退出机制 从几个std函数入手分析&#xff1a; std::exit&#xff0c;用于正常流程退出&#xff0c;由用户显式调用。&#xff08;main()函数返回 调用main内部局部变量的dtor std::exit(0)&#xff09;。std::terminate&#xff0c;用于异常流程退出&#xff0c;一般由…...

鸿蒙手机版推送时间表,华为鸿蒙2.0手机版推送时间基本定档

华为已经在9月的时候发布了华为鸿蒙2.0系统&#xff0c;而且华为官方表示华为鸿蒙2.0系统将支持智能手机&#xff0c;可以升级更新到EMUI11系统的华为智能手机后续将可以升级更新到华为鸿蒙2.0系统之前已经有23款华为荣耀手机开启EMUI11系统内测公测升级&#xff0c;现在华为EM…...

华为手机怎么装鸿蒙,华为鸿蒙系统支持哪些手机 可以装华为鸿蒙系统手机

华为鸿蒙系统支持哪些手机?9 月 10 日在华为 2020 开发者大会上&#xff0c;鸿蒙 OS 2.0 系统正式亮相&#xff0c;2020 年 12 月将发布手机 Beta 版本&#xff0c;明年华为智能手机将全面升级支持鸿蒙 2.0。那么华为鸿蒙系统支持哪些手机呢?下面就让小编给大家介绍一下。一、…...

华为鸿蒙手机曝光,华为鸿蒙手机新特性曝光:充电期间系统将进行深度优化

日前&#xff0c;华为已经正式宣布将于6月2日晚上8点举行线上发布会&#xff0c;正式公布可以覆盖手机等移动终端的鸿蒙操作系统&#xff0c;华为EMUI微博正式更名为HarmonyOS。要知道&#xff0c;自从2019年华为官宣鸿蒙操作系统后&#xff0c;鸿蒙系统只是应用到智能电视等终…...

华为手机系统换成鸿蒙了吗,用安卓的华为手机,在鸿蒙系统发布后能换成鸿蒙吗?简单吗...

自从华为被谷歌暂停安卓&#xff0c;鸿蒙系统被爆出之后大家也是很关心这个新系统&#xff0c;国产系统不研究出来总是不会安心的&#xff0c;那么华为的鸿蒙手机系统发布了以后&#xff0c;原来用安卓的华为手机可以更新成鸿蒙系统吗&#xff1f;鸿蒙系统的底层很可能与安卓一…...

华为鸿蒙手机系统什么时候开始更新_来了!华为“鸿蒙”系统发布时间提前确认,90%以上手机都能升级...

来了!华为“鸿蒙”系统发布时间提前确认,90%以上手机都能升级 去年五月份之后,多家美国企业中断了与华为的合作,涉及到手机领域的,就有美光、英飞凌、赛灵思、高通这些硬件巨头。与此同时,谷歌也开始给华为“穿小鞋”,华为手机上使用的安卓系统就是谷歌开发的,尽管安卓…...

华为今年发布鸿蒙系统支持手环,华为鸿蒙系统2.0正式发布,明年将运用在手机上...

ZAKER 科技 9 月 10 日讯 今日华为在东莞松山湖举行华为开发者大会 2020&#xff0c;华为消费者业务 CEO 余承东进行了开幕演讲。余承东表示&#xff0c;华为 18N 全场景业务快速增长&#xff0c;今年二季度华为智能手机和腕上可穿戴设备均在成为全球、国内第一&#xff0c;智能…...

Python实现基于用户的协同过滤推荐算法构建电影推荐系统

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 基于用户的协同过滤推荐&#xff08;User-based CF&#xff09;的原理假设&#xff1a;跟你喜好相似的人…...

鸿蒙系统手机更新时间,来了!华为“鸿蒙”系统发布时间提前确认,90%以上手机都能升级...

原标题&#xff1a;来了&#xff01;华为“鸿蒙”系统发布时间提前确认&#xff0c;90%以上手机都能升级来了&#xff01;华为“鸿蒙”系统发布时间提前确认&#xff0c;90%以上手机都能升级去年五月份之后&#xff0c;多家美国企业中断了与华为的合作&#xff0c;涉及到手机领…...

华为手机鸿蒙更新时间,事关所有华为手机用户,鸿蒙正式升级时间终于确定

原标题&#xff1a;事关所有华为手机用户&#xff0c;鸿蒙正式升级时间终于确定让我们把时光倒回到2月22日&#xff0c;这一天华为Mate X2正式发布。在本次发布会上余承东正式对外公布&#xff0c;鸿蒙手机端操作系统将从四月底开始升级&#xff0c;首款机型就是华为Mate X2。从…...

华为扩大内存代码_华为手机增大手机内存代码 | 手游网游页游攻略大全

发布时间&#xff1a;2016-01-22我的世界手机版游戏中一个好的种子,可以省去玩家们前期建设的不少功夫,下面是小编给大家整理的我的世界手机版最新种子大全 手机版种子代码,跟种子特点介绍. 我的世界手机版最新种子大全 手机版种子代码 种子:10000 特点: ...标签&#xff1a;游…...

华为手机什么时候更新鸿蒙系统_华为鸿蒙OS即将迎来升级 手机版本或仍需时间...

新浪科技 张俊在2019年的华为开发者大会上&#xff0c;华为消费者业务CEO余承东正式对外发布了HarmonyOS。时隔一年后&#xff0c;华为开发者大会2020即将拉开帷幕。此次大会&#xff0c;HarmonyOS无疑仍会是重头戏之一&#xff0c;这个被寄予厚望的操作系统或将迎来新的升级。…...

AI洞观 | AI寒冬将至?大咖们呼吁重启AI

https://blog.csdn.net/McIl9G4065Q/article/details/83067212 2018-10-15 在所有的炒作中&#xff0c;人工智能被发现很难驾驭&#xff0c;AI承诺的前景在很大程度上还没有实现。 AI仍在继续兴起&#xff0c;尽管它并没有成为人们所期待的那种广泛性力量。在过去几年中&#…...

【计算机视觉】 摄像机标定

摄像机标定 齐次坐标 齐次坐标&#xff0c;将欧氏空间的无穷远点&#xff0c;与投影空间中有实际意义的消失点&#xff0c;建立起映射关系。 把齐次坐标转化为笛卡尔坐标的方法&#xff1a;是前面n-1个坐标分量分别除以最后一个分量即可 一些解释和性质&#xff1a; 比较好的…...

百度applo 代码解读

来自GitHub分享 https://github.com/YannZyl/Apollo-Note/tree/master/docs https://github.com/search?qtrackingradar...

GraphQL与Applo client的区别

GraphQL与Applo client的区别&#xff0c;相当于ECMAscript与JavaScript&#xff0c;一个是标准&#xff0c;一个是实现。GraphQL是比restful接口更新的技术&#xff0c;它采用图的格式描述数据请求&#xff0c;只需将关键字和参数按格式提交&#xff0c;后面所有都交给server处…...

flask logging不能写入到日志文件

错误原因 在使用logging记录flask日志的时候&#xff0c;发现INFO级别的日志始终写入不进去&#xff0c;代码如下 import flask# 实例化 flask app flask.Flask(__name__)if __name__ __main__:applogger app.loggerfile_handler FileHandler("error.log")file…...

理解SpringBoot 多环境搭配Applo配置中心启动过程

SpringBoot项目启动 Java程序永远是从main方法开始执行的SpringBoot项目首先 扫描 SpringBootApplication注解的启动类加载 resources目录下的 .properties 或者 .yaml文件在 application.properties文件内有 spring.profiles.activespring.profiles.active代表配置maven不同的…...

正点原子阿波罗开发板下载调试的bug

最近购买了正点原子的阿波罗的开发板&#xff0c;评估STM32F429的以太网功能。原子的开发板设计的不真不错&#xff0c;功能强大&#xff0c;外形设计优美。更多的优点我就不夸了。 新板子到手的肯定是首先连接仿真器下载一段代码进去&#xff0c;下载后发现程序不能运行到main…...

K8S集成Apollo配置中心

配置其实是独立于程序的可配变量&#xff0c;同一份程序在不同配置下会有不同的行为&#xff0c;常见的配置有连接字符串&#xff0c;应用配置和业务配置等 配置有多种形态 程序内部hardcode&#xff0c;不建议配置文件&#xff0c;比如Spring应用程序的配置一般放在applicati…...

apollo携程框架搭建部署细节

Apollo框架的使用和简单介绍 Apollo&#xff08;阿波罗&#xff09;是携程框架部门研发的分布式配置中心&#xff0c;能够集中化管理应用不同环境、不同集群的配置&#xff0c;配置修改后能够实时推送到应用端&#xff0c;并且具备规范的权限、流程治理等特性&#xff0c;适用…...