Lerp

格式

Lerp(startObj,endObj,alpha)

描述

根据alpha值计算两个对象之间的位置与朝向的差值


  • alpha可以取任意值。
    当alpha值为0时,返回startObj的位置和朝向;当alpha值为1时,返回endObj的位置和朝向
    若计算结果超出上限(4096),则会默认将结果设置为上限值4096

参数

名称 类型 默认值 描述
tarObj RWObject 待操作的对象
startPosition Vector3 起点世界坐标
endPosition Vector3 终点世界坐标
alpha float 插值参数

返回值

类型 描述
Vector3 插值计算后的坐标
Vector3 插值计算后的朝向

实例

设置一零件的位置和朝向,使其处于插值0.2、0.5、0.8的位置

local ct = script.Parent
local transform = GetService("Transform") --获取变换服务
local startObj = WorkSpace:WaitForChild("RedPart") --设置作为初始位置、朝向的对象
local endObj = WorkSpace:WaitForChild("GreenPart") --设置作为结束位置、朝向的对象
local part = WorkSpace:WaitForChild("Part") --需要设置位置和朝向的对象

local alpha = 0.2

local lerpedPosition, lerpedRotation = transform:Lerp(startObj, endObj, alpha) --计算插值后的位置和朝向
part.Position = lerpedPosition
part.Rotation = lerpedRotation

实际效果演示:
其中红色方块为startObj,绿色方块为endObj。白色方块为需要设置位置和朝向信息的对象
alpha = 0.2

alpha = 0.5

alpha = 0.8

文档更新时间: 2021-01-13 15:38   作者:王辰剑