关于Unity 如何与Blazor Server结合

这篇具有很好参考价值的文章主要介绍了关于Unity 如何与Blazor Server结合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于Unity 如何与Blazor Server结合

一、介绍

最近工作中有UnityBlazor Server结合的需求,在网上找了一圈,发现这方面的资料比较少,特此写下这篇记录一下自己的实现过程,希望可以帮到有需要的朋友。(下方多图预警)

OS Version : windows 11

Unity Version: 2021.3.23f1c1

Blazor Server : net 7.0

二、实现步骤

第一步 准备Unity项目

创建一个Unity 项目

关于Unity 如何与Blazor Server结合

​ 然后得到下面的Unity项目

关于Unity 如何与Blazor Server结合

第二步 Unity项目发布设置

​ 点击Unity 编辑器顶部菜单栏 文件 > 生成设置

关于Unity 如何与Blazor Server结合

​ 点击选择< WebGL >点击对话框右下角<切换平台> , 并等待平台切换完成

关于Unity 如何与Blazor Server结合

关于Unity 如何与Blazor Server结合

切换完成状态如下图,可以看到有黄色字体警告提示 为了生成播放器,请转到播放器设置中解决“颜色空间”与当前设置之间的不兼容问题

关于Unity 如何与Blazor Server结合

点击上图对话框左下角的<玩家设置>按钮来到设置界面,进入<玩家>菜单,选择< WebGL >栏,展开<其他设置> , 看到<渲染> 下的<颜色空间>

关于Unity 如何与Blazor Server结合

​ 将<颜色空间>线性改成伽马 ,并等待切换成功,做完这一切后收起 <其他设置>

关于Unity 如何与Blazor Server结合

​ 展开<发布设置>项 ,勾选解压缩回退 ,勾选之后关闭设置对话框, 到此 , 发布设置设置完成

关于Unity 如何与Blazor Server结合

第三步 发布Unity 项目 为 WebGL

​ 做完上一步发布的前期设置之后,接下来就可以开始发布Unity 项目啦,点击 Build Settings 对话框右下角的<生成>按钮

关于Unity 如何与Blazor Server结合

​ 点击<生成>按钮之后会弹出下列对话框让你选择一个发布的路径

关于Unity 如何与Blazor Server结合

​ 我本人是习惯于在Unity的项目根目录下创建一个Build 文件夹作为生成路径,读者可以按照个人习惯放置在其他路径,创建完Build文件夹之后,选择它作为发布路径,然后等待生成完成即可

关于Unity 如何与Blazor Server结合

​ 生成成功后的Build 文件夹内容如下,至此,生成步骤完成
关于Unity 如何与Blazor Server结合

第四步 Blazor Server 准备

​ 创建一个net7.0 的 Blazor Server项目

关于Unity 如何与Blazor Server结合

​ 在Program.cs中进行配置,代码如下

using BlazorApp6.Data;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<WeatherForecastService>();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
}

//------------------将Unity作为静态文件引入------------------------------------------
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(Path.Combine(builder.Environment.ContentRootPath, "BlazorServerTest")),
    ServeUnknownFileTypes = true,
    RequestPath = "/unity"
});
//-----------------------------------------------------------------------------------
app.UseRouting();

app.MapBlazorHub();
app.MapFallbackToPage("/_Host");

app.Run();

​ 做完如上配置之后,将刚刚在第三步中发布的Build文件夹拷贝到Blazor Server的项目根目录下,并修改目录名称为 BlazorServerTest,做完这步之后至此第四步完成

关于Unity 如何与Blazor Server结合

第五步 最终效果

​ 做完上述四个步骤之后,启动Blazor Server项目,在地址栏输入 http://localhost:{port}/unity/index.html 即可看到Unity画面

关于Unity 如何与Blazor Server结合

三、总结

​ 本文通过将Unity 生成成WebGL,并通过静态文件的方式引入了Blazor Server 当中,完成了Blazor Server和Unity的结合,这篇博客是本人写的第一篇博客,如有不对的地方,请大家指教。文章来源地址https://www.toymoban.com/news/detail-712170.html

到了这里,关于关于Unity 如何与Blazor Server结合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于如何在Unity中获取多个重名对象的笔记

    前不久我遇上了一个问题,在不确定路径 或者路径分布太麻烦不想手写 的情况下如何获取场景中的重名物体呢? 批量获取对象 首先,既然没法确定路径,那就只能用暴力的方法了——直接获取场景中的全部对象。 使用这样的语句,可以获得场景中所有类型为 GameObject 的对

    2023年04月09日
    浏览(21)
  • C# Blazor 学习笔记(0.1):如何开始Blazor和vs基本设置

    Blazor简单来说就是微软提供的.NET 前端框架。使用 WebAssembly的“云浏览器”,集成了Vue,React,Angular等知名前端框架的特点。 微软官方文档 Blazor入门基础视频合集 Blazor 入门基础教程 《进击吧!Blazor!》系列 《进击吧!Blazor!》入门教程 Blazor基础知识 Visual Studio 2022 .NET Core 6

    2024年02月14日
    浏览(25)
  • 如何使用 Blazor 框架在前端浏览器中导入和导出 Excel

    摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 Blazor 是一个相对较新的框架,用于构建具有 .NET 强大功能的交互式客户端 Web UI。一个常见的用例是将现有的 Excel 文件导

    2024年02月06日
    浏览(30)
  • 结合原理图关于STM32后期例程的更新说明

             十一以来工作突然忙碌起来不夸张地说连续几周从周一干到周天,因为赶到项目交付,所以博客更新变慢,感谢粉丝和订阅朋友们支持,但这段时间笔者依然在准备,依然在学习,工科生读文学书少,但不由地想起了那句名言:要么读书,要么旅行,身体和灵魂总

    2024年02月06日
    浏览(20)
  • ESP32-Web-Server编程综合项目1-结合 Web Server 实现 WiFi 配网和网页 OTA 更新

    前述的内容多是一个个小功能的演示,本章节讲述一些实际项目中使用到的综合项目。 首先要讲述的案例是通过ESP32 上的 Web Server 实现对 ESP32 的 WiFi 配网和网页 OTA 更新功能。 项目的主要功能有: 通过菜单控制多网页的切换 在多网页中分别实现 WiFi 配网、控制设备重启、通

    2024年01月22日
    浏览(32)
  • Linux系统部署SQL Server结合内网穿透实现公网访问本地数据库

    简单几步实现在Linux centos环境下安装部署sql server数据库,并结合cpolar内网穿透工具,创建安全隧道将其映射到公网上,获取公网地址,实现在外异地远程连接家里/公司的sqlserver数据库,而无需公网IP,无需设置路由器,亦无需云服务器。 下载 SQL Server 2022 (16.x) Red Hat 存储库配

    2024年04月10日
    浏览(44)
  • Linux docker安装RStudio Server结合内网穿透实现公网访问内网服务

    📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构探索 ✅cpolar 🌅 有航道的人,再渺小也不会迷途。 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问,从而将 RStudio IDE 的强大功能和工作效率带到基于服务器的集中式环境中。

    2024年02月05日
    浏览(37)
  • Linux CentOS系统安装SQL Server并结合内网穿透实现公网访问本地数据

    🔥 博客主页 : 小羊失眠啦. 🎥 系列专栏 : 《C语言》 《数据结构》 《C++》 《Linux》 《Cpolar》 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简单几步实现在Linux cento

    2024年02月19日
    浏览(36)
  • Ubuntu本地安装code-server结合内网穿透实现安卓平板远程写代码

    准备一台虚拟机,Ubuntu或者centos都可以,这里以VMwhere ubuntu系统为例 下载code server服务,浏览器访问:https://github.com/coder/code-server,复制下载链接 打开ubuntu命令行下载 出现需要输入ubuntu的登录账户密码,输入密码即可,然后等待安装完成 以下信息表示安装成功 接着输入以下命令设置

    2024年02月20日
    浏览(37)
  • 浅谈PHP结合JavaScript SSE(Server Sent Events)实现服务器实时推送功能

    如配置后Nginx遇到502/504的,请参考这两篇文章的解决方案 PHP-FPM与Nginx通信报 502 Bad Gateway或504 Gateway Timeout终极解决方案(适用于PHP执行耗时任务情况下的报错) Linux系统下配置Nginx使部分URL使用多套自定义的PHP-FPM配置 SSE 的全称是 Server Sent Events,即服务器推送事件。它是一种

    2024年02月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包