14 xoyojank

尚未进行身份认证

我要认证

来如流水兮逝如风,不知何处来兮何所终

等级
TA的排名 914

UE4 Cook On The Fly通过数据线连接Android手机

UE4如果需要在真机上测试, 通常编译+打包+安装需要很长的时间.所以UE4提供了Cook On The Fly的功能, 就是默认只编译, 资源的Cook在运行时由FileHostServer进行Cook, 这样就不用每次测试经历痛苦的打包过程.对于Android平台来说, 只需要安装apk, 资源文件(默认在obb里)仍然保存在PC机上, 通过网络进行访问.PC机做为FileHostServer, 对于请求的文件进行Cook , 如果没有请求的则不会进行Cook.但是对于公司的网络策略来说, 手机

2020-06-26 18:54:18

UE4多个分支版本兼容相同的工程dll

如果是从源代码编译出来的UE4, 明明代码完全一样, 不同机器编译出来的dll却无法兼容, 这对于多分支开发非常不方便.在老版本里有个通过版本号判断的逻辑, 新版本改没了. 分析UE4源码后发现目前是通过BulidId来判断dll跟引擎是不是兼容的. 那BuildId是哪里来的呢?其实像发布的UE4版本是通过"-Formal"参数来生成固定的BuildId的, 不过我们也可以直接修改Engine/Build/Build.version来生成固定的BuildId:改完后如果代码一样, 不同机器

2020-06-26 18:49:08

踩了个TextureArray的坑

就是做了两层混合的材质, 采样了两TextureArray, 但是因为TextureIndex是动态计算的, 就会出现同一张纹理在不同的Texture2DArraySample里采样的情况, 然后就会出现一条一个像素宽的小缝.实验了一下, 只采样mip0或者两层纹理的UV一样的话, 就不会出现这个问题. 所以推测是采样时相邻像素是另一层纹理的UV, 导致miplevel计算错误, 然后这条线的上像素的mip是错的, 导致跟相邻像素无法连续.目前除了把纹理的UV(Tiling)改成一样的, 还没有想到.

2020-06-26 18:42:02

远程桌面启动Houdini

最近疫情比较严重大家都是在家办公的, 需要远程登录公司里的开发机. 但是远程桌面无法直接启动Houdini, 会报OpenGL的错这个方法也适用于一些依赖OpenGL硬件加速的程序, 如Substance等原理就是中断当前远程登录的session, 然后再启动程序, 这时候就可以使用OpenGL加速了代价就是重新登录一次, 脚本是这样的:@echo offecho.echo Remo...

2020-02-12 14:30:25

Houdini的皮球

跟着教程做的一第一个模型attribute create节点uv flatten节点material编辑uv编辑

2019-07-20 11:01:05

角色表情Blendshape重定向方法

注: 文章是美术同事写的, 我只是放这里记录一下问题重点:需要将已有角色脸型模型的所有表情Blendshapes精确的重定向到另一个五官位置不一样,模型布线也不一样的角色上。首先因为两套角色五官不一样,所以单一通过Wrap变形器无法实现精确的重定向。其次,由于两个面部模型布线也不一样,也不能通过Blendshape直接实现变形。解决办法:(1):首先将案例脸型用晶格变形来匹配我们目标角色...

2019-01-31 18:16:40

UE4 Shader开发的一些东西

http://blog.kiteandlightning.la/ue4-hlsl-shader-development-guide-notes-tips/Ctrl+Shift+.可以编译引擎Shader并重新载入, 但是对Plugins下的无效如果要在RenderDoc里看到Shader代码, 需要打开r.ShaderDevelopmentMode=1, r.Shaders.Optimize...

2019-01-12 16:37:58

UE4 LightRendering

最近把HairWorks整合到了UE4 4.20, 整合的过程中发现了一些没法直接merge的代码, 主要集中在LightRendering.cpp和DeferredLightingPixelShader.usf中. 所以顺便简单读了一下代码, 把其中的一些关键字概念整理出来方便查阅理解.Uniform Buffer StructUE4使用了一些宏来辅助定义UniformBuffer中的结...

2018-11-09 19:10:11

Android平台上的Native内存分析

文章目录背景UE4的内存统计memreportMemoryProfiler2LLMAndroid进程内存DDMSMemoryAnalyzer背景UE4游戏在Android上的进程内存占用(PSS)很让人困惑, 没有一个清晰直观的方式可以统计到每一部分的内存占用. 所以在做内存分析的过程中顺手做了一个统计工具, 可以从系统底层统计UE4在Android的所有内存分配(包括Graphics部分),...

2018-09-28 09:39:03

Unity中使用GPU Instancing优化SkinnedMesh渲染

有这么个需求: 一堆不会动的SkinnedMesh, 通过物理模拟出死亡姿势后, 需要优化性能, 不然才10FPS首先想到的做法是转成StaticMesh. 试了一下直接超出了Unity的顶点Index数量限制, 所以放弃, 再说转换完后也不方便编辑. 另一个思路就是使用Instanced Skinned Mesh Rendering, 找到两个参考:https://github.com/Unit...

2018-07-10 10:29:04

草的交互的几种实现

基本原理都差不多, 通过在VertexShader种更改顶点的位置实现, 各种做法的差别主要是偏移量的计算. 第一种做法: 根据顶点的UV来计算顶点偏移的权重, 因为草叶一般是沿纹理的一个轴方向分布的. 偏移的远近是根据顶点位置和玩家位置(寄存器传入)计算距离后得出. 第二种做法: 根据草的Pivot来计算旋转, 这种做法比直接拉伸顶点的效果要好一些, 不会出现草被拉长的情况. ...

2018-07-03 09:47:16

基于Unity的编辑器开发(二): 进程间通信

共享代码进程间通信通信协议其它共享代码首先要做的, 是需要编辑器和Unity共享一部部分代码, 至少协议定义和解析我不想写两遍. 虽然有protobuf这样的工具库, 但是如果不是跨语言的话, 我觉得没必要引入另一套流程. 所以我就想能不能让一个C# dll库可以同时被Winforms的编辑器和Unity脚本引用呢? 考查了一下还是可以的:Unity的.Net默...

2018-05-09 20:15:14

基于Unity的编辑器开发(一): GUI框架技术

需求背景技术挑战GUI框架技术Unity渲染窗口GUIDockingProperty Editor小结需求背景用Unity开发的游戏, 需要做个关卡编辑器. 如果只是内部用用, 其实直接扩展Unity就够了; 但问题是需要发布给外部的用户使用, 那么总不能把全套资源和Unity发给他们, 所以就诞生了这么个奇葩需求. 技术挑战既然用了Unit...

2018-04-26 10:13:54

VR中物理的网络同步

参考: Networked Physics in Virtual Reality: Networking a stack of cubes with Unity and PhysX之前做VR游戏时也是尝试了几种物理的同步方案, 最近看到Oculus Blog上也分享了一些, 经验, 做个笔记.多人VR游戏中的物理交互, 有这么几个要求:玩家对物体交互不能有延迟物体能静止后稳定, 不...

2018-03-09 10:47:35

UE4源码Build上传Perforce

UE4每次升级个版本总是要提交大量文件到Perforce, 是件很麻烦的事. 我们的引擎编译好了会连同Binaries一起上传, 这样美术和策划都可以直接使用跟程序一样的版本. 这样的话, Perforce上的引擎就需要有这些注意事项:引擎目录完全包含所有代码和引擎依赖资源引擎编译输出的dll, exe等也都需要提交, 保证策划和美术能够直接拉取引擎版本引擎编译过程中会写入的文件, 需要改成w

2017-11-03 15:02:28

UE4衣服材质换色

游戏中衣服换色是个很普遍的需求, 除直接替换贴图外, 还有使用程序参数来控制颜色的做法. 原理就是使用一张灰白Mask图, 乘一个颜色, 替换原Diffuse贴图上的颜色 效果如下: 这种制作方式有两个缺点: 一是换色区域只能换一个固定颜色, 只有明亮不一样; 二是如果让玩家来自定义颜色, 总会出现一些亮瞎眼的配色, 影响整个游戏的画面美感. 那有没有一种方法可以同时更换多

2017-10-23 09:57:29

《Honey Select》捏人剖析

破CSDN的文章编辑器太难用了, 传个图要累死. 以后在知乎写完再转过来: https://zhuanlan.zhihu.com/p/28471808关于游戏中的捏人系统, 很少有资料提到怎么做, 印象中只有《天涯明月刀》分享过. 前段时间关注了个VR资源分享的公众号, 经常推送HS的捏人作品, 所以才引发了我的好奇心, 决定一探究竟.HS之所以能够有这么强的定制能力, 是因为第三方MOD工具的存...

2017-08-12 01:29:48

Morph动画的转移

以往做游戏换装什么的, 大多是使用骨骼来调整体型/脸型什么的, 这算是比较成熟的技术了. 最近的项目里尝试了使用MorphTarget(BlendShape)来做个事情, 好处是能够做到逐顶点的调节, 可以做出比较细腻的效果, 但是与此同时来带了制作成本的上升. 不过看目前AAA级的游戏这种做法已经比较普遍了, 所以还有必要把制作流程理一下. 常见的问题: 比如我们人的身体通过Morph做了胖瘦

2017-06-27 20:29:35

GDC2017: 《Lone Echo》中的VR动画

去年在Oculus Connect 3体验过《Lone Echo》的多人竞技玩法, 品质很高, 算是VR游戏中的一线大作了. 正好今年GDC上他们分享了一些关于VR中角色动画的一些经验, 还是比较有借鉴意义的, 毕竟Avatar做了全身的VR游戏少之又少. 这是一个太空失重背景下的游戏, 可以用手抓住环境物体或者推墙进行反向的漂浮. 一开始他们是通过手部射线了检测是不是抓住静态几何体, 通过让身

2017-06-21 21:30:43

UE4中程序驱动的LookAt动画

很多游戏中都有, 就是角色转头+眼镜转动盯着一个目标看, 通常是盯着镜头看用的比较多 UE4里实现这个功能很容易, 直接在AnimGraph里使用LookAt结点就可以了 4个LookAt分别控制脖子, 头, 左眼, 右眼的朝向, 脖子和头的角度比眼睛小, 转动速度也比眼睛慢. 实际项目中用的时候, 有个需求是NPC播放一段动画师做的全身动画后, 再盯住玩家, 然后再播, 再盯, 如此循环.

2017-05-16 00:29:23

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。