圆形随机坐标会比较复杂一些,主要是给定一个半径和圆心,然后在[0,半径长度]区间,随机一个数,在按照随机360度的角度随机出圆内的一个坐标。
矩形随机坐标比较简单一些,只需要一个随机的X值和Z值(随机的区间内就是矩形的边长)。
圆形随机坐标:
function radius(x,y,z,r)
--x,y,z坐标原点,r为半径
local radiusnum = math.random(0,r)
local currentAngle = math.random(0,360)
local w = math.sin(currentAngle*math.pi/180)*radiusnum + x
local h = math.cos(currentAngle*math.pi/180)*radiusnum + z
return Vector3.new(w,y,h) --返回计算完的坐标
end
矩形随机坐标:
local function rectangle(x1,x2,z1,z2,h)
--x1和x2是矩形的两个边的x值,z1和z2是矩形的两个边的z值,h是矩形的所在的高度
local x = math.random(x1,x2)
local z = math.random(z1,z2)
local pos = Vector3.new(x,h,z)
return pos
end
随机坐标一般用在物品随机位置放置东西,这样就不用去写固定坐标放置东西了,比较实用。
圆形随机坐标还可以拓展很多随机坐标,比如圆环,扇形随机等等。我就不一一详细解释了,如果有需要的话我再分享给大家。