jjzjj

在UE4.27下打包VR程序并部署到PICO 3

病毒宇宇 2023-08-11 原文

打开UE4,新项目类型选择游戏。我使用的是UE 4.27.2这个版本。我尝试用UE5打包过,但是问题很多,所以重新安装的4.27。这里只写我确定能走通的路。

模板选择第一人称游戏

性能特征选可缩放的3D或2D;目标平台选移动设备/平板电脑;初学者内容包选不携带

选好之后创建项目

创建完成后就是UE4的主界面

接下来可以测试一下,看看咱们的环境能不能打包android。按下图,点击Android(ASTC)

这时候如果弹出一个页面,就说明还没有配置android开发的基础环境,下面咱们安装和配置一下需要的软件

打开项目设置

左侧栏选择android,右侧点击【立即配置】

然后点击左侧栏的android sdk,如果右侧的配置信息是空的,就说明之前没有安装配置过开发环境

先到android官网,下载android studio,下载最新版的就行。官网地址是https://developer.android.com/studio/

下载前有个协议,同意并下载就可以了

下载完成后执行文件开始安装。安装的时候取消掉android virtual device,因为这个虚拟机不能模拟PICO VR安装了也没有用

安装路径最好默认

安装完成后直接启动。让帮助改进android studio,直接don’t send吧

如果让设置代理也不用管,直接cancel

提示缺少SDK没关系,后面会安装

Next后会自动开始安装最新的android SDK。但是android studio安装的sdk版本太高了,后面还会讲到怎么重新安装SDK

Finish之后打开android studio

如果再有下面这些提示也不用管,直接cancel就行

打开sdk manager

点击左侧栏android sdk,把右侧选项改成下图中选中的内容。注意:之前自动勾选上的要去掉。另外SDK Platforms、SDK Tools、SDK Update Sites三项都要改

点击Apply

然后开始安装刚才选中的各种包

安装完成,finish,记住这里android sdk的安装路径,后面会用到

现在Android sdk就安装好了。

注意:这里说一下,除了上面的android sdk之外,还要安装visual studio。我安装的是visual studio community 2019。

安装的时候要选中“使用c++的游戏开发”,否则后面安装ue4插件的时候会遇到问题

下面回到ue4,打开项目设置,左侧栏点击android sdk,右侧按照下图配置。具体内容是:

C:/Users/13466/AppData/Local/Android/Sdk

C:/Users/13466/AppData/Local/Android/Sdk/ndk/21.4.7075529

C:/Program Files/Android/Android Studio/jre

matchndk

android-30

现在android sdk就配置完了,下面验证一下。还是点击android(ASTC)

现在不会在弹出网页了,而是会让选择打包的保存地址。可以直接选择当前项目的目录,系统会创建一个新文件夹

可以看到已经开始打包,并且有项目日志在滚动。注意:如果项目日志中出现了红色的提示,就说明出现了之名错误,打包也肯定会失败。具体看看失败原因就行。

打包的过程比较久,完成后ue4 界面上有提示。在项目目录下会增加一个Android_ASTC目录,里面有4个文件

这说明我们配置是正确的,现在这个apk文件就可以传单我们android设备上安装运行了。但是我们的目的是把程序安装到PICO VR上,所以还需要继续操作。打开项目设置,左侧栏选android,右侧勾选“将游戏数据打包至.apk中”。这样打包的时候就不会再有.abb文件了

 下面到pico的官网https://www.picoxr.com/

进入开放平台

点击“下载SDK”

选择unreal => pico unreal integration sdk => 下载最新版

解压缩后会看到pico sdk对应3个版本的ue

下面关闭掉ue4工程,打开pico sdk里面ue4.27,报里面的Plugins移动到ue4中刚才创建的工程目录下

 

启动ue4 工程,会看到提示工程缺少模块,点击“是”直接重建

如果出现下面的进度条,说明正在重启,等一会就行了

但是如果出现下图,提示无法编译,基本问题就出在“visual studio community 2019”或者“c++的游戏开发”的安装上,返回去认真检查一下

Ue4重启后,做一些必要的设置。打开项目设置。搜索hdr,然后把移动HDR勾选掉。

在项目设置里搜索fullsc,把“启用kitkat及以上设备的全屏沉浸”勾选上

在项目设置里搜索frame,其中“引擎-一般设置”按照下图进行配置

在项目设置里搜索touch,默认控制器选择【清除】,去除掉默认的android控制器

打开“插件”

可以看到刚才安装的pico插件。就是移动到工程目录下的Plugins插件

 

点击左侧栏【virtual reality】,把右侧所有VR插件全都都选掉,使之不启用。这是为了避免跟pico vr冲突

关掉之后ue4会提示重启。接下来解决一下光照的问题

光照质量选择产品级

选择“仅构建光照”

构建比较漫长。构建完之后点击视口重建的摄像机,会看到摄像机上连着一把枪,按delete键把这个删除掉

点击右下角【视图选项】,开启“显示插件内容”

点击左侧“显示或隐藏源面板”

 

从pico XR内容目录下把BP_PICO_XR_Pawn拖入到场景中,并注意BP_PICO_XR_Pawn的pawn属相与下图中一样

接下来打包

打包日志一直在滚动,并且没有红色的致命报错

打包成功

执行目录下的install******.bat文件安装

安装完成后,就可以到pico vr里面运行了。

 

有关在UE4.27下打包VR程序并部署到PICO 3的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  3. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  4. ruby-on-rails - Rails 应用程序之间的通信 - 2

    我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

  5. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  6. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  7. ruby-on-rails - 如何在我的 Rails 应用程序 View 中打印 ruby​​ 变量的内容? - 2

    我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby​​中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R

  8. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  9. ruby - 检查是否通过 require 执行或导入了 Ruby 程序 - 2

    如何检查Ruby文件是否是通过“require”或“load”导入的,而不是简单地从命令行执行的?例如:foo.rb的内容:puts"Hello"bar.rb的内容require'foo'输出:$./foo.rbHello$./bar.rbHello基本上,我想调用bar.rb以不执行puts调用。 最佳答案 将foo.rb改为:if__FILE__==$0puts"Hello"end检查__FILE__-当前ruby​​文件的名称-与$0-正在运行的脚本的名称。 关于ruby-检查是否

  10. ruby-on-rails - 如何在 Gem 中获取 Rails 应用程序的根目录 - 2

    是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在

随机推荐