![22bd0f092e3bae751e8c5970c5d056a5.png](https://i-blog.csdnimg.cn/blog_migrate/820d8b20c6f03c3de8f638d28017c676.jpeg)
本系列仅为个人学习笔记,非专业教程,欢迎一起学习交流指正
一、FVector
(本篇在讲述位置矢量时引入了一个坐标轴模型
![b1ffb5114be5f89f981f61e78cfcecb2.png](https://i-blog.csdnimg.cn/blog_migrate/5eb3da70c164331ea1a81043b670ebbd.jpeg)
有需要的可以自取,提取码:74lw
https://pan.baidu.com/s/1X7nHsB5ehhbx45V69-XHhgpan.baidu.com素材均为所学教程提供,并非个人制作,侵删)
1、概述
FVector : A vector in 3-D space composed of components (X, Y, Z) with floating point precision.(“F”表示该矢量与浮点数有关)
2、利用FVector实现Actor位置初始化
新建FVector类型的initialLocation变量,用于存储游戏开始后Actor所在位置
头文件中的声明
![aeaa8c1d6fb62352de5aaf29bc6ef4d4.png](https://i-blog.csdnimg.cn/blog_migrate/951c223bbfbf885d918f4565e3c9dd36.png)
源文件代码如下图所示
![db89d0f38fcdebec11bf4546f5cebf39.png](https://i-blog.csdnimg.cn/blog_migrate/fa4d20261f6c0efe4b2917ecca63dec5.jpeg)
运行后如下图所示
![7abc9170129c4145cc79b545855f47e6.png](https://i-blog.csdnimg.cn/blog_migrate/e77030e858ff31cb01ae5775d272ff4f.jpeg)
3、利用FVector实现对Actor拖入世界位置的记录
使用PlacedLocation存储Actor被拖入世界时的位置(注意与InitialLocation区分)
![f4140880d0f185bbb592ed8a8bd2ed6b.png](https://i-blog.csdnimg.cn/blog_migrate/1ad87fcf6d01f72532feab07cc0db694.jpeg)
源代码如下
![4cd7bb18eae3c7dd64b2f279a7a7a9ab.png](https://i-blog.csdnimg.cn/blog_migrate/176e836ccd1b7c0806958f38c7dd253b.jpeg)
运行后结果如下
![74a87849551527f05008646dcb937a95.png](https://i-blog.csdnimg.cn/blog_migrate/31e7ecd40151f8a2b5a93569b0d6c2c0.jpeg)
(游戏运行时可按Shift+F1将鼠标移出Game面板)
4、控制Actor是否初始化位置
引入bInitializeFloaterLocations变量(虚幻4中bool类型变量以b开头)
![64696343c78212da573e2732414230cc.png](https://i-blog.csdnimg.cn/blog_migrate/3f6e6cc82fb17f515263b58c9cb736d7.jpeg)
源文件中如下所示
![8de954a9c199a6a60f7f6766c236b3d7.png](https://i-blog.csdnimg.cn/blog_migrate/27fcd2745eab4ef3cc9b61ee492ef383.jpeg)
此处引入了新的UPROPERTY关键词——EditDefaultsOnly
EditDefaultsOnly:仅可以编辑类属性默认值,不可在实例中修改
EditInstanceOnly:仅可在实例中修改
![e06b12578e524d334f2d33cdf5cd822f.png](https://i-blog.csdnimg.cn/blog_migrate/9dea2ac4d9f408367dde5be457f086ad.jpeg)