Unity中random函数的简单使用
来源:互联网 发布:ios 获取网络状态 编辑:程序博客网 时间:2024/05/12 18:12
一:如果想要从一个数组中随机的取出一个数据,此时可以用Random函数,如:
var element = myArray[Random.Range(0, myArray.Length)];
注意这里取值的范围是0~Length-1
二:在不同概率下发生事件的场景:
一般将事件发生概率储存在一个数组中,比如float[]{0.5,0.25,0.2,0.05},此时随机生成一个介于0~1之间的数,与上述的值进行比较,很明显,这个随机数的值在0-0.5这个区间的概率最大。
float Choose (float[] probs) { float total = 0; foreach (float elem in probs) { total += elem; } float randomPoint = Random.value * total; for (int i= 0; i < probs.Length; i++) { if (randomPoint < probs[i]) { return i; } else { randomPoint -= probs[i]; } } return probs.Length - 1; }
Random.value :返回一个0~1之间的数。
三:利用曲线
public AnimationCurve curve;float CurveWeightedRandom(AnimationCurve curve) { return curve.Evaluate(Random.value);}
定义一个公有的AnimationCurve ,就可以对它进行编辑。
curve.Evaluate(Random.value)参数是随机出的一个值,可以认为是图中的横坐标,函数会返回它所对应的竖坐标的值,其中曲线越陡峭的地方代表发生的概率越大,越平坦的地方代表发生的概率越小。由于返回的是float类型,如果想要整形,Mathf.RoundToInt().
四:洗牌类任务
void Shuffle (int[] deck) { for (int i = 0; i < deck.Length; i++) { int temp = deck[i]; int randomIndex = Random.Range(0, deck.Length); deck[i] = deck[randomIndex]; deck[randomIndex] = temp; } }
1 0
- Unity中random函数的简单使用
- unity中Random的猜想
- JMeter 中Random 随机函数的使用
- JMeter 中Random 随机函数的使用
- random()函数的使用介绍
- unity中扩展方法的简单使用
- c# 中 Random 的使用。
- Java中Random的简单使用说明
- Unity中简单使用Opengl
- Unity使用Random每次生成与上次不一致的随机数
- Java中Random函数的总结
- 使用scatter与random.normal函数绘制散点图简单实例
- 简述unity中给一堆cube赋予各种颜色值material.color,随机方法Random.Range的使用
- unity中使用GUI按钮实现简单的猜拳小游戏:
- C# 中Random函数
- Java中Random()函数
- Python的numpy库中rand(),randn(),randint(),random_integers()等random系函数的使用
- J2ME中Random类的使用
- 剑指offer之替换空格
- 深入了解Android蓝牙Bluetooth ——《总结篇》
- javaweb学习总结(五)——Servlet开发(一)
- 羽毛球随想(一)
- OA项目实战
- Unity中random函数的简单使用
- binary-tree-preorder-traversal
- 深入理解Java并发3——线程安全与锁优化
- android 手机扫描任意二维码 黑科技
- CSS3 Background-clip
- Chrome 开发工具之Network
- java线程取消与关闭
- Java基础
- 分析chrome中的network面板