ue4 物品随机生成
这个只是简单的讲解一下物品生成时的概率问题,可以根据自己的需要在此基础上拓展
创建两个结构体蓝图
分别表示物体生成的位置和要生成的物体模型
在ST_Location里面创建一个Vector变量
在ST_Item里面创建两个变量
分别是当前物品生成的概率和这个物品的Actor引用
然后根据这两个结构体蓝图,创建两个数据表格
在DT_Location里面添加五行
然后我们要给这五行分别设置位置
在地图中拖出五个立方体,把这个五个立方体的位置分别设置给DT_Location
位置可以直接复制粘贴过去
然后把拉出的五个立方体删除
创建四个actor蓝图(添加StaticMesh,然后把Mesh修改成自己想要的模型),模型随便,不一样即可
这里为了演示用了蓝图,但是如果你要生成物品很多的话就会很麻烦,解决办法就是创建一个父类蓝图通过物品ID来修改蓝图的StaticMesh
然后设置一下DT_Item
BluePrint分别设置成刚才创建的四个物品蓝图,概率分别是10,20,30,40
然后创建一个GameMod
在世界大纲里面把游戏模式修改为MyGameMod
我们在GameMod里面实现生成物品的操作
创建一个函数,命名为GenerationItem,遍历之前创建的位置数据表格
每获取一个位置就随机生成一个物品,再创建一个函数命名为RandomItem,这个函数用来随机产生一个物品的类引用
在这个函数创建一个局部变量Arr,类型是Actor引用数组
原理就是在Arr数组中加入物品对应概率的数量,然后再打乱随机出一个物品
然后回到GenerationItem函数中调用这个函数生成物品
在事件图标的begin play后面调用GenerationItem即可
运行生成物品如下
有什么不对的地方欢迎评论区指正
有什么问题可以在评论区问我
ue4 物品随机生成相关推荐
- Actor范围内随机生成 Learn Unreal Engine (with C++)
Actor范围内随机生成 Learn Unreal Engine (with C++) SpaceshipBattle · fanxingin/UE4项目 - 码云 - 开源中国 (gitee.com ...
- [Qt] 迷宫随机生成和自动寻路算法、布局管理器、动态效果、界面切换、播放音频【迷宫、魔塔、超级玛丽】 -C++课程设计:Qt实现的迷宫与地牢游戏
基于QT的迷宫与地牢小游戏开发 首先贴出链接: 完整Qt源码:点击进入https://download.csdn.net/download/qq_43365825/11852112 发布可执行程序:点 ...
- UE4_地图程序化随机生成
整理总结一下最近看到的关于程序化随机生成的东西 目前主要有四种方式: 随机迷宫生成算法 War3的地形拼接和随机算法,可以和其他噪声算法结合生成 perlin噪声等随机生成算法 wave functi ...
- 技术贴:如何简单地做游戏随机生成地图
转自:http://www.gamelook.com.cn/2015/12/239245 Gamelook报道/对于大多数的游戏来说,内容的消耗都是开发商非常棘手的问题,而随机生成地图的做法则大大增加 ...
- 【python】用numpy随机生成一元(多元)数据;如线性、指数、三角函数,或者多种样式结合
用numpy随机生成一元(多元)数据:如线性.指数.三角函数,或者多种样式结合 题目 代码 结果 随机数 题目 1.用numpy随机生成一元(多元)数据:如线性.指数.三角函数,或者多种样式结合: 2 ...
- C语言生成一个随机的九行九列数独,一个随机生成数独的C++程序
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. //mySIZE是数独棋盘的边长,棋盘是mySIZE*mySIZE的大小 int mySI ...
- 随机生成6位图片验证码
1. [代码][C#]代码 /// <summary> /// PicHandler1 的摘要说明 /// </summary> public cla ...
- Linux环境下编写一个shell程序,此程序的功能:随机生成一个1-100的数(答案)让用户猜
题目:编写一个shell程序,此程序的功能:随机生成一个1-100的数(答案)让用户猜,如果用户猜的数大于答案,则提示大了,如果用户猜的数小于答案,则提示小了.当用户猜对时提示:猜对了. #! /bi ...
- python 随机生成密码
python 随机生成密码 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : 随机生成密码 ...
最新文章
- 用Python实现抖音上的“人像动漫化”特效,原来这么简单
- 用户界面设计十大基本原则
- Filebeat的下载(图文讲解)
- 无法使用共享文件夹?VMware怎么安装VMware Tools? (GCC、kernel headers、make)(失败)
- 【转载】突然觉得今年的时间过得太快了,不知不觉中还剩下四个多月就步入2017年了,回首一下,好像什么都还没做呢。...
- IA-32 Intel手册学习笔记(一)系统架构概述
- 无处不再的广告_我的机器人现在无处可去。 无家可归。 无服务器。
- idea自动导入jar包的快捷键
- (转)C# 把我所积累的类库全部分享给博友(附件已经上传)
- c语言 给结构体赋初值,c/c++ 结构体赋初值的小技巧
- 基于JavaScript实现网页计算器
- 用Anaconda3搭建自己的TensorFlow环境
- java中比较两个文件的大小_Java实现获取文件大小的几种方法
- 系统学习NLP(二)--语音合成的计算机处理综述
- 移动页面框架头尾固定中间滚动 absolute模拟fixed
- MATLAB导数计算
- 计算机删除内置用户,如何删除windows的内置账户,administrator
- STM32 USB DFU功能
- 静态分析Android程序——smali文件解析
- 高三学生早恋怎么处理?家长该怎么做?