搜狐实习

2019.8.26~2019.8.30

New:

1.使用MONO脚本控制BlinkShader,初步demo完成。实现了控制宽、高、羽化、速度、自定义曲线。

2.整合到PostProcess框架,实现Blink.shader、Blink.cs、BlinkEditor.cs、BlinkController.cs。

Others:

1.贝塞尔曲线使用

public AnimationCurve anim;//define

dxtime = anim.Evaluate(time);//get func(x)

2.建立postprocess volume

http://www.ravedonut.com/archives/4705

3.建立controller

http://www.pencilsquaregames.com/changing-parameters-through-scripting-on-unitys-post-processing-stack-v2/

其中:使用 blinkSettings.dxtime.Override(0.1f);可以赋参数值的同时,并使其Onenable()。

4.unity C# Timer

https://blog.csdn.net/sinat_37730224/article/details/79230706

5.unity shader function

https://blog.csdn.net/a6627651/article/details/50680360

6.unity屏幕后处理全家桶v1、v2区别

https://blog.csdn.net/qq_18229381/article/details/79007376

 


2019.8.19~2019.8.23

New:

1.使用椭圆遮罩初步实现了blink眨眼的遮罩效果,仍需实现锯齿效果的去除和模糊,并引入time控制。

Others:

1.排查PC build问题,发现加载散文件形式会出现声音引擎找不到异常,但现在无法以加载代码的形式断点debug。

2.以输出LOG的形式继续定位问题,发现无法调用配置表初始化

3.使用2018.4.0f1个人版编译build灵笼没有出现上述问题,但仍然无法进入登陆界面。

4.使用7月中旬某版本的灵笼,PC build可以运行登陆,但偶尔会卡住在选择人物的界面,所以现怀疑是客户端业务逻辑有bug。


 

2019.8.12~2019.8.16

New:

1.优化了Dizziness眩晕效果,使得控制参数符合直观数值,按照美工进一步完善插件。

2.编译PC版本灵笼,以加载散文件的方式build并运行游戏,但运行后有些操作不能进行,打包bundle包出异常,正在重新排查并打包。

3.更新了最新的SVN上的灵笼版本。

Others:

1.学习计算机图形学相关知识,如坐标空间、光照模型,shader中vert函数如何做顶点变换,frag如何做片元变换,纹理坐标等。

2.学习了径向模糊实现原理。

 

2019.8.3~2019.8.10

New:

1.开发新的Dizziness眩晕效果,设计了shader+PostProcessEffectSettings.cs,以插件的而形式结合给定的控制参数(偏移尺度,缩放尺度,混合尺度)完成效果的实现。使用Sin(Time)函数设计周期性的效果变化,达到了美工要求的demo效果。

Fix:

1.使用Sin(Time)修复了效果周期性变化问题,该问题曾导致两种效果无法周期性交替变化。

2.修复了shader难以控制效果启始问题,原因在于shader只控制效果的展示,后处理插件只做数据的封装(OnEnable函数无法控制自身关闭,至初始化一次参数),后续引入Monobehavi逻辑控制time参数。

Others:

1.学习更多的shader开发,如了解后处理特效通常的开发流程,控制硬件的语言CGSL和HLSL等。

2.熟悉后处理的框架结构,

D:\LL\U3DClient\Assets\3rd\PostProcessing\Shaders\Builtins\Dizziness.shader --编写的shader

D:\LL\U3DClient\Assets\3rd\PostProcessing\Editor\Effects\DizzinessEditor.cs --显示在面板上的参数,用于给美工调试

D:\LL\U3DClient\Assets\3rd\PostProcessing\Runtime\Effects\Dizziness.cs    --编写的插件逻辑包括两个类:

(Dizziness:PostProcessEffectSettings/DizzinessRenderer:PostProcessEffectRenderer<Dizziness>)

 

D:\LL\U3DClient\Assets\3rd\PostProcessing\Shaders\Builtins\Uber.shader    --在uber中进行宏定义和return color(需要编写3个位置)

D:\LL\U3DClient\Assets\3rd\PostProcessing\Runtime\Utils\ShaderIDs.cs     --加入一些需要用cmd的传参变量,如纹理

D:\LL\U3DClient\Assets\3rd\PostProcessing\PostProcessResources.asset    --把新的shader声明放进去并填入下图所示资源


2019.7.29~2019.8.2

Fix:

1.修复dll调用bug,使用unity成功调用dll

New:

2.撰写matdlib使用说明

MATDLIB.dll使用说明

3.效果实现

抖动+重影+模糊,使用屏幕抖动和高斯模糊的方式设计了shader和C#,但与美工要求的效果存在一定差异,需要优化。

Others:

4.Shader学习

Shader基础 :属性,子着色器,tag,CG程序,法线贴图,光照模型,贴图效果追加,更改顶点模型。

U3D C# 函数  Awake() Start() OnEnable() OnDisable()


 

2019.7.22~2019.7.28

New:

1.使用CMAKE重新编译Dlib形成lib CMAKE DLIB

2. 使用CMAKE重新编译Opencv形成lib和dll

3.封装FaceMor成MATDLIB.DLL文件,暴露init及getresultimg接口

4.使用C++/C#接口成功调用MATDLIB.DLL文件

5.unity调用dll有问题,解决中


2019.7.16~2019.7.19

本周工作的内容:

New:

1.成功调试出人脸68特征点检测以及图像融合demo,效果如图所示。

2.实现模型压缩,原模型大小为95m左右,现引入压缩方法使得模型大小为5.8m

https://github.com/miaoerduo/dlib-face-landmark-compression

 

Fix:

1.问题:当DLIB无法检测人脸时,或输入图片为其他图片时,会抛出异常。

解决:使用try catch捕获异常,或调试找到object_detector if (dets_accum.size() == 0 || dets_accum.size() == NULL) { exit(-1); }

 

Others:

1.安装CMAKE、DLIB、OPENCV等所需的项目库 安装CMAKE、DLIB、OPENCV

2.了解解决方案:

(1)img1 -> PCA -> 中间帧 <- PCA <- img2

(2)特征点提取(dlib库)-> 三角剖分–> 变换(opencv) -> 调节参数得到不同的融合结果

3.阅读论文《多人脸图像的自适应渐变动画》内容梗概如下:

输入源图像S和目的图像T,首先归一化尺度处理,随后人脸位置检测,人脸排序及HIS调节,进行人脸特征点提取。然后计算 ST的特征差以计算出中间帧数目,随后使用图变形和扫描线方法生成中间帧得到最后的输出。4.其他方案:

速度优化:

https://blog.csdn.net/leo_812/article/details/51945743

关键点检测训练:

https://blog.csdn.net/elaine_bao/article/details/53054533

视频检测

https://blog.csdn.net/zmdsjtu/article/details/53454071

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值