- 博客(19)
- 收藏
- 关注
原创 关于Nuitrack SDK深度追踪解决方案
在数字化的时代,人机交互方式正不断进化。Nuitrack SDK,这个由3DiVi Inc开发的创新3D身体跟踪解决方案,正是这一变革的引领者。它提供了一个跨平台、跨硬件的综合工具包,让你能够实现前所未有的自然和智能互动体验。
2024-08-16 14:51:37
1175
原创 GamePlay架构(一)Pawn跟Controller的持有关系
Pawn跟Controller的持有关系是:Controller持有Pawn。
2024-08-02 09:50:54
313
原创 c++ 继承
c++ 继承这是当时阅读UE4的相机源码的时候,产生的疑问。我自定义了一个CameraOffsetActor,继承于CameraActor, 再通过CameraAcror去调用CameraComponent组件,这样访问到了CameraComponent, 我可以在它基础上添加一些我需要的相机属性。解释一:从访问权限,我们可以看到外部类是无法访问到类的保护型成员的。上图中,对于继承ACmeraActor能访问到CameraComponent成员的疑问:这里补充一下,对于有继承关系的基类和派生类,如
2021-03-30 21:42:26
109
原创 视图变换
视图变换我们可以这样来描述视图变换的任务:将虚拟世界中以(x,y,z)为坐标的物体变换到 以一个个像素位置(x,y) 来表示的屏幕坐标系之中(2维),这确实是一个较为复杂的过程,但是整个过程可以被细分为如下几个步骤:(1) 模型变换(modeling tranformation):这一步的目的是将虚拟世界中或者更具体点,游戏场景中的物体调整至他们应该在的位置。即:找一个好地方,把所有人聚集起来。(2) 摄像机变换(camera tranformation):在游戏中我们真正在乎的是摄像机(或者说眼睛
2021-01-27 10:22:39
706
原创 UE4-蓝图调用C++
UE4-蓝图调用C++这里我们以 蓝图调用蓝图函数库为例,关于蓝图函数库的创建,可以参考我的往期文章: link.定义和实现蓝图函数库的类方法 Return_True。UCLASS()class UAnalyticsBlueprintLibrary : public UBlueprintFunctionLibrary{ GENERATED_UCLASS_BODY() /** 在不指定自定义属性的情况下开始分析会话 */ UFUNCTION(BlueprintCall
2021-01-21 17:11:55
289
原创 UE4-蓝图函数库
UE4-蓝图函数库概述蓝图函数库(Blueprint Function Library)是一个静态函数的合集,提供不与特定游戏性对象绑定的效用功能(即不用绑定到对象身上,再到蓝图中进行调用)。可以非常方便的将代码中的函数暴露给所有蓝图使用,同时也提供了很好的代码复用性。创建创建蓝图函数库与使用 UFUNCTION() 宏对蓝图公开函数十分相似。所有蓝图类均继承自 UBlueprintFunctionLibrary,而非派生自 Actor 或 UObject。它们只应包含静态方法。以下代码是分析蓝图函
2021-01-21 16:52:02
2427
原创 避免同一个文件被include多次
在C/C++中,为了避免同一个文件被include多次,有两种方式:一种是#ifndef方式,一种是#pragma once方式(在头文件的最开始加入)。#ifndef#ifndef的是方式是受C/C++语言标准支持。#ifndef方式依赖于宏名不能冲突。它不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。缺点是如果不同头文件中的宏名不小心”碰撞”,可能就会导致你看到头文件明明存在,编译器却硬说找不到声明的状况。由于编译器每次都需要打开头文件才能判定是否有重复
2021-01-07 21:29:32
507
原创 透视投影矩阵
透视投影矩阵The OpenGL Perspective Projection Matrix关于透视投影矩阵的使用Building a Basic Perspective Projection MatrixThe OpenGL Perspective Projection Matrix首先,重要的是要记住OpenGL中的矩阵是使用列主顺序(而不是行主顺序)定义的。在所有的OpenGL书籍和参考文献中,OpenGL中使用的透视投影矩阵定义为:我们可以简单地转置矩阵,我们可以得到下面的以行向量为顺序的
2021-01-07 21:13:23
3172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人