[编程开发] 有没有人用Unity3D不是做游戏而是做App的?

[复制链接]
示指哥 发表于 2023-10-4 19:05:17|来自:中国 | 显示全部楼层 |阅读模式
有没有人用Unity3D不是做游戏而是做App的?
全部回复5 显示全部楼层
荷尔蒙暴民 发表于 2023-10-4 19:05:42|来自:中国 | 显示全部楼层
的确有人使用Unity3D进行非游戏应用开发的。
一般而言,会使用到Unity开发App的有以下几种情况:
1、外包公司,有些外包项目,外包公司会利用游戏引擎的跨平台特性,解决劳动力,并且降低客户的成本(毕竟有些客户预算有限);
2、小创业团队,同样是利用Unity可以跨平台的特性,来解决人力物力不足的问题;
3、游戏开发人员,这部分就不用说了,比较熟悉Unity引擎。
以上的这几种情况其实也就阐明了Unity做非游戏应用的利,其实最主要就是可以跨平台,并且Unity有着非常强大且稳定的工具集。
但使用Unity做非游戏的应用弊端也很多。
最主要的原因集中在游戏引擎和App框架在渲染方面的不同,Unity引擎是逐帧渲染,而App是脏渲染,这也造成了使用Unity去开发App渲染消耗过大,运行时手机会很烫 :)。同时很多App上的UI效果使用Unity并没有原生好用,并且使用Unity开发非游戏应用很难控制包的大小。所以使用Unity开发非游戏应用的技术难度其实很高。

我在之前回答过类似的问题,题主可以参考:
用Unity开发跨平台的非游戏应用有什么利弊?
北京泥人 发表于 2023-10-4 19:06:26|来自:中国 | 显示全部楼层
我做过,正在做。

@我也是Ted 一样,满满的辛酸泪。这个app马上就要做满一年了,不知道会不会也挂了。
做的是个跑步app。最终为的是嵌到跑步机里用。目前只是个半独立的app啦。
可以选人物,换服装,选跑道。然后就开始变速跑啦~~~跑着跑着还可以看到附近的人排序。
跑道是高清视频可以调速的播放。人物是3d模型带动画。
第一个大坑就是变速的视频播放。
在我把unity原生视频播放技巧与所有视频播放相关插件都试了一遍之后(包括把视频作为材质贴图贴到3dmax里的面片上,再把这个面片导成fbx丢回unity),变速播放视频宣告失败。
3dmax行不通我就换pr上。直接把原视频拆成序列图,全部导入Unity,然后轮播图片,靠调Time.timeScale来实现变速。这时候做的都还是PC版的,而天真的我还以为第一个坑已经过去了(~ ̄▽ ̄)~
第二个大坑就是视频里的每一帧中,unity中人物实际移动的路线要和视频里的路线一致。至少在相机里渲染出来人得在路上跑,不能飞到天上或者跑到树里去了。再者也不能视频拍到前方有人骑着摩托车,结果unity中的人物在同样的位置看起来特别小或者特别大。
人物是3D的。所以要确定人物路线我能想到好几种办法。但是背景里用的是视频啊!不是场景模型啊!!这视频牌的还不是直线啊!!!左转转又转转~~~这让我去哪找人物路线啊o(︶︿︶)o相机还用了两个呢,一个固定渲染背景,一个跟着人物移动(;′⌒`)就算我找到了路线,怎么让这两个相机渲染出来的场景,看起来人物在跑道上也是大难题。还要考虑背景和模型的比例。。。
涉及商业机密,详细就不说了,反正历经了千辛万苦(>﹏<)作为一只程序猿我都跑去画地图了。最后这东西功能实现了。这坑填上了。
第三个大坑就是前面做好的工程塞不进安卓测试。
第一个变速视频的解决方案直接导致工程大小是以G来计算的,然后pc版导android测试就呵呵了。考虑到后期这跑道路线是要可以通过网络更新的,我就用了assetbundle来装图片资源。升级了N次视频播放的脚本之后,看着变小的工程还分离的资源(^-^)V信心满满的塞安卓里测试。这次工程塞进去了。然后一运行内存溢出(╥╯^╰╥)于是初始化全部加载资源这条道就走不通了。年轻的我选了实时加载。以后的事实会证明这依然是个大坑。但是我不不能预知未来,于是很开心又解决了一大问题了<(* ̄▽ ̄*)/
第四个大坑就是联网同步不同玩家的位置与个人信息。刚入门Unity网络这块,所以用的是Unity自带的networkview。然后就发现每帧同步数据的话丢包率太高,延迟太明显。每秒同步的话直接就僵尸跳了。不要想着写个两点之间直线最短的匀速移动,我那是固定路径的,路径还可能是弯的。如果真用了这招,那可能这一秒人家明明在转弯的,他后面的客户端就能看到他跑步的时候抄小道了。。。最后机智如我使用了InvokeRepeating来填上了坑。。。
一些小坑就略过不说了。然后又见了客户。确定了两件事:1.要播放高清视频。2.到时候很多人用,所以服务端这边要换成能支持很多人同时使用的方式。
第五个大坑就出现了,更换联网方式。于是每秒同步数据就没有了,变成有变化的时候才通知更新。不仅原来的联网接口全部重写。同步过来的人物,移动方式也全部重写/(ㄒoㄒ)/~~
第六个大坑就是换了联网方式以后,原本的实时加载图片来不及了。
迫不得已又升级了N次视频播放的脚本,总算能流畅变速的播放视频。终于感觉项目快要成了,于是拿出了高清的图片资源包测试了一下∑(っ °Д °;)っ卡住了。。。以一秒25帧的速度播放视频还有明显的卡顿。。。而且,安卓里又塞不下资源包了o(︶︿︶)o这个问题我还在努力解决中。。。
话说,我这么多话,难为你们看这么久了~~~来抱抱(づ。◕‿‿◕。)づ给我点安慰。。。
basd 发表于 2023-10-4 19:06:34|来自:中国 | 显示全部楼层
做过3个月多android开发的unity客户端。
zhutaorun (zhutao) · GitHub有android和unity项目
是可以的,我遇到几个多平台视频直播活动使用unity做的,其中可以内部嵌入游戏的部分,加上虚拟互动部分。
其实已经离职的公司想做App,一开始知道unity可以做多平台发布就让我来的,后来接触了外包团队,我转去android几个月。
具体点上
1.从包大小上,同样的功能,比如摄像头拍照工作,unity的包有10M,android只要4M就行了。在实际应用中,除非用户粘度很高用户手机性能很高。大多数在卸载APP就是把单一功能用的少而且安装包大的应用优先删除。
2.在APP中大部分都会有个地理位置收集,别说你没注意,只是大部分人不关心而已。unity要做这个是难的,我在短时间里是没解决的。android本身容易实现多了。
3.对于android源生的支持这块,unity完败,在网络通信这块,unity是要自己去搭建,我是没看到开源可以直接拿来用的框架,android这块很多,也很成熟。
4.在开源这块,unity有assetstore,国内蛮牛,android的开源我见到更多,github,
Git@OSC代码托管。
5.从实际需求出发,脱离应用场景考虑是耍流氓。你想要游戏在手机那种操作方式,抱歉这需求太天马行空。像APP下拉加载这个功能在开源等地方容易找到,unity做类似的效果,抱歉愚钝,没研究到那步就改做android.
6.从研发时间上考虑。unity的一款应用研发周期,一款简单的小游戏合集(益智百宝箱)
应用详情 - 应用宝官网(策划2人,美术3人,程序3人),基于已有框架,从前期策划到美术一版二版三版到研发到上线,历时近4个月。而APP开发一个成熟的外包团队(6人,项目经理,美术,android,ios,后台,测试各1)是要6个周到2个月。这是在需求不做大的变动情况下。看起来android研发时间短,实际想清楚产品的需求是要更久,想了一个多月,产品方向完全变掉了,在一个多月方向又改了。只能说想多太多的CEO和没啥主见的产品对于开发人员是噩梦
7.考核标准不同。游戏可能更纯粹点,为了赚钱或者为了好玩。看到宣传是流水多少。多少玩家,付费多少。盈利是和其他发行商分成的。APP目前很多是平台类,或者单一功能大家用的比较多。注册用户多少,活跃用户是比较看中的。APP本身产生盈收的少,是在用户量大了后,占据市场份额上有说话权,或融资或插广告或卖用户信息或者个性化引导消费等
8.环境,一个产品计划书或者游戏Demo拿天使目前不容易。拿钱是要尽快出产品的,所以哪个更容易实现选择那个,更现实点。
9.关于这个问题本身,我想说,当你问这个问题,也面临一个选择的话,我问过类似的问题,我想说。坚持自己的的方向,不要放弃。
10.Unity多平台分布是优势,但后期维护上,APP源生更好点。
总结
工具选择是需求的,2D和3D就可以理清。APP是更关注文字和图片内容,偏信息展示;unity更关注手和手机的交互,更关注操作的乐趣。
蓝色人类 发表于 2023-10-4 19:06:43|来自:中国 | 显示全部楼层
俄国有interactive lab
丹麦有 yoke
国内 是说我么。。。
Home
上海杉蔓数字科技
各种奇怪东西都做了,游戏反而没做几款
54sh54sh 发表于 2023-10-4 19:07:12|来自:中国 | 显示全部楼层
有啊,可以做虚拟现实,可以做3d应用。做这些东西的时候,需要的只是unity3d的渲染模块,物理模块,其他xx模块都不大需要而已。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则