分享好友 编程语言首页 频道列表

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

rust文章/教程  2023-02-09 10:310
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

查看更多关于【rust文章/教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Rust到底值不值得学--Rust对比、特色和理念
前言其实我一直弄不明白一点,那就是计算机技术的发展,是让这个世界变得简单了,还是变得更复杂了。当然这只是一个玩笑,可别把这个问题当真。然而对于IT从业者来说,这可不是一个玩笑。几乎每一次的技术发展,都让这个生态变得更为复杂。“英年早秃”已经成

0评论2023-03-08818

全栈程序员的新玩具Rust(三)板条箱
上次用到了stdout,这次我们来写一个更复杂一点的游戏rust的标准库叫做std,默认就会引入。这次我们要用到一个随机数函数,而随机数比较尴尬的一点是这玩意不在标准库中,我们要额外依赖一个库。很多编程方案都有自己的模块化库系统,rust也不例外,不过rust

0评论2023-02-10729

【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 =

0评论2023-02-09978

【Rust】标准库-引用 rust 数据库框架
环境Rust 1.56.1VSCode 1.61.2概念参考:https://doc.rust-lang.org/stable/rust-by-example/std/rc.html示例rust 使用 Rc 来实现引用计数。main.rsuse std::rc::Rc;fn main() {let rc_examples = "Rc examples".to_string();{println!("--- rc_a is created

0评论2023-02-09638

rust 打印当前时间
let now = time::now();let f_now = time::strftime("%Y-%m-%dT%H:%M:%S", now).unwrap();println!("now: {:?}", f_now);

0评论2023-02-09689

【Rust】线程 rust编程语言
环境Rust 1.56.1VSCode 1.61.2概念参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/threads.html示例main.rsuse std::thread;const N_THREADS: u32 = 10;fn main() {let mut children = vec![];for i in 0..N_THREADS {children.push(threa

0评论2023-02-09956

rust安装 rust安装在固态进不去游戏
http://blog.csdn.net/teamlet/article/details/50838996

0评论2023-02-09614

更多推荐