如何使用电影相机功能
如何使用电影相机功能
使用相机API类(Camera)时需要注意区分,对于操控主相机的API,不需要指定实例id。而一部分API是针对元件【电影相机】(MovieCamera,常用于制作过场动画等)生效的,对于这部分API,需要指定相机的实例Id。下面介绍,如何通过编程元件,使用电影相机。
首先在编辑器中,设置电影相机。
![]() | (1)在场景摆放好若干电影相机。 |
|---|---|
![]() | (2)记录电影相机的实例ID,方便脚本中调用。 |
![]() | (3)如果需要使用锁定功能,那么在编辑器先完成配置。 |
然后编辑脚本。
GameClient.lua
--注意:全部Camera类型API,都需要运行在客户端环境下。
-- 客户端游戏开始时function GameClient:OnStart() Log:PrintLog("[GameClient:OnStart]")
local movie_camera_1=226 local movie_camera_2=227 local movie_camera_3=228 --开始movie_camera_1电影相机 Camera:MovieCameraStart(movie_camera_1) --1秒后,开始movie_camera_2电影相机;备注,开始新电影相机后,会自动停止上一个生效的电影相机;此外,在电影相机生效时,针对主相机的设置也不会被观察到。 TimerManager:AddTimer(1,function () Camera:MovieCameraStart(movie_camera_2) end) --2秒后,开始movie_camera_3电影相机 TimerManager:AddTimer(2,function () Camera:MovieCameraStart(movie_camera_3) --因为电影相机是元件类型,因此可以直接使用Element类来操作 Element:MoveTo(movie_camera_3,Element:GetPosition(movie_camera_3)+Engine.Vector(1000,0,0),2,Element.CURVE.linear) end)
TimerManager:AddTimer(4,function () --使用电影相机的锁定功能,注意需要在这个电影相机激活状态下使用 Camera:MovieCameraStartLock(movie_camera_3,1) --参数1:电影相机id,参数2:锁定信息的index,也就是编辑器中相机锁定栏锁定信息的编号。 --这里电影相机追踪id=239的元件,请先在编辑器中设置相机锁定 Element:MoveTo(239,Element:GetPosition(239)+Engine.Vector(0,1000,0),2,Element.CURVE.linear) end)
TimerManager:AddTimer(10,function () --停止电影相机,返回主相机视角 Camera:MovieCameraStop(movie_camera_3) end)
end

