找回密码
 立即注册
查看: 427|回复: 2

[笔记] 有没有一种同时兼容unity3d和虚幻4的开发架构,当然代码没 ...

[复制链接]
发表于 2021-11-22 07:29 | 显示全部楼层 |阅读模式
个人观点,架构应该尽量脱离引擎,与引擎解耦.
引擎只是一个工具,而游戏就是使用引擎提供的接口来实现功能.大部分引擎都是以渲染引擎为中心.所以其实一般情况下只需要把引擎当作一个渲染引擎就好.如果有需要引擎提供的东西就直接调,没有就自己写.
我本身就是一直使用这样的思想写自己的游戏架构.我的架构最开始是自己从opengl开始写的,后来用了unity,就把渲染的部分全部去掉,保留整体架构.接入unity渲染,然后再搭配unity提供的各种功能.
即便是换到虚幻,同样也是调用引擎来渲染,然后逻辑在自己的架构下搭建.与引擎解耦,才能尽量避免一些不必要的坑.而且中间封装一层用以隔离引擎层的应用层.这样使用任何引擎基本都不会对应用层造成太大影响.
虽然引擎基本都会搭配一套自己的开发模式.以unity为例,提供了MonoBehaviour作为脚本基类,引擎自动调用脚本的部分函数.使用户只需要关心逻辑本身,而不需要关心程序入口,调用顺序等等.实际上这样对于小demo是很不错的.但是项目规模一旦扩大.比如代码量上10万行,就会出现各种难以把控的问题.因为这样的代码不是100%可控的,所以一旦出现任何问题都会很麻烦.比如断点调试查看堆栈,查找引用,查找调用关系,逻辑执行顺序等等.而这些恰恰是大项目的关键所在.
我的观点就是让自己拥有对代码的100%控制权.自己的控制权越大,出错的几率也就越小,出错也就越容易解决.
发表于 2021-11-22 07:32 | 显示全部楼层
个人观点,架构应该尽量脱离引擎,与引擎解耦.
引擎只是一个工具,而游戏就是使用引擎提供的接口来实现功能.大部分引擎都是以渲染引擎为中心.所以其实一般情况下只需要把引擎当作一个渲染引擎就好.如果有需要引擎提供的东西就直接调,没有就自己写.
我本身就是一直使用这样的思想写自己的游戏架构.我的架构最开始是自己从opengl开始写的,后来用了unity,就把渲染的部分全部去掉,保留整体架构.接入unity渲染,然后再搭配unity提供的各种功能.
即便是换到虚幻,同样也是调用引擎来渲染,然后逻辑在自己的架构下搭建.与引擎解耦,才能尽量避免一些不必要的坑.而且中间封装一层用以隔离引擎层的应用层.这样使用任何引擎基本都不会对应用层造成太大影响.
虽然引擎基本都会搭配一套自己的开发模式.以unity为例,提供了MonoBehaviour作为脚本基类,引擎自动调用脚本的部分函数.使用户只需要关心逻辑本身,而不需要关心程序入口,调用顺序等等.实际上这样对于小demo是很不错的.但是项目规模一旦扩大.比如代码量上10万行,就会出现各种难以把控的问题.因为这样的代码不是100%可控的,所以一旦出现任何问题都会很麻烦.比如断点调试查看堆栈,查找引用,查找调用关系,逻辑执行顺序等等.而这些恰恰是大项目的关键所在.
我的观点就是让自己拥有对代码的100%控制权.自己的控制权越大,出错的几率也就越小,出错也就越容易解决.
发表于 2021-11-22 07:37 | 显示全部楼层
你具体要兼容什么?兼容UI?兼容渲染?兼容开发语言?兼容制作流程?开发架构语言不一样设计出来的东西差别还是非常巨大的。有的语言能用反射,有的不能,有的不需要考虑编译效率,热更难度,有的又需要。能兼容一部分就不错了,但更多的是没有兼容的必要~
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-20 13:01 , Processed in 0.191079 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表