admin 管理员组文章数量: 1087139
2024年4月17日发(作者:html代码 li )
Unity切换场景时如何回到原有场景状态?
本文选自StackOverflow(简称:SOF)精选问答汇总系列文章
之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学
习和了解国外最新技术。本文将为读者讲解Unity切换场景时如何回
到原有场景状态。
问题:
Jason
我在用Unity3D做一个回合制的战斗游戏,有两个场景(小镇的
场景和战斗的场景),每当角色遇到怪兽,游戏就切换到战斗场景,
角色就在这里战斗,直到打败怪兽或者被击败。
问题是怎样才能在回到townScene时保持进入战斗场景时的状态
(角色位置、状态等等)
如果我用:
1 vel('battlescene');
然后:
1 vel('townScene');
然后小镇场景将从第一次启动。怎样才能让townScene继续从角
色离开的时候开始呢?
答案:
amasiye
我认为有两种方法。 根据你的目标平台和资源的重要性取舍。
1) 如果资源不是问题
你可以把所有的正常场景和战斗场景放在一个场景里。
•
创建两个游戏对象(一个给Town Scene对象,另一个给Battle
Scene对象)。还可以有两个版本的游戏角色,一个也行。然后写脚
本,在战斗开始时把相机从Town Scene转换到battle scene,战斗
结束回到Town Scene。
•
如果每个角色都有一个版本,你可以简单的添加一个脚本,改变
游戏角色控制的行为,在战斗模式和正常/小镇模式之间切换。
•
如果你有两个版本的角色,你就要写个合适的角色控制脚本,根
据你的使用情况激活/ 停用游戏角色。游戏角色有两个版本:一个战斗
模式的和一个正常模式的。
2)如果资源是一个问题(我认为更有效的方法)
你可以使用 velAdditive 函数。这个函数能
让你加载不同的场景,而不是摧毁当前场景的所有东西,所以基本上
这样用它:
•
在场景里创建单独的battlescene,创建空游戏对象,来保存场
景中的每一个对象。
•
在正常的场景中重复这个步骤
•
当你需要切换到战斗场景时使用
1 velAdditive ('battlescene');
•
如果你想卸载battlescene,你只要写代码破坏battlescene游
戏对象就可以,因为它包含战斗场景的所有东西。如果你想通过
第一种方法,你可以决定是否想要两种不同的角色版本。两个版
本的好处之一是如果你不想细究游戏模式(特别是你的游戏规模很大
的时候),可以通过缩小town scene游戏模型和更详细的battle
scene细节来提高处理能力。
原文链接:unity moving to another scene with current scene
being paused
本文选自StackOverflow(简称:SOF)精选问答汇总系列文章
之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学
习和了解国外最新技术。本文将为读者讲解Unity切换场景时如何回
到原有场景状态。
问题:
Jason
我在用Unity3D做一个回合制的战斗游戏,有两个场景(小镇的
场景和战斗的场景),每当角色遇到怪兽,游戏就切换到战斗场景,
角色就在这里战斗,直到打败怪兽或者被击败。
问题是怎样才能在回到townScene时保持进入战斗场景时的状态
(角色位置、状态等等)
如果我用:
1 vel('battlescene');
然后:
1 vel('townScene');
然后小镇场景将从第一次启动。怎样才能让townScene继续从角
色离开的时候开始呢?
答案:
amasiye
我认为有两种方法。 根据你的目标平台和资源的重要性取舍。
1) 如果资源不是问题
你可以把所有的正常场景和战斗场景放在一个场景里。
•
创建两个游戏对象(一个给Town Scene对象,另一个给Battle
Scene对象)。还可以有两个版本的游戏角色,一个也行。然后写脚
本,在战斗开始时把相机从Town Scene转换到battle scene,战斗
结束回到Town Scene。
•
如果每个角色都有一个版本,你可以简单的添加一个脚本,改变
游戏角色控制的行为,在战斗模式和正常/小镇模式之间切换。
•
如果你有两个版本的角色,你就要写个合适的角色控制脚本,根
据你的使用情况激活/ 停用游戏角色。游戏角色有两个版本:一个战斗
模式的和一个正常模式的。
2)如果资源是一个问题(我认为更有效的方法)
你可以使用 velAdditive 函数。这个函数能
让你加载不同的场景,而不是摧毁当前场景的所有东西,所以基本上
这样用它:
•
在场景里创建单独的battlescene,创建空游戏对象,来保存场
景中的每一个对象。
•
在正常的场景中重复这个步骤
•
当你需要切换到战斗场景时使用
1 velAdditive ('battlescene');
•
如果你想卸载battlescene,你只要写代码破坏battlescene游
戏对象就可以,因为它包含战斗场景的所有东西。如果你想通过
第一种方法,你可以决定是否想要两种不同的角色版本。两个版
本的好处之一是如果你不想细究游戏模式(特别是你的游戏规模很大
的时候),可以通过缩小town scene游戏模型和更详细的battle
scene细节来提高处理能力。
原文链接:unity moving to another scene with current scene
being paused
版权声明:本文标题:Unity切换场景时如何回到原有场景状态? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1713362775a630902.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论