FRP 简单搭建
FRP 简单搭建
写这个博客的原因是看到网上众多的部署教程中,在区分客户端和服务端各自部署之后,通过第三个客户端去登录时,执行的 ssh 命令并没有区别出是使用的的客户端用户名➕服务端 ip➕客户端设置的端口,以及一些其他的坑在文章中会详细说明。
FRP 介绍frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
FRP官网
为什么使用 frp ?通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议。
采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟。
代理组间的负载均衡。
端口复用,多个服务通过同一个服务端端口暴露。
支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源。
多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转 ...
UE系统的ISM使用
UE系统的ISM使用 面临的需求:需要在场景中渲染成千甚至上万个可以点击交互的 Actor ,而且每个 Actor 均绑定着不同的信息,交互之后需要将这些信息展示在 UHD 的面板上,信息条目为 15 条至 30 条不等。另外需要场景中的 Actor 可以按照一定的形式进行排列,比如矩阵排列或者螺旋排列等。
完成这个需求对于一个新建的项目来说可拆分为几个点:
物体生成
物体世界位置生成算法
信息绑定
鼠标点击交互
信息展示
其中的一些点我会一笔带过,因为大家的实现方式不同,我会主要记录一下关于我做这个需求经历的关于物体生成的弯路。
弯路
因为我做这个需求时,是一刚接触 UE 不到一个月时间的实习生身份去做的,乃至记录时仍不到两个月,所以肯定会有很多问题,仅做避坑用。
我拿到需求的时候,我就将这个项目拆为了以上的 5 个点,第 5 点我有之前实现的经历,而且本身实现就很简单,所以主要还是前三点难倒我了。
在场景中构造这么多 Actor 是个新手也会知道肯定会卡,并且还需要在每个 Actor 上绑定信息,美术也会在 Actor 上添加动画和粒子特效,所以在生成的时候就要节省资源,此时 ...
UE Game Effect的数值计算
Game Effect的数值计算主要会记录以下的几个数值
Duration Policy
Instant:GameEffect 立刻生效,且只生效一次
Infinite:GameEffect 一直生效,生效周期取决于 Catage:Period::Period(单位秒)
HasDuration:GameEffect生效一段时间,生效周期取决于Catage:Period::Period(单位秒),同时生效时长可根据DurationMagnitude来决定,若Duration=0,则类似于Infinite,表示该效果一直存在。
文章记录使用 Instant,测试拾取物品的效果
Modifiers:
可以在一个 Game Effect 中添加多个 Modifiers
Attribute 选择需要设置的属性
Modifier OP 修饰方法
Add
Multiple
Divide
Override
Invalid
Modifier MaginitudeMaginitude Calculation Type: 计算的类型
- Scalable Float :根据值进行计算
- At ...
数字孪生Camera基础功能
数字孪生Camera基础功能 整体功能仅包含了:
左键拖动旋转
右键拖动移动
滑轮缩放
整个项目来源于:ArchVizExplorer
这些基础功能时从之中拆出来的一小部分,而且并没有将多余的功能蓝图删除干净,只是将报错的部分删除解决掉。
如果需要更多功能请自行研究(我之后需要其他功能的话也会进行更新)
使用手册文件链接:https://github.com/XLJZT/UE_Tool/tree/main/Camera
如果链接发生更改,可前往 github 自行寻找
Camera 文件夹包含这样两个文件
CameraCopy 包含 CameraPawn 和 一些 Curve 文件
Input Backup 这是导出的原工程的 Input 文件
一、导入 Input 文件
进入项目的 project settings ,找到 input ,点击右上角的 import ,将下载的文件导入进去。
成功之后类似截图这些按键映射。
二、Pawn 参数调整正常情况下,将文件整体保存到项目的 Content 目录下,其中的一些绑定的参数可能会失效,在参数中最主要的就是关于他们的 Cu ...
Ue 的输入增强组件及前后左右移动
Ue 的输入增强组件&前后左右移动UE 更新新的输入系统之后,使用方法与旧输入系统有许多的差异,对于我这种小菜鸡来说关注不到增强组件的效率提高,所以会记录一下简单的使用方法。
根据使用的 UE 版本不同可能需要在设置里设置使用输入增强组件或者在插件里添加插件,可遵循官方文档操作。
文件创建
实现简单的移动操作一共需要创建如图两个文件,按照顺序分别命名为IA_Move 和IA_Context。
因为移动操作实在一个平面上,看做为一个二维的操作,所以IA_Move文件中,我们设置 Value Type 为 Axis2D (vector2D).
接下来需要进行对IA_Context文件的修改,我们首先需要添加一个 Mappings 映射,选择刚刚创建的 IA_Move 文件作为输入动作
需要设置的地方,就是图中标记的 9 处位置,因为是一个二维向量,所以会有三处按键使用修饰符。
官方文档解释:
增强输入支持来自一维源的输入,例如键盘的方向键或常用的”WASD”键配置;可通过应用正确的输入修饰器来实现此控制方案。具体而言,使用 负(Negate) 可以将某些键注册为负值, ...
Typora 设置
Typora 设置每次换电脑都需要重新下载一个 Typora,并且根据不同的情况进行重新配置,尤其是这次更换到了 MAC之后,接下来记录的是我安装的步骤
(省略了失败的过程)
Typroa 下载地址
Node && Picgo Core首先我们需要安装好 Node 和 Picgo Core,在 Mac 和 win 的环境下我都更加喜欢 Core ,上穿图片时比较无感知,用起来更舒服。
在 Mac 平台上推荐大家使用 homebrew 进行安装
Homebrew国内如何自动安装(国内地址)(Mac & Linux)
按照步骤很快便可以安装上 homebrew。
通过 homebrew 安装 Node 和 Picgo Core
12brew install nodenpm install picgo -g
记得使用命令行查看一下自己是否安装完成
Picgo Core 配置使用下面命令行进行模板配置
1picgo set uploader
12345678910$ picgo set uploader? Choose a(n) uploader (Use a ...
Cpp小知识点
Const 关键字const 是 constant 的缩写,本意是不变的,不易改变的意思。在 C++ 中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。
C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。
const修饰普通类型的变量a 被定义为一个常量,并且可以将 a 赋值给 b,但是不能给 a 再次赋值。对一个常量赋值是违法的事情,因为 a 被编译器认为是一个常量,其值不允许修改。
123const int a = 7; int b = a; // 正确a = 8; // 错误,不能改变
const 修饰指针变量。const 修饰指针变量有以下三种情况。
A: const 修饰指针指向的内容,则内容为不可变量。
B: const 修饰指针,则指针为不可变量。
C: const 修饰指针和指针指向的内容,则指针和指针指向的内容都为不可变量。
const 欺骗不可以修改 a 的值,可以通过修改指针地址达到修改 ...
Clash的TUN模式
原因前两天已经发布了一个 wsl 设置代理的一个文章,当天我在使用 wsl 访问网站或者下载东西的时候并没有遇到什么问题。但是第二天当我再次使用 git 命令的时候又出现了问题,出现下载缓慢或者直接就连接不上的情况。
所以选择直接使用 TUN 模式,进行全局代理。(之前一直嫌麻烦,没有搞)
TUN Introtun 是操作系统上的一种虚拟网络设备,可以让用户处理网络中的三层数据包(例如IP包)。
与此差不多的还有 tap,但 tap 处理的是二层数据包。
只处理三层数据包这就决定了tun性能往往比tap要好一些。
在Windows平台下,系统内核并不默认提供 tun 功能,需要安装 Wintun 这个第三方驱动才能支持
Clash 设置首先在 Service Mode 安装推荐的方法(点击后面的 Manage)
然后开启 Tun mode 和 Mixin 的开关
开启 Tun mode 就不需要开启 System Proxy。
Tun 配置第一个方法(最简单)点击 Tun mode 后面的齿轮,会有提供的模板
建议将dns server 的114.114.114.114移动到最后一 ...
wsl设置代理
原因当我在使用 wsl 进行跑 python 代码的时候,有许多的源码和数据是需要从 github 或者一些其他的网站去获取,所以需要使用代理去访问。
windows 电脑是使用 clash 开的代理,所以使用 wsl 去直接访问 windows 的代理是最简单直接且容易的方法。
配置
WSL2 基于 Hyper-V 运行,导致 Linux 子系统和 Windows 在网络上是两台各自独立的机器,从 Linux 子系统访问 Windows 首先需要找到 Windows 的 IP。
获取指向 windows 的 ip
由于 Linux 子系统也是通过 Windows 访问网络,所以 Linux 子系统中的网关指向的是 Windows,DNS 服务器指向的也是 Windows,基于这两个特性,我们可以将 Windows 的 IP 读取出来。
1vim /etc/resolv.conf
打卡文件之后,会有一个指向的 ip
每个人的ip会有不同
我的 ip 就是 172.19.64.1
配置代理
通过环境变量 ALL_PROXY 配置代理
1export ALL_PROXY=&quo ...
WSL+Vscode
WSL是什么?WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。
https://learn.microsoft.com/zh-cn/windows/wsl/about
安装WSL+Vscode
先安装WSL
使用 WSL 在 Windows 上安装 Linux
安装vscode
访问 VS Code 安装页,选择 32 位或 64 位安装程序。 在 Windows 上(不是在 WSL 文件系统中)安装 Visual Studio Code。
安装拓展
入门
c++插件
安装c++
sudo apt updatesudo apt install g++ gdb make ninja-build rsync zip
现在我们已经能够找到自己的wsl,并连接上了
配置配置.vscode 文件
1. c_cpp_properties.json
按快捷 ...