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