首页
学习
活动
专区
工具
TVP
发布

简易现代魔法

自动搬运自 https://zhiruili.github.io/
专栏作者
31
文章
27617
阅读量
15
订阅数
AI 届新语言 Mojo 要?????
这个标题里放一个 emoji 有点哗众取宠的意思,但真不是我想放,而是 Mojo 这语言自己的官网就长这样 1。而且,这语言的标准文件后缀一个是「.mojo」另一个就是「.🔥」。说实话,这个操作其实挺无聊的,也有点败好感,但如果说这个语言能在完全兼容 Python 的基础上大幅提高执行效率,并且作者是 LLVM 发起人 Chris Lattner 2,是不是突然又有兴趣继续了解它了呢?Mojo 被设计为 Python 语言的超集,并增加了许多特性,包括:
zhiruili
2023-10-20
2220
Unreal 骨骼动画源码剖析
其中,USkeletalMesh 是骨架网格体模型数据对象。USkinnedMeshComponent 支持了对骨架网格体的渲染,通过 FSkeletalMeshObject 将渲染所需数据发送到渲染线程,具体的渲染方式也由这个对象决定,例如使用 CPU 还是 GPU 进行渲染。 USkeletalMeshComponent 在此基础上支持了骨骼动画播放,具体动画播放逻辑由 UAnimInstance 实现。
zhiruili
2023-10-20
6891
Epic 新语言 Verse 介绍
Verse 是 Epic 开发的新编程语言,由 Haskell 圈的大佬 SPJ 主导开发。
zhiruili
2023-10-20
6710
Unreal 基于 PoseAsset 捏人
PoseAsset 是 UE 提供的一种基于曲线驱动动画的方式 1。传统动画使用关键帧来控制,关键帧之间的状态计算使用前后关键帧状态插值来实现,而 PoseAsset 则是通过定义动画的极值,然后对这些极值进行加权来组合出动画。比如先定义眼睛睁开到最大和闭合的状态,然后,通过曲线控制它们的权重,实现眨眼的效果。一个常见的应用场景就是基于 FACS 2 实现面部表情。而这个能力也非常适合用于进行游戏中常见的捏人操作,在本文中我们将会讨论如何在 UE 中使用 PoseAsset 实现捏人功能,并进一步优化工作流。
zhiruili
2023-10-20
4090
Unreal Slate UI 的使用
Slate 是一个跨平台的 UI 框架,它完全由 C++ 实现,UE 中的工具以及引擎编辑器本身都是用它实现的。它不依赖 Editor、Engine 模块,因此可以用来写一些独立的不依赖引擎的应用,不过大多数情况下我们主要还是用它开发 UE 的工具。Slate UI 框架虽然强大,但使用起来不太直观,这篇文章将解析 Slate UI 的使用方法以及其中的一些实现。
zhiruili
2023-10-20
3850
RBF 插值的理论与应用
径向(Radial Direction)是指沿半径的直线方向,或垂直于轴的直线方向1。径向基函数(Radial Basis Function,RBF)是一个取值仅依赖于到原点距离的实值函数2。在机器学习中,RBF 常被用作支持向量机的核函数。而我们在这里主要讨论 RBF 应用于插值的情况。
zhiruili
2023-10-20
4720
UE4 Module 新建与使用
UE 的 module 是一堆 C++ 类和代码的集合,类似于 DLL,而 UE 本身也是由一堆 module 构成的。将代码拆分为 module 的目的是:
zhiruili
2023-10-20
4040
Unreal 骨骼动画入门(二)
在前一篇文章中,我们已经了解了骨骼动画相关资源的功能,学习了如何将美术提供的动画资源放在蓝图中进行控制,也了解了如何在动画间进行平滑切换,并最终将动画应用到了角色身上,实现了角色在不同速度和方向下的移动效果。在这篇文章中我们将基于前一篇文章的 demo 继续学习 UE 骨骼动画其他功能的使用。
zhiruili
2023-10-20
2040
Unreal 骨骼动画入门(一)
在这篇文章中,我们将从零开始学习 UE 的骨骼动画基本使用方法,通过一个 demo 工程,演示如何利用 UE 提供的骨骼动画能力来实现角色在不同速度和方向下的移动效果。
zhiruili
2023-10-20
4200
错误使用 C++ 模板特化产生的坑
答案是:链接方式 1 产生的 main 输出 specialization,链接方式 2 产生的 main 输出 normal。
zhiruili
2023-10-20
1910
实时渲染中的 PBR 材质
基于物理的渲染(PBR,Physically Based Rendering)1 指在不同程度上基于现实世界的物理理论的渲染技术的集合。它包括了 2:
zhiruili
2023-10-20
3260
Unity 和 Android 的工程集成
有时候,我们需要在 Unity 里调用一些 Android 的功能,这些功能在 Unity 中可能并没有提供接口,需要在 Android 平台上实现。此时,我们需要有一个方法来让 Android 代码和 Unity 代码互调用。这里记录一下操作方法,并提供一个工具来简化两个工程之间的集成流程。
zhiruili
2023-10-20
3430
Prometheus 上报和查询
Prometheus 会定期去对数据进行采集,每一次采集的结果都是一次采样的样本(sample),这些数据会被存储为时间序列,也就是带有时间戳的 value stream,这些 value stream 归属于自己的监控指标。
zhiruili
2023-10-20
4660
Android 动画笔记
属性动画几乎可以实现任何想要的动画效果,非常具有可扩展性并且非常稳健。属性动画可供设定的选项包括了:
zhiruili
2023-10-20
1620
Apple 官方指南 - Dispatch Queues
Grand Central Dispatch(GCD)分派队列(dispatch queues)是一个用于处理任务(tasks)的强大工具。分派队列让你能够异步(asynchronously)或同步地(synchronously)执行任意的代码块(blocks of code)。你可以使用分派队列来处理几乎所有的可放在不同线程中处理的任务。使用分派队列的优点在于它们相对于直接使用线程来说要更加易用且更加高效。
zhiruili
2023-10-20
1710
Java Puzzlers
原因在于当调用 i - 1 时,这个计算结果不是 short 类型,而是 int 类型,当调用 s.remove(i - 1) 时,i - 1 的结果会被自动装箱,成为一个 Integer 类型的对象,而不是 Short 类型的对象,这导致 Set<Short> s 中根本没有要删除的对象,所以会出现 100 这个结果。
zhiruili
2023-10-20
2910
图形学入门(三):基础着色
在掌握了上一篇文章的知识之后,我们现在可以通过逐个绘制三角形面组合出一个模型了。但是我们现在绘制出来的结果看起来是一个色块,效果不太自然。在现实中,我们看到物体是因为这个物体反射了光线,而在这个过程中,根据物体形状以及与光线的相对位置关系,物体的表面总会呈现不同的明暗效果。这种明暗的变化使我们感觉这个物体是「立体的」。也就是说,我们更希望看到下图1中右侧的渲染效果而非左侧的渲染效果:
zhiruili
2021-08-10
1.3K0
图形学入门(二):光栅化
光栅化(Rasterize)就是将一些矢量形状转换为位图(Raster Image)形式。经过这样的变换后,这些形状才可以在屏幕上进行显示,也可以被打印机打印出来。
zhiruili
2021-08-10
3K0
深入理解渲染方程
在图形学入门(三):基础着色中,我们讨论了 Phong 反射模型,当时我们提到过 Phong 反射模型不是一个物理模型,而是一个经验模型,这意味着这个模型对光照效果的模拟是不准确的。即便在简单情况下它能近似出一些不错的效果,但随着场景的复杂度提升(例如复杂的光照、复杂的材质等),要想继续用 Phong 反射模型达到很强的真实感就变得越来越困难。例如下面的这幅图1中,士兵和长官的铠甲上都投影出了电梯里非常复杂的灯光,在后面的长官的铠甲上还能看到前面两个士兵的投影:
zhiruili
2021-08-10
1.9K0
图形学入门(一):坐标变换
将一个物体显示到屏幕上,这个事情似乎非常简单,以至于我们基本上认为它已经天经地义到直接告诉计算机我们要显示什么物体它就会自动显示出来,毕竟我们拍照的时候就是举起相机按下快门就会出现一张图片了。但事实上,相机是基于物理感光元件实现了从三维世界到二维图片的投影,在计算机的程序世界中一切都需要被计算出来,也就是说,我们只有一堆图形的描述信息,我们需要自己将这些图形在二维的平面上绘制的方式告诉操作系统,操作系统才能最终在屏幕上绘制出我们想要的图形。
zhiruili
2021-08-10
1.6K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档