|
| 26 Sep 2015 10:28 PM |
i hate the hackish movement.
|
|
|
| Report Abuse |
|
|
|
| 26 Sep 2015 10:29 PM |
linear interpolation
http://wiki.roblox.com/index.php?title=Lerp |
|
|
| Report Abuse |
|
|
|
| 26 Sep 2015 10:31 PM |
| explain, roblox does it horribly |
|
|
| Report Abuse |
|
|
|
| 26 Sep 2015 10:32 PM |
I made this earlier.
local Interpolate = function(CFrame, EndCFrame, Time, Asynchronous) local UseRender local Time = Time/100 if Time < 0.3 then UseRender = true end local function Finish() for i = 1, 100 do CFrame = CFrame:lerp(EndCFrame, i/100) if UseRender and script:IsA("LocalScript") then game:GetService("RunService").RenderStepped:wait() else wait(Time) end end end if Asynchronous then coroutine.resume(coroutine.create(Finish)) else Finish() end end |
|
|
| Report Abuse |
|
|
|
| 26 Sep 2015 10:34 PM |
"CFrame.lerp — uses quaternion slerp to interpolate orientations, and linear interpolation to interpolate positions."
CFrame:lerp(CFrame goal, number alpha)
So let's say we have a part;
local fullTime = 1 -- time to interpolate in total for i = 1, 20 do part.Position = part.CFrame:lerp(new goal, 1/20) wait(fullTime / 20) end
new goal should be the final goal as a CFrame. number alpha is a decimal from 0 to 1 that indicates how far to move on that specific step |
|
|
| Report Abuse |
|
|
|
| 26 Sep 2015 10:34 PM |
| nvm i get it know, its like camera interpolation |
|
|
| Report Abuse |
|
|
| |
|