首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >照相机不会在某一部分对焦

照相机不会在某一部分对焦
EN

Stack Overflow用户
提问于 2022-11-18 18:43:22
回答 1查看 36关注 0票数 -1

我有个bug,所以对焦相机的脚本在我的游戏中不起作用。但是在roblox工作室的测试模式中。它是位于StarterPlayerScripts中的Liocalscript。

那是我的剧本。

代码语言:javascript
复制
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中,使其成为本地脚本,而不是本地脚本。

EN

回答 1

Stack Overflow用户

发布于 2022-11-18 19:17:39

首先,你总是想在本地运行这个游戏,因为玩家是唯一一个在真正的Roblox游戏中有摄像头的人。

我假设您想用as脚本控制播放用户的相机。如果是这样的话,您应该只需要设置一次CameraType属性。在那里使用循环是没有意义的。一旦你把相机类型设置为脚本,你需要设置相机的CFrame来查看你要瞄准的部分。

如果我在工作空间中有一个名为"MyPart“的部分,那么我可以设置相机的CFrame来查看它的前面。设置CFrame的位置是您的选择。一种方法可以做到这是设置相机的位置,4钉远离零件的LookVector,看看零件。

下面是一个伪代码示例:

代码语言:javascript
复制
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引用,并暂时做一些更简单的项目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74494086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档