UE虚幻引擎生成VS工程Log窗口或控制台窗口乱码修正

在对UE工程创建VS工程文件时(Generate Visual Studio project files)或者在使用UE编辑器编译项目时,控制台窗口log中有时候会有很多”????”类的乱码,虽然多数时候可以猜出来是什么,但是实际使用还是多有不便的.
其实这个是由于Windows cmd控制台的编码造成的.Windows系统的cmd.exe默认是GBK编码,需要将它设置为默认编码为UTF-8编码.打开cmd窗口.在标题栏右键菜单里选择属性设置,可以看到默认编码.


对于这个编码的设定有两种,一种是临时性的,只针对当前cmd窗口,另一种是永久性的,这里我们需要按照永久性的操作进行设置.

继续阅读

什么是菲涅尔效应

菲涅尔效应是笔者最喜欢的灯光效果之一.

无论学2D还是3D, 菲涅尔效应都是一个经常遇到的概念. 在3D软件或引擎中, 菲涅尔通常出现在材质的设置选项里 (比如”是否开启菲涅尔”), 在2D绘画中, 有些场景会被要求 “画出菲涅尔效果” . 但即便是老手, 有不少人仍然对 “菲涅尔” 这一术语一知半解, 那么究竟什么是菲涅尔?

一言以蔽之, 菲涅尔效应指的是某种材质在不同距离上呈现出不同的反射效果.

当绘制一个带有反射的表面时,”添加菲涅尔”是一个很好的解决方案,这个微小的调整将带来巨大的影响.

观察下面这张图,注意看到桌子表面的亮度是如何变化的.

继续阅读

VS编程未能找到类型或命名空间名“UnityEngine”的解决

现在Visual Studio Mac版已经出到2022版了.最近需要打开之前的Unity工程做一些小的更新,所以在我2010款的苹果老本子上安装了Unity2021,安装了Visual Studio Mac 2022.
在Unity的Package Manager中确认Visual Studio Editor插件安装并且是最新的版本:

同时在Unity选项中确定External Tools设置中选择的脚本编辑器是对应的VS Mac:

继续阅读

AE中使用toComp()表达式转换坐标系

上一篇 C4D运动追踪导出到AE合成教程 中讲到讲三维空间中的坐标点及对应的运动相机导入到了AE中,要在AE中将粒子或其它特效去完全跟随三维空间的坐标运动是比较容易的,而如果要实现屏幕空间坐标(2D UI)与世界空间坐标(3D坐标)的运动追踪则要使用简单的表达式进行坐标转换处理.

首先准备好要显示的UI层,这里我使用一枚”钻石”做为示例,将该层的锚点修改到钻石底部:

在AE中可以看到”钻石”图层,展开该层找到Position位置参数,如果新建的图层没有,可以按P键添加Position参数,从Position参数处使用橡皮筋连接到要跟随的三维空间点的层,如下图所示:

继续阅读

macOS下的ffmpeg批处理脚本命令

首先夸奖ffmpeg程序是真的棒.通过命令行可以轻松转换音视频格式,对于多个文件批量转换略繁琐,所以写了该批处理脚本命令,并push在github仓库(https://github.com/huaikitty/ffmpegBatchConvert.git).

也可从此下载command文件:

ffmpegBatchConvert 批量转换脚本命令

  • 用于在macOS系统下调用ffmpeg工具批量转换音视频文件.
  • 如批量将某目录下所有avi文件转为mp4格式.
  • 如批量将某目录下所有flac文件转为mp3格式.
继续阅读

UE4人称控制器中相机俯仰角限定方法

在UE编辑器中,要给预设的人称控制器模板(ThirdPersonCharacter或FirstPersonCharacter)加相机俯仰角(Pitch)的限定是比较容易的.模板中使用了AddControllerPitchInput 节点来操纵控制器相机的俯仰角.我们不需要在此做判断限制俯仰角.

我们可以使用SetViewPitchMax和SetViewPitchMin这两个节点来设定相机俯仰角的最大值和最小值,它们归属于PlayerCameraManager,如下图在BeginPlay时设置俯仰角即可实现俯仰角的限定.

默认情况下俯仰角的最大值为89.9度和最小值为-89.9度.

在PlayerCameraManager中还有两个比较省时省力的节点,其中StartCameraFade节点可以用来做画面的淡入淡出效果.StartCameraShake节点可以用来做相机的颤动效果.简单易用.

今天就写到这里,回见!