明功 发表于 2021-6-1 11:17:53

【樱酱の小课堂】罗布乐思游戏开发白皮书第二弹:你知道吗?这些活罗布乐思也能整!

最近发现了一个宝藏频道——Mix and Jam
这老厉害了,手把手教你怎么还原一些经典游戏的动效、玩法、关卡设计~
*木有科学上网条件的小伙伴可以看这里:Mix and Jam
当时小樱看到的表情是这样的:


同时呢,我也终于想好第二弹做啥了!

么错,观众老爷们,我要在罗布乐思Studio上做同样的骚操作!


【本贴会持续更新,喜欢记得三连!】
(拒绝下次一定, 人人有责)
第一波:选关界面
先尝试实现简单的功能吧——马里奥:奥德赛-世界选关界面


看看最终效果:

/uploads/default/original/2X/8/8b6f7ed0547e92d36fcee6de9f9776370db5d790.mp4

是不是很酷炫咧~
下面接单介绍一下实现这个选关界面的方法:
实现逻辑

[*]解锁摄像头
在罗布乐思Studio中,摄像头的位置默认是跟随虚拟形象的,我们需要将它解锁:camera.CameraType = Enum.CameraType.Scriptable
[*]设置地球模型
建立一个球形网格,在工具箱里面挑选合适贴图,然后将贴图的ID输入“属性"下的”TextureID“栏目。
(当然如果你懒,也可以直接在工具箱拉一个出来

[*]设置世界关卡位置
就是一个个红色的球球,直接拉部件放置在合适的位置即可!
[*]设置GUI位置
在StarterGUI项目下面建立ScreenGUI,建立Frame,按需添加Textbutton。随后,通过在Textbutton下建立imagelabel和Textlabel实现选中态的红点和圆角矩形框。
[*]通过点击GUI发送指令命令摄像头跟随关卡卷动
控制摄像机位置以及控制摄像机缓慢移动到设定好的位置和方向,朝向和位置可以用CFrame来设定,
local target = CFrame.new(beginPos.Position+cameraOffest,beginLookAt.Position+cameraOffest)
移动效果可以用TweenService实现:
local rotate = function()
– 设置并开始旋转过渡
–                                    EasingStyle确定TweenService补间的作用方式Linear是平滑的
–                                                                                                EasingDirection可以设置补间的方向前半段慢还是后半段慢或者前慢,中间快,后面慢
–                创建一个新的渐变(时间,以恒定速度移动                ,缓动风格前半段向前应用,后半段向后应用是否一直转,0转一圈,1转2圈,-1一直转
   local tweenInfo = TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0)
–创建一个新的 Tween(渐变)效果。该函数需要三个参数:获取该效果的对象、所使用的 TweenInfo、以及包含了将进行渐变的属性和其目标值的表。
local tween = TweenService:Create(camera, tweenInfo, {CFrame=target})
–Completed只会在tween函数完成或者TweenBase:Cancel停止时候触发。
tween.Completed:Connect(function()
–tweenComplete = true
end)
–播放Tween动画只会播放一次
tween:Play()
end
就是酱啦,是不是非常简(fan)单(suo)呢~
欢迎在评论区留言交流一哈~

永远就三年疗 发表于 2021-6-1 11:18:48

雀食蟀   

非究思身 发表于 2021-6-1 11:19:00

厉害了!!!!!!
页: [1]
查看完整版本: 【樱酱の小课堂】罗布乐思游戏开发白皮书第二弹:你知道吗?这些活罗布乐思也能整!