我有个bug,所以对焦相机的脚本在我的游戏中不起作用。但是在roblox工作室的测试模式中。它是位于StarterPlayerScripts中的Liocalscript。
那是我的剧本。
local cam = workspace.Camera
local cameraType = Enum.CameraType.Scriptable
cam.CameraType = cameraType
repeat
cam.CameraType = Enum.CameraType.Scriptable
until cam.CameraType == Enum.CameraType.Scriptable
while wait() do
cam.CameraType = Enum.CameraType.Scriptable
cam.CFrame = workspace.CameraPart.CFrame
end我试着不做LocalScript。还将其粘贴到ServerScriptStorage中,使其成为本地脚本,而不是本地脚本。
发布于 2022-11-18 19:17:39
首先,你总是想在本地运行这个游戏,因为玩家是唯一一个在真正的Roblox游戏中有摄像头的人。
我假设您想用as脚本控制播放用户的相机。如果是这样的话,您应该只需要设置一次CameraType属性。在那里使用循环是没有意义的。一旦你把相机类型设置为脚本,你需要设置相机的CFrame来查看你要瞄准的部分。
如果我在工作空间中有一个名为"MyPart“的部分,那么我可以设置相机的CFrame来查看它的前面。设置CFrame的位置是您的选择。一种方法可以做到这是设置相机的位置,4钉远离零件的LookVector,看看零件。
下面是一个伪代码示例:
local part = workspace.MyPart
local cam = workspace.CurrentCamera
-- Set camera type
cam.CameraType = Enum.CameraType.Scriptable
-- Focus camera on part once
cam.CFrame = CFrame.new((part.CFrame + part.LookVector * 4).Position, part.Position)然而,如果部分移动,你将不得不补偿它。如果您计划动态地将相机对焦到该部件上,您将希望在每个帧上设置摄像机的CFrame,这可以通过RunService.RenderStepped完成。
考虑到您正在为Roblox脚本的基本原理而奋斗,您可能希望了解一下Roblox的API引用,并暂时做一些更简单的项目。
https://stackoverflow.com/questions/74494086
复制相似问题