UE 目录结构此处先给出官方对于项目目录的介绍:
目录结构 | 虚幻引擎 5.4 文档 | Epic Developer Community (epicgames.com)
我们先看蓝图的工程,直接创建一个空白的蓝图工程即可,请不要包含任何模板和初学者内容.它会默认打开.
以下是文件夹层次结构:
接下来我们看创建UEC++工程,它会默认打开编辑器和VS.
注意上图纯净工程未开启项目插件.如果项目需要使用项目插件,此处会有Plugins目录.
*.uproject是极其重要的文件,描述了我们的项目信息,并且掌握切换版本,生产vs文件等功能.
.通常情况下项目层级下的.vs,Binaries,DerivedDataCache, Intermediate,Saved, .vsconfig,*.sln文件可以被忽略并删除.
通常情况下的项目插件层级下的Binaries,Intermediate也可以被忽略或删除.但有些预编译插件,即未提供源码的插件不可执行该操作,会导致项目编译失败,必须上传相关文件.
以下给出个人使用的.gitignore和.gitattributes文件仅供参考:
最 ...
Unreal
未读Unreal Hierarchy
Package >> World >> Level >> Actor >> Actor Component
Package >> World , Meshs , Textures
Module的核心定义Module 是虚幻引擎中管理代码编译的最小单元,它将一组代码资源聚合按一定规则聚合到一起,实现特定的功能,提供给外部调用。包括但不限与C++文件 txt文本 wav音频 png图片等。
Module 分为引擎模块,项目模块,插件模块
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354namespace ELoadingPhase{ enum Type { /** As soon as possible - in other words, uplugin files are loadable from a pak f ...
Unreal
未读Unreal Shoot Game
Unreal
未读Unreal GamePlay 框架
一个游戏由一个GameMode和一个GameState构成。加入游戏的人类玩家与PlayerController关联。 这些PlayerController允许玩家持有游戏中的Pawn,以便在关卡中有物理表示。 PlayerController还为玩家提供了输入功能按钮、平视显示器(简称HUD)和用于处理摄像机视图的PlayerCameraManager。
虚幻引擎中的Gameplay框架提供了多个类和组件,可用作项目的构建块。
Actor是可以在关卡中放置或生成的对象的基类。Actor可以包含一系列Actor组件,这些组件用于控制Actor的移动方式和渲染方式。Actor支持在游戏期间在网络上复制属性和函数调用。
摄像机表示玩家的视角,例如世界在玩家眼里的样子。PlayerController指定摄像机类并实例化摄像机Actor,用于计算玩家查看世界的位置和方向。
Pawn类是可以由玩家或AI控制的所有Actor的基类。Pawn是世界中的玩家或AI实体的物理呈现。角色是能够四处行走的一种特殊类型的Pawn。默认情况下,控制器和Pawn之间 ...
VCPKG 使用安装VCPKG1. 克隆库12git clone https://github.com/microsoft/vcpkg.gitcd vcpkg
2. 安装库1./bootstrap-vcpkg.bat
3. 使用123456789101112// 查找库./vcpkg search <library-name>./vcpkg search glfw// 安装库./vcpkg install <library-name>./vcpkg install glfw3./vcpkg install <package-name>:<version>// 查看安装包和版本号vcpkg list// 查看详细版本信息vcpkg x-history fmtvcpkg remove package
4. 集成1./vcpkg integrate install
(最简单的)VS-2022搭建opengl开发环境_vcpkg安装opengl-CSDN博客
https://blog.tryhardzhang.xyz/2024/08/02/graphics/opengl/Opengl/
https://blog.tryhardzhang.xyz/2024/07/30/intern/FFMPE%E4%B8%8ESDL%E6%92%AD%E6%94%BE%E5%99%A8%E6%9E%B6%E6%9E%84/
https://blog.tryhardzhang.xyz/2024/07/20/intern/%E8%A7%86%E9%A2%91%E6%92%AD%E6%94%BE%E5%99%A8/
OpenGL
与窗口分离
OpenGL本身不负责创建窗口、管理窗口事件或者处理输入设备。这些任务通常由其他库或操作系统提供的窗口系统接口来处理。
由于viewport视口
右手坐标系
GLFWGLFW(Graphics Library Framework)是一个用于创建窗口、处理输入以及管理OpenGL上下文的开源库。它简化了OpenGL程序的开发,提供了跨平台的接口,使得开发者可以专注于渲染和图形处理,而不必担心底层平台特定的窗口系统和输入处理 ...
音视频开发
未读FFMPEG+SDL播放器架构
目录
libavcodec: 提供了一系列编码器的实现。
libavformat: 实现在流协议,容器格式及其本IO访问。
libavutil: 包括了hash器,解码器和各利工具函数。
libavfilter: 提供了各种音视频过滤器。
libavdevice: 提供了访问捕获设备和回放设备的接口。
libswresample: 实现了混音和重采样。
libswscale: 实现了色彩转换和缩放工能。
基本概念
音/视频流:路音/视频称为一路流
容器 :MP4、 FLV、MOV等文件格式。可以存放多路音视频文件。以 MP4 为例,就可以存放一路视频流,多路音频流,多路字幕流。
channel:声道。在一路音频流中,可以有单声道,双声道或立体声。
FFmpeg处理音视频流程
FFmpeg指令ffmpeg [global_options] {[input_file_options] -i input_url} …
{[output_file_options] output_url} …
信息查询
参数
- ...
Games 101 Geometry 几何几何种类 隐式和显式
Implicit 隐式表示几何会告诉在这个表面上的点满足怎样的关系
隐式表示 看出一个图形形状比较难
但方便判断这个点在不在这个面上
Explicit 显示表达
直接写出点
通过参数映射的方法表示出来
对于显示 判断一个点在不在表面上比较难
Algebraic Surfaces (implicit)隐式表达表面
Constructive Solid Geometry (Implicit)CSG
Distance Functions (Implicit) 距离函数距离函数是指空间上任何一个点到你想要表述的这个几何形体上任意一个点的最小距离 这个距离可以为正或者负
外部为正 内部为负
得到两个物体的距离函数 可以做融合 blending
如果想让blend融合表示运动信息
SDF :Sigiend distance fuction 有向距离函数
Level Set Methods (Also implicit)水平集
Fractals(Implicit)分型(套娃)Implicit Representat ...
Games 101 HomeworkHomework 01234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677#include<cmath>#include<eigen3/Eigen/Core>#include<eigen3/Eigen/Dense>#include<iostream>#define M_PI 3.14159265358979323846int main(){ // Basic Example of cpp std::cout << "Example of cpp \n"; float a = 1.0, b = 2.0; std::cout << a << std::endl; std::cout ...
Games 101 Illumination,Shading and Graphics Pipeline
Visibility / occlusion
Z-buffering 深度缓存 深度缓冲
Shading
Illumination & Shading
Graphics Pipeline
概念补充半程向量半程向量(Halfway Vector)是计算机图形学中的一个概念,通常用于光照计算,特别是在实现镜面反射(Specular Reflection)时。它是光源方向和观察方向的归一化中间向量。使用半程向量可以简化光照计算中的镜面反射部分,使计算更加高效和准确。
Painter’s Algorithm 画家算法先画远处的 近处覆盖远处的
但是深度的定义较为困难 比如这个正方体 如果先画左边在华上面右上角便不会出现一条线
Z-Buffer 解决画家算法的问题
Depth Z buffer这张图 距离越近 颜色越深
Shading 着色在绘画上 :引入明暗和颜色的不同
A Simple Shading Model (Bli ...