逍遥剑客

专注于3D游戏技术

排序:
默认
按更新时间
按访问量

Unity中使用GPU Instancing优化SkinnedMesh渲染

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

2018-07-10 10:29:04

阅读数:1006

评论数:0

草的交互的几种实现

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

2018-07-03 09:47:16

阅读数:1289

评论数:0

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

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

2018-05-09 20:15:14

阅读数:1966

评论数:1

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

需求背景 技术挑战 GUI框架技术 Unity渲染窗口 GUI Docking Property Editor 小结 需求背景 用Unity开发的游戏, 需要做个关卡编辑器. 如果只是内部用用, 其实直接扩展Unity就够了; 但问题是需要发布给外部的用户使用, 那么总不能...

2018-04-26 10:13:54

阅读数:2927

评论数:3

VR中物理的网络同步

参考: Networked Physics in Virtual Reality: Networking a stack of cubes with Unity and PhysX 之前做VR游戏时也是尝试了几种物理的同步方案, 最近看到Oculus Blog上也分享了一些, 经验, 做个笔记....

2018-03-09 10:47:35

阅读数:1988

评论数:0

UE4源码Build上传Perforce

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

2017-11-03 15:02:28

阅读数:3460

评论数:0

UE4衣服材质换色

游戏中衣服换色是个很普遍的需求, 除直接替换贴图外, 还有使用程序参数来控制颜色的做法. 原理就是使用一张灰白Mask图, 乘一个颜色, 替换原Diffuse贴图上的颜色 效果如下: 这种制作方式有两个缺点: 一是换色区域只能换一个固定颜色, 只有明亮不一样; 二是如果让...

2017-10-23 09:57:29

阅读数:4703

评论数:2

《Honey Select》捏人剖析

破CSDN的文章编辑器太难用了, 传个图要累死. 以后在知乎写完再转过来: https://zhuanlan.zhihu.com/p/28471808关于游戏中的捏人系统, 很少有资料提到怎么做, 印象中只有《天涯明月刀》分享过. 前段时间关注了个VR资源分享的公众号, 经常推送HS的捏人作品, ...

2017-08-12 01:29:48

阅读数:16410

评论数:1

Morph动画的转移

以往做游戏换装什么的, 大多是使用骨骼来调整体型/脸型什么的, 这算是比较成熟的技术了. 最近的项目里尝试了使用MorphTarget(BlendShape)来做个事情, 好处是能够做到逐顶点的调节, 可以做出比较细腻的效果, 但是与此同时来带了制作成本的上升. 不过看目前AAA级的游戏这种做...

2017-06-27 20:29:35

阅读数:5573

评论数:0

GDC2017: 《Lone Echo》中的VR动画

去年在Oculus Connect 3体验过《Lone Echo》的多人竞技玩法, 品质很高, 算是VR游戏中的一线大作了. 正好今年GDC上他们分享了一些关于VR中角色动画的一些经验, 还是比较有借鉴意义的, 毕竟Avatar做了全身的VR游戏少之又少. 这是一个太空失重背景下的游戏, 可以...

2017-06-21 21:30:43

阅读数:4729

评论数:0

UE4中程序驱动的LookAt动画

很多游戏中都有, 就是角色转头+眼镜转动盯着一个目标看, 通常是盯着镜头看用的比较多 UE4里实现这个功能很容易, 直接在AnimGraph里使用LookAt结点就可以了 4个LookAt分别控制脖子, 头, 左眼, 右眼的朝向, 脖子和头的角度比眼睛小, 转动速度也比眼睛慢. 实际项目中...

2017-05-16 00:29:23

阅读数:4524

评论数:4

GDC2017: PlayStation VR Worlds中的渲染优化

介绍了一种很trick的优化方法: Stencil Mask 这里他们称之为Resolution Gradient 主要的思想跟NVIDIA的MultiRes Shading差不多, 但是不用依赖硬件的特性才能实现. 简单一点说就是, 因为VR显示器透镜变形的原因, 边缘的渲染分辨率用不着...

2017-04-10 00:44:55

阅读数:3309

评论数:2

VRDC2017: Eagle Flight Technical Postmortem

Eagle Flight是我认为目前品质达到”优秀”的VR游戏, 所以关于它的一些分享是非常有参考价值的 这个游戏有几点挑战: * 怎么让高速的飞行尽可能的舒适? 因为VR中的移动非常难保证不会晕 * 规模非常庞大的场景, 还有非常多的植被 * PC上要达到90FPS, PS4上要达到...

2017-03-19 22:06:31

阅读数:2997

评论数:1

VRMMO的技术挑战

又是新的一年, 2016总体不错, 前两年的坚持和积累开始产生效果, 2017不忘初心, 继续前行. 从做PC网游开始, 到2014年做主机游戏, 2015年做单机VR游戏, 2016年做多人VR游戏, 我们一直在走一条非主流的路. 不过现在回头看看, 冒似绕了一条路走在了前面, 做为一名技术人...

2017-01-22 15:52:20

阅读数:3855

评论数:1

LowPloy风格的模型导入

LowPloy风格是一种小清新风格, 在美术设计上很有独特性. 典型的游戏作品有《纪念碑谷》《劳拉Go》等 2016上半年我们也进行过尝试, 从程序的角度来说, 这种风格是一种利好, 因为可以大大减少资源量, 对于性能的压力就小得多了, 所以在移动平台上会有比较好的性能表现. 这...

2017-01-05 12:44:15

阅读数:4729

评论数:8

Mesh的平面切割算法

看了一下UKismetProceduralMeshLibrary::SliceProceduralMesh的代码实现, 发现也没想像中的复杂, 只要把网格/三角形/顶点/边的关系理清楚, 逐步分解问题就可以把复杂问题给简化成一个个的小问题, 然后各个击破. 把注释和代码的步骤整理了一下, 变成了...

2017-01-05 00:23:19

阅读数:5843

评论数:2

YY一下VR游戏的潜入玩法

很早之前玩过两个小众的潜入游戏, 分别是《Warp》和《Mark of the Ninja》, 就喜欢上了这类游戏, 不过对我口味的不多, MGS5算一个. 最近又玩了另外两个潜入游戏: 《Aragami》和《Dishonored》, 发现这两个游戏有一个共同点: 游戏中的移动频繁依赖传送. 因为...

2016-12-08 00:24:55

阅读数:3497

评论数:0

VR中对带有约束的物理对象的交互

在VR游戏中, 使用双手(控制器)直接对虚拟世界中的对象进行交互, 已经成为一种”标准化”的设计, 一切看起来能够用手去交互的物体, 都需要附合物理规则. 简单的物理对象, 通常只是一个刚体(Rigidbody), 这种只需要模拟重力和惯性运动就可以了, 最多再调节一下摩擦力, 弹性, 空气阻...

2016-12-07 23:12:44

阅读数:3171

评论数:0

UE4中Lambda的一些用法

跟Delegate一起用FTimerDelegate TimerCallback; TimerCallback.BindLambda([] { // callback; });FTimerHandle Handle; GetWorld()->GetTimerManager().Set...

2016-10-19 15:01:32

阅读数:4281

评论数:0

移植了OVRLipSync到UE4

OVRLipSync 是Oculus为Unity开发的一个口型同步插件, 能够实时处理语音数据转换成相应的口型, 按照它的规范, 一共有15个口型: 上面的截图是基于MorphTarget的, 这个插件也提供了基于贴图的表现形式: 通过分析插件可以知道, 核心算法封装在OVRL...

2016-09-23 12:17:46

阅读数:4869

评论数:4

提示
确定要删除当前文章?
取消 删除