(声明:本文章所有用到的图片和源码只为了学习和研究用途,未经我同意不得进行转载或者其他用途,否则自行承担所有法律后果郑重推荐大家购买Unity正版源码)
这個可能也是现在好多游戏的需求吧,目前来说可能dx11是主流的应用api,但是呢又想让NB点的机器能用dx12,而且unity本身就是支持各种api切换的
unity本身嘚架构就是在各种具体的api上套了层虚拟的API,而每套API都实现了虚拟层的各个接口以方便切换。
所以unity支持了一次打包,可以随意切换你所鼡的api的功能(windows下也就切下dx11, dx12注意自己的操作系统和机器性能,不然你切了也没用)
这个是必须的,把dx12带上, 不然强切后会报错因为d3d12的变体没打出来。
3.这样就可以打包了其实打的里面,就把dx11,dx12的变体都打了这样会导致build的时候时间会长一些,本地包体會大一些
4.目前从unity源码看,只支持从命令行强制切换api
大家就可以从Player.log里面看到他是不是启用了d3d12.