unity rust_移植到Unity 5 –不为人知的Rust之旅

   2023-02-09 学习力0
核心提示:unity rust Facepunch Studio的创始人Garry Newman和他的团队一直在将Rust移植到Unity 5。 这篇博客文章讲述了尚未结束的《Rust之旅》。 你敢和我们一起旅行吗? (Facepunch Studio’s founder Garry Newman and his team have been porting Rust over to Uni
unity rust_移植到Unity 5 –不为人知的Rust之旅

unity rust

Facepunch Studio的创始人Garry Newman和他的团队一直在将Rust移植到Unity 5。 这篇博客文章讲述了尚未结束的《Rust之旅》。 你敢和我们一起旅行吗? (Facepunch Studio’s founder Garry Newman and his team have been porting Rust over to Unity 5. How did it go? This blog post tells the yet untold Journey of Rust. Do you dare to journey with us?!)

Working in the Unity field I get to meet lots of talented developers who use our engine. I’ve been supporting Facepunch Studios with the port and I thought that their experience was worth sharing. So I asked Garry Newman a few questions.

在Unity领域工作,我结识了许多使用我们引擎的有才华的开发人员。 我一直在通过端口支持Facepunch Studios,我认为他们的经验值得分享。 所以我问了加里·纽曼几个问题。

How big a part has Unity had to play in the success of Rust so far?

到目前为止,Unity在Rust的成功中起了多大的作用?

The only other engine I used was the Source Engine, which is like very different from Unity. You can change a texture, a material or a model and this instantly updates. Having 3DS Max or Photoshop open on another monitor making edits which is instantly reflected in Unity. This saves us about a minute of work. Over a span of 6 months that’s a massive deal for us. With the other engine, I would have to quit the game and reload it every time. Unity actually makes it fun to tweak things and you’re more likely to experiment just to find different ways of doing stuff.

我使用的唯一其他引擎是源引擎,它与Unity非常不同。 您可以更改纹理,材料或模型,然后立即更新。 在另一台显示器上打开3DS Max或Photoshop进行编辑后,立即在Unity中反映出来。 这为我们节省了大约一分钟的工作。 在6个月的时间里,这对我们来说意义重大。 使用其他引擎,我将不得不退出游戏并每次重新加载游戏。 Unity实际上使调整事情变得很有趣,您更有可能尝试寻找不同的做事方式。

How long did it take to port Rust to Unity 5?

将Rust移植到Unity 5需要多长时间?

It was probably about two hours, there wasn’t really much to it. Unity updated all our code automatically, in an instant. There were some issues with add-ons from the Asset Store that didn’t update right. We already hired the developer and he updated his plug-ins for us, so that problem was solved.

可能大约需要两个小时,实际上没有太多。 Unity会立即自动更新我们的所有代码。 资产商店中的加载项存在一些问题,无法正确更新。 我们已经雇用了开发人员,他为我们更新了插件,因此解决了该问题。

There’s a new system in Unity 5 that gives you a bit more control over plugins and dll libraries. At first, that freaked us out a bit, but soon we understood that it just means that we don’t have to put these things in these folders.

Unity 5中有一个新系统,可让您更好地控制插件和dll库。 刚开始,这让我们有些吃惊,但是不久我们就知道,这只是意味着我们不必将这些东西放在这些文件夹中。

Of course, if you want to use the new shader system and stuff, you’ve got to actually go through all your content and update the materials and everything. If you want it to  look like Unity 4, you just update and it works.

当然,如果您想使用新的着色器系统和材质,则必须仔细阅读所有内容并更新材质和所有内容。 如果您希望它看起来像Unity 4,则只需对其进行更新即可。

But to implement the new standard shader and lighting system has been a longer process?

但是,实施新的标准着色器和照明系统需要更长的时间?

The artists had to realise that there’s a new system there. It’s a new way of working, really. They use the new Substance Painter, because it’s a bit more accurate with the actual inputs. Once they figured it all out, they are getting better results and they don’t have to work so hard to get good-looking scenes.

艺术家必须意识到那里有一个新系统。 确实,这是一种新的工作方式。 他们使用了新的Substance Painter ,因为它与实际输入相比更加准确。 一旦他们弄清楚了一切,他们就会得到更好的结果,而且不必费劲就可以得到漂亮的场景。

What was the first thing you wanted to change in Rust with Unity 5?

您想使用Unity 5在Rust中进行的第一件事是什么?

We wanted to see how good looking materials we could get, so we looked at making dynamic reflections and things like that to basically use all the new features in the new renderer. It’s still an on-going process, we always go back to our materials and tweak. We will see a screenshot and see that it looks crap and we will update it.

我们想看看我们可以得到多么漂亮的素材,因此我们着眼于进行动态反射以及类似的事情,以便基本上使用新渲染器中的所有新功能。 这仍然是一个持续的过程,我们总是回到我们的资料上并进行调整。 我们将看到一个屏幕截图,并看到它看起来像废话,我们将对其进行更新。

What do you think about the other workflows with Unity 5?

您如何看待Unity 5的其他工作流程?

It seems about the same really, though there are still some annoyances like adding events to animations. The audio stuff, that loads better. The material stuff seems a bit more complicated at first, but once you understand what the system is and how it’s working, it’s a lot easier. The new shading system is really good for making a material as you don’t have to choose a specific shader. If you want a normal map, you just add it and it works.

尽管仍然存在一些烦恼,例如将事件添加到动画中,但看起来似乎确实一样。 音频素材,加载效果更好。 起初,材料方面似乎有些复杂,但是一旦您了解了系统的含义和工作方式,就会容易得多。 新的着色系统确实非常适合制作材质,因为您不必选择特定的着色器。 如果需要法线贴图,只需添加它即可。

Touching on the Audio side of things, we have made a massive improvement there, how have you liked using it?

谈到音频方面,我们在那里取得了巨大的进步,您喜欢使用它吗?

To be honest, we have only started using it. For now, we’re only using it to balance the volume for specific sounds like the footsteps. But it’s going to be useful moving forward when we start to add effects and things. I like that you can assign a variable to some of the parameters, it’s going to be really useful for volume controls. For example, if you’re in a cave, the sound will echo.

老实说,我们才刚刚开始使用它。 目前,我们仅使用它来平衡特定声音(如脚步声)的音量。 但是,当我们开始添加效果和事物时,这将非常有用。 我喜欢您可以将变量分配给某些参数,这对于音量控制将非常有用。 例如,如果您在山洞中,声音会回声。

None of us are really audio guys, half the words on there we don’t really understand, but we will get to it.

我们每个人都不是真正的音频专家,其中一半的单词我们不是很了解,但是我们会去做的。

Which Unity 5 feature had the biggest impact so far?

到目前为止,哪个Unity 5功能影响最大?

It was the PhysX upgrade. In Rust, we kept hitting the 65,000 collider limit on our servers, so we had all types of hacks to merge all these colliders together so it was really slow. Now there’s no limit now really, it’s perfect. The new PhysX system seems overall a lot faster.

这是PhysX升级。 在Rust中,我们一直达到服务器上65,000个对撞机的限制,因此我们拥有各种类型的骇客将所有这些对撞机合并在一起,因此速度确实很慢。 现在确实没有任何限制,这是完美的。 新的PhysX系统总体上看起来要快得多。

We were having a lot problems with physics in Unity 4, for example, you had to add a rigidbody to a collider. If you moved a static collider, this added like half a seconds worth of lag. Now you can move stuff as you want and it’s free. It’s perfect for us because I’m not a fan of having hacky code.

例如,我们在Unity 4中遇到了很多物理问题,例如,您必须在对撞机中添加刚体。 如果您移动了静态对撞机,那么这将增加半秒的滞后时间。 现在,您可以随意移动东西,而且它是免费的。 这对我们来说是完美的,因为我不喜欢hacky代码。

So the PhysX update helps the end users as well as development workflows?

那么PhysX更新可以帮助最终用户以及开发工作流程吗?

Yeah, they probably don’t realise it, but it really makes a difference. For example, when you moved from one section to the other in the old Rust, you used to get a couple of seconds of lag when we rebuilt all the physics colliders. That doesn’t happen now, there’s a lot more freedom for us.

是的,他们可能没有意识到,但这确实有所作为。 例如,当您在旧的Rust中从一个部分移到另一部分时,在重建所有物理对撞机时,您通常会滞后几秒钟。 现在没有发生这种情况,我们有更多的***。

Are there three top porting tips you’d like to share?

您想分享三个最重要的移植技巧吗?

There’s a good video on the new shading system that explains exactly what all the inputs are. You shouldn’t just try to eyeball it, as there are actual scientific values you can use.

新的着色系统上有一个很好的视频,它准确地解释了所有输入是什么。 您不应该只是盯着它,因为您可以使用一些实际的科学价值。

Check your dll’s and ensure the settings are right on them.

检查您的dll并确保设置正确。

There’s an upgrade guide on the beta page, which you should read as this pretty much highlights everything you need to do.

Beta版上有一个升级指南,您应该阅读该指南,因为它几乎突出了您需要做的所有事情。

Final question, what’s next for Facepunch Studio’s?

最后一个问题,Facepunch Studio的下一步是什么?

Pretty much the same as we are doing now, Rust is a long term project. Garry’s Mod is nearly ten years old and we’re doing a similar thing with Rust. We have a few prototypes in the works though.

与我们现在所做的几乎一样,Rust是一个长期项目。 Garry的Mod已有将近10年的历史了,我们在Rust上也做了类似的事情。 但是我们有一些原型。

Anything else you want to share about Unity 5 or Rust?

您还想分享有关Unity 5或Rust的其他信息吗?

Just thanks for making Unity I suppose, it’s just made our jobs easier and more fun compared to the old days.

我想感谢一下Unity的建立,这使我们的工作比以前更加轻松有趣。

Rust is a hugely popular game and is available on Steam for PC, Mac and Linux. It was a pleasure chatting to Garry about Rust and I look forward to it’s continued development with Unity 5.

Rust是一款非常受欢迎的游戏,可在PC,Mac和Linux的Steam上使用。 很高兴与Garry谈谈Rust,我期待着Unity 5的持续开发。

翻译自: https://blogs.unity3d.com/2014/11/19/porting-to-unity-5-the-untold-rust-journey/

unity rust

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • bloom-server 基于 rust 编写的 rest api cache 中间件
    bloom-server 基于 rust 编写的 rest api cache
    bloom-server 基于 rust 编写的 rest api cache 中间件,他位于lb 与api worker 之间,使用redis 作为缓存内容存储, 我们需要做的就是配置proxy,同时他使用基于share 的概念,进行cache 的分布存储,包含了请求端口(proxy,访问数据) 以及cache 控制端口(
    03-08
  • #新闻拍一拍# Oracle 调研如何避免让 Java 开发者投奔 Rust 和 Kotlin | Linux 中国
    #新闻拍一拍# Oracle 调研如何避免让 Java 开发
     导读:• 英特尔对迟迟不被 Linux 主线接受的 SGX Enclave 进行了第 38 次修订 • ARM 支持开源的 Panfrost Gallium3D 驱动本文字数:977,阅读时长大约:1分钟作者:硬核老王Oracle 调研如何避免让 Java 开发者投奔 Rust 和 KotlinOracle 委托分析公司 Omd
    03-08
  • Linux系统下Rust快速安装:国内镜像加速
    Linux系统下Rust快速安装:国内镜像加速
    官方网址和方法Install Rust - Rust Programming Language然而速度慢得让人难以置信。利用国内镜像进行windows的Linux子系统的Rust安装。rust 使用国内镜像,快速安装方法参考:RUST安装慢怎么办,使用镜像方式安装_网络_为中华之崛起而编程-CSDN博客我的操作
    03-08
  • Rust到底值不值得学--Rust对比、特色和理念
    前言其实我一直弄不明白一点,那就是计算机技术的发展,是让这个世界变得简单了,还是变得更复杂了。当然这只是一个玩笑,可别把这个问题当真。然而对于IT从业者来说,这可不是一个玩笑。几乎每一次的技术发展,都让这个生态变得更为复杂。“英年早秃”已经成
    03-08
  • 超33000行新代码,为Linux内核添加Rust支持的补丁已准备就绪
    超33000行新代码,为Linux内核添加Rust支持的补
    https://mp.weixin.qq.com/s/oKw9aBJSdmRoO6-rbLAkNw7 月 4 日,一套修订后的补丁被提交至 Linux 内核的邮件列表中,该补丁为在 Linux 内核中以 Rust 作为辅助编程语言提供了支持,借助 Rust 可以提高 Linux 内核和内存的安全。整套补丁包含 17 个子项,不光
    03-08
  • 【译】Rust 的 Result 类型入门
    【译】Rust 的 Result 类型入门
    A Primer on Rust’s Result Type 译文原文链接:https://medium.com/@JoeKreydt/a-primer-on-rusts-result-type-66363cf18e6a原文作者:Joe Kreydt译文出处:https://github.com/suhanyujie/article-transfer-rs译者:suhanyujietips:水平有限,翻译不当之
    03-08
  • Rust实战系列-基本语法
    Rust实战系列-基本语法
    主要介绍 Rust 的语法、基本类型和数据结构,通过实现一个简单版 grep 命令行工具,来理解 Rust 独有的特性。本文是《Rust in action》学习总结系列的第二部分,更多内容请看已发布文章:一、Rust实战系列-Rust介绍“主要介绍 Rust 的语法、基本类型和数据结
    03-08
  • 全栈程序员的新玩具Rust(三)板条箱
    上次用到了stdout,这次我们来写一个更复杂一点的游戏rust的标准库叫做std,默认就会引入。这次我们要用到一个随机数函数,而随机数比较尴尬的一点是这玩意不在标准库中,我们要额外依赖一个库。很多编程方案都有自己的模块化库系统,rust也不例外,不过rust
    02-10
  • 全栈程序员的新玩具Rust(六)第一个WASM程序
    全栈程序员的新玩具Rust(六)第一个WASM程序
    先上代码https://gitee.com/lightsever/rust_study/tree/master/wasm_hello01webassembly就不用再赘述了,耳朵里面快磨出茧子来了。rustwasm是火狐自家的玩具,让我们来继续做实验,让rust飞起来吧。环境安装安装好rust环境之后仍然需要 一个 wasm 工具包carg
    02-10
  • 【Rust】标准库-Result rust数据库
    环境Rust 1.56.1VSCode 1.61.2概念参考:https://doc.rust-lang.org/stable/rust-by-example/std/result.html示例main.rsmod checked {#[derive(Debug)]pub enum MathError {DivisionByZero,NonPositiveLogarithm,NegativeSquareRoot,}pub type MathResult =
    02-09
点击排行