2019年6月23日
摘要: 使用FString出现乱码,最简单的情况,FString Str = "你好"; 这时候就会出现乱码,解决方法是改成这样 FString Str = TEXT("你好"); ue4 4.19 中文乱码问题 今天把项目中使用的引擎从4.16升级到4.19,发现之前在项目中使用的中文常量有些会编译报错, 阅读全文
posted @ 2019-06-23 22:01 一粒沙 阅读(3291) 评论(0) 推荐(0) 编辑
  2019年3月11日
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-03-11 12:32 一粒沙 阅读(179) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-03-11 11:22 一粒沙 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 一、当前:可抓取对象的类型是GrabTargetActor 二、修改目标:可抓取对象的类型改成Grabbable。 1、Fand Grab Target的返回值改成Grabbale(变量的数据类型可以是接口)。 2、可以将一个对象直接转换成接口类型,以方便调用该对象实现的接口。 3、将对象转换成接口 阅读全文
posted @ 2019-03-11 00:14 一粒沙 阅读(447) 评论(0) 推荐(0) 编辑
  2019年3月10日
摘要: 首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。 接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理 阅读全文
posted @ 2019-03-10 23:14 一粒沙 阅读(669) 评论(1) 推荐(0) 编辑
  2019年3月9日
摘要: 一个椅子可以被抓起和放下,一扇门可以打开和关上、一个抽屉可以拉开和关上。 椅子、门、抽屉都可以用手拉,然后放下,但是它们的打开和关上的行为是不一样的,它们之间没有继承关系,没法共用“打开”和“关闭”的行为。 具有同样接口的实体: 一、访问方式相同 二、实体类型可以一样,也可以不一样。 蓝图中的接口: 阅读全文
posted @ 2019-03-09 21:57 一粒沙 阅读(1547) 评论(1) 推荐(0) 编辑
摘要: 一、在前面的实例中是把Grab和Drop逻辑放到SimVRHand手柄对象里面,从面向对象来看,Grab和Drop逻辑应该放在被抓取的对象中,因为可能每个对象被抓取后要执行的Grab和Drop逻辑都不太一样:武器被抓取、门被抓取、抽屉被抓取的逻辑是不一样的,每个对象最清楚自己的业务逻辑。 二、新建一 阅读全文
posted @ 2019-03-09 20:20 一粒沙 阅读(688) 评论(0) 推荐(0) 编辑
  2019年3月8日
摘要: 一、一般使用VS2017开发 二、需要勾选“使用C++的游戏开发” 阅读全文
posted @ 2019-03-08 17:02 一粒沙 阅读(2574) 评论(0) 推荐(0) 编辑
  2019年3月7日
摘要: 一、Drop只要将Grab做的操作反着这一遍就可以:开启模拟物理、取消附加(使用:DetachFromActor方法,同样的rule也需要使用Keep World) 二、 阅读全文
posted @ 2019-03-07 14:17 一粒沙 阅读(1663) 评论(0) 推荐(0) 编辑
摘要: 一、关键函数:AttachToCompoent,将要抓取的物品附加到角色手上,让物品跟随手移动,开起来就像是抓取在手里了。 二、取消模拟物理。在开启模拟物理的情况下,AttachToCompoent是不管用的,被抓取的物品只会受物理重力控制,抓取不起来的。 三、创建函数FindGrabTarget, 阅读全文
posted @ 2019-03-07 12:45 一粒沙 阅读(1704) 评论(0) 推荐(0) 编辑
  2019年3月6日
摘要: 一、引擎的VR实例工程是使用手柄进行抓取的。我们需要加上可以使用鼠标进行抓取操作。 二、将左右手保存到全局变量。 三、左右手分别调用抓取和扔方法 阅读全文
posted @ 2019-03-06 19:25 一粒沙 阅读(842) 评论(0) 推荐(0) 编辑
摘要: {姓名},在{时间}进来了 “{姓名}”和“{时间}”会自动变成一个变量。 阅读全文
posted @ 2019-03-06 15:07 一粒沙 阅读(1534) 评论(0) 推荐(0) 编辑
摘要: 一、对于VR中角色的手模型,一般是在角色中另外添加一个球型碰撞体 二、并且一定要勾选“Generate Overlap Events(触发重叠事件)”选项(默认状态是勾选的) 三、添加开始碰撞事件 四、默认情况下,Static Mesh(静态模型)的Generate Overlap Events(触 阅读全文
posted @ 2019-03-06 12:16 一粒沙 阅读(6583) 评论(0) 推荐(0) 编辑
摘要: 一、骨骼模型和骨骼碰撞体肯定不是完全吻合的,因为骨骼模型太复杂了。 二、骨骼碰撞体编辑在Physics Asset资源中 三、Constraints:只显示碰撞体 四、对于射击游戏来说,这样的碰撞体完全足够了。 五、Bones With Bodies:只显示带有碰撞体的骨骼 六、在骨骼上右键就可以添 阅读全文
posted @ 2019-03-06 11:07 一粒沙 阅读(5830) 评论(0) 推荐(0) 编辑
  2019年3月5日
摘要: 一、默认情况下Actor的Mobility(可移动性)是Static(静止),Simulate Physics(模拟物理);如果勾选Simulate Physics,则Mobility会自动变成Movable 也就是说开启模拟物理,可移动性必须是Movable。 二、只有开启了模拟物理 ,Actor 阅读全文
posted @ 2019-03-05 21:13 一粒沙 阅读(5962) 评论(1) 推荐(1) 编辑
  2019年3月4日
摘要: 一、可以在3D建模的时候添加碰撞体,导入到UE4的时候,碰撞体也会跟着导入进来。 二、也可以在UE4中自行添加碰撞体 三、在UE4中添加编辑碰撞体 四、选择碰撞体可以移动、缩放、旋转碰撞体,如果模型比较复杂,还也可以添加多个简单碰撞体,通过移动缩放旋转组合成复杂碰撞体。 如下图所示:模型中包含了2个 阅读全文
posted @ 2019-03-04 17:09 一粒沙 阅读(4743) 评论(1) 推荐(1) 编辑
摘要: 一、这是一个右手模型,通过镜像可以得到一个左右模型。 二、通过上图分析,镜面是X轴和Z轴形成的一个面,Y轴与XZ面垂直,因此就是镜像Y轴,将模型的Transform.Scale.Y设置为-1,即可得到左手模型。 三、在蓝图中使用Set World Scale 3D设置Transform.Scale属 阅读全文
posted @ 2019-03-04 16:18 一粒沙 阅读(1685) 评论(0) 推荐(0) 编辑
摘要: 官方文档 KeepRelative 将当前相对转换保持为新父级的相对转换 KeepWorld 自动计算相对变换,使附着的组件保持相同的世界变换 SnapToTarget 捕捉转换到附着点 阅读全文
posted @ 2019-03-04 15:43 一粒沙 阅读(3457) 评论(0) 推荐(0) 编辑
  2019年3月3日
摘要: 在原来值的基础上增加偏移 阅读全文
posted @ 2019-03-03 18:31 一粒沙 阅读(825) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-03-03 18:05 一粒沙 阅读(2471) 评论(0) 推荐(0) 编辑
摘要: 插值 在两个数之间补充一些数,让过渡变得更自然。 UE4引擎提供的插值 一、CInterp To:颜色(Color)插值。C:Color,颜色。 二、FInterp To、FInterp To Constant:浮点数(Float)插值。F:Float,浮点数 三、RInterp To?、RInte 阅读全文
posted @ 2019-03-03 16:36 一粒沙 阅读(4224) 评论(0) 推荐(0) 编辑
摘要: 一、(Vector_End- Vector_Start ).Normalize,获取从起始位置指向目标位置的单位向量。 二、给单位向量乘以一个浮点数,即给向量加一个力,是往向量方向移动 每一帧往目标点移动多少距离,Tick的参数“Delta Seconds”表示渲染当前帧所花费的时间,再乘以速度,即 阅读全文
posted @ 2019-03-03 00:26 一粒沙 阅读(2907) 评论(0) 推荐(0) 编辑
  2019年3月2日
摘要: 一、因为向量是3个浮点数,如果不使用误差的话,计算机里面的浮点数是有一定误差的。 二、如上图所示,如果2个向量的误差1厘米(UE4的单位是厘米),则表示2个向量相等。 阅读全文
posted @ 2019-03-02 23:53 一粒沙 阅读(2366) 评论(0) 推荐(0) 编辑
摘要: 一、每一帧都会触发Event Tick事件,“Delta Seconds”参数表示当前帧说花费的时间 二、因为各种原因(比如卡帧等),每一帧所花费的时间并不是相同的 阅读全文
posted @ 2019-03-02 23:37 一粒沙 阅读(4675) 评论(0) 推荐(1) 编辑
  2019年3月1日
摘要: 瞬移的时候,如果箭头指向正前方的角度跟中心线相差不大,则可以强制箭头指向中心线。 因为向量也可以表示方向,因此只要只要判断向量长度就是了,判断VectorLength值即可: 阅读全文
posted @ 2019-03-01 10:21 一粒沙 阅读(978) 评论(0) 推荐(0) 编辑
  2019年2月26日
摘要: 更多Jmetter教程 1,去官网下载最新的jmetter版本: http://jmeter.apache.org/download_jmeter.cgi 2,解压下载的jmtter安装包到D:\soft\apache-jmeter-2.10 3,执行下面的命令,可以看到jmtter的gui界面 j 阅读全文
posted @ 2019-02-26 11:19 一粒沙 阅读(707) 评论(0) 推荐(0) 编辑
  2019年2月25日
摘要: (Vector-Vector).VectorLength (Vector_End- Vector_Start ).Normalize,获取从起始位置指向目标位置的单位向量。 阅读全文
posted @ 2019-02-25 16:01 一粒沙 阅读(4843) 评论(0) 推荐(0) 编辑
摘要: From Alpha:开始的颜色透明度 To Alpha:结束的颜色透明度 Duration:过渡所使用的时间(单位:秒) Color:屏幕变化的颜色 Hold when finished:过渡时间结束后,屏幕颜色是否保留在结束时的透明度。不勾选则屏幕颜色会自动恢复成透明度为0。 阅读全文
posted @ 2019-02-25 12:56 一粒沙 阅读(1502) 评论(0) 推荐(0) 编辑
摘要: 一、Set Actor Rotation:设置绝对朝向;Set Actor Relative Rotation:设置相对朝向 二、瞬移以后,角色的朝向和相机的朝向是不一样的,和头显的朝向不是同一个朝向。瞬移后,角色朝向是朝向箭头朝向了,但是头显的朝向(比如转椅子了)会跟角色朝向不一样,会有夹角了,头 阅读全文
posted @ 2019-02-25 11:02 一粒沙 阅读(1742) 评论(0) 推荐(0) 编辑
  2019年2月24日
摘要: 一、手柄在世界坐标系中有一个绝对朝向,我们可以知道箭头相对于手柄的朝向,相对于手柄的旋转角度。 可以通过手柄绝对朝向、箭头的相对于手柄的朝向计算得到箭头的绝对朝向。 在得到箭头的相对于手柄的角度,在这个角度的基础上,再旋转一个手柄在世界坐标系中的绝对角度,就可以得到箭头在世界坐标系中的绝对角度。 两 阅读全文
posted @ 2019-02-24 22:38 一粒沙 阅读(2781) 评论(0) 推荐(0) 编辑
摘要: 如图所示,当手柄前后左右转动的时候,箭头也会跟着转动,我们的目标是要求箭头紧贴着地面,不会跟着手柄前后左右转动。 分析上图坐标系可以知道,只要让箭头绕着Z轴转动就可以了,不需要绕着X轴和Y轴旋转。 阅读全文
posted @ 2019-02-24 22:26 一粒沙 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 正切 正弦函数 sinθ=y/r 余弦函数 cosθ=x/r 正切函数 tanθ=y/x 余切函数 cotθ=x/y 正割函数 secθ=r/x 余割函数 cscθ=r/y 已知y和x,求角度θ:arctan(y/x),arctan是反正切,tanθ=y/x,θ=arctan(y/x)。 UE4提供 阅读全文
posted @ 2019-02-24 13:02 一粒沙 阅读(4948) 评论(0) 推荐(0) 编辑
  2019年2月23日
摘要: 一、VR手柄按键 二、Gamepad菜单往下拉 三、Shouder Button,在一般游戏当中是用作菜单键,按一下Shouder Button会出现游戏菜单。 四、Face Buttons:可以触摸,也可以按下去。 1、触摸的时候可以跟踪大拇指在上面触摸的位置,就像笔记本电脑上的触控板或者手机屏幕 阅读全文
posted @ 2019-02-23 21:10 一粒沙 阅读(7327) 评论(0) 推荐(0) 编辑
摘要: 一、Set Hidden in Game:隐藏对象 Propagate to Children:是否修改容器子对象的可见性。 二、添加2个Static Mesh,分别命名为:StaitcMeshArrow、Light 1、StaitcMeshArrow属性设置如下: 2、Light属性设置如下: 三 阅读全文
posted @ 2019-02-23 19:48 一粒沙 阅读(1320) 评论(0) 推荐(0) 编辑
  2019年2月17日
摘要: 一、首先把Predict Projectile Path By TraceChannel的Draw Debug Type改成none,不显示射线,改成该选项并不会影响正常使用。 二、避免瞬移穿透底板 三、引擎也提供了一个瞬移的方法Teleport 阅读全文
posted @ 2019-02-17 22:56 一粒沙 阅读(1525) 评论(0) 推荐(0) 编辑
摘要: 一、如果在Character中使用Spline,则使用Add Spline Mesh Componet的时候,要注意设置Transform.Mobility为Movable 二、使用Predict Projectile Path By TraceChannel函数,Launch Velocity参数 阅读全文
posted @ 2019-02-17 22:28 一粒沙 阅读(3464) 评论(1) 推荐(1) 编辑
摘要: 一、因为Character是可移动的,因此也需要把Add Spline Mesh Component的Transform.Mobility设置为Movable 二、不然就会得到类似这样的提示。错误信息说大概意思是:静态对象不能附加到动态对象上。 三、关于Transform.Mobility,这是一个 阅读全文
posted @ 2019-02-17 20:58 一粒沙 阅读(1701) 评论(0) 推荐(0) 编辑
  2019年2月15日
摘要: 接上一个实例 一、在TestSpline蓝图,切换到蓝图构造函数Constrction Script事件中,添加如下代码: 二、别忘记个Add Spline Mesh Component设置Static Mesh 三、在在关卡蓝图中的TestSpline实例就有具象表现了。 四、在关卡蓝图中实时新增 阅读全文
posted @ 2019-02-15 21:09 一粒沙 阅读(1672) 评论(0) 推荐(0) 编辑
摘要: Spline和Spline Mesh的区别: 1、Spline Mesh是有实体表现的,Spline Mesh可以拉伸弯曲实体模型,Spline Mesh是具象。 2、Spline 只有曲线,没有实体模型表现,是抽象的,不是具象,游戏运行时是看不到Spline曲线的。但是可以用Spline来做一些事 阅读全文
posted @ 2019-02-15 13:03 一粒沙 阅读(6173) 评论(0) 推荐(1) 编辑
摘要: 作用: 1、按照Spline设置的轨迹,进行显示网格物体。 曲线模型 一、赋值Static Mesh,任意的Static Mesh都可以。 二、调整方向 三、Spline Mesh Actor有2个端点, 选中其中一个端点,两边的虚线会变成白色。 选中端点的时候,再选中端点的切线的一端,就可以调整切 阅读全文
posted @ 2019-02-15 10:16 一粒沙 阅读(4705) 评论(0) 推荐(0) 编辑