[toc]本篇中介绍关于Stride的基础通用知识。 参考链接: 官方主页:https://stride3d.net/ Github仓库:https://github.com/stride3d/stride 新手教学视频:https://youtu.be/JO9XusgPi8w Stride C#入门系列:https://youtu.be/Z2kUQhSmdr0 Stride,是一款开源的游戏引擎,使用C#进行底层和逻辑层开发。 底层代码均模块化管理,可灵活开发和自定义渲染管线。

安装Stride

Launcher:便于管理多个版本GameStudio或最近打开的工程,类似于Unity的Hub。 GameStudio:用于可视化游戏开发的Editor,类似于Unity2019.4.11f1。 Launcher并不强制安装,并不是必要的; 可使用官方主页发布的Launcher或者自己编译源代码生成Launcher; 安装成功Launcher后,可下载指定版本的GameStudio,下载完成后红色的Start按钮变得可用。 GameStudio由大量的Nuget包构成,创建的项目时灵活引用对应的包。 点击Start按钮,也就打开了GameStudio的创建项目页面。 可选择使用模板来新建项目,例如:Template:first-person shooter。 注意:项目的版本不可回退,需自行版本管理。 Launcher界面上的其他链接 有新手教程链接、新闻、官方媒体等,这些是获取Stride相关信息的主要渠道; 引擎相关的文档和Discord在线讨论社区是两个比较重要的点。

编译GameStudio

在官方github主页可以看到编译Stride源代码所需的VS组件: 第一次打开Stride.sln的时候,如果有VS提示可以同意安装对应组件; FBX的SDK是需要额外加载安装的; 重新生成“60-Editor”下的Stride.GameStudio项目即可; 生成其他项目时可能会报错,这些报错不影响GameStudio生成即可。 编译成功后可在输出目录找到可运行的.exe文件。

重写Nuget包的默认目录

C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\"/>
</packageSources>
<config>
<add key="globalPackagesFolder" value="D:\Backup\NugetPackages" />
</config>
</configuration>

Scene视口操作

旋转视角:按住右键-移动鼠标 旋转观察角度(观察目标不变):按住Alt+左键 移动:按住右键-WASD 上下移动:按住右键-EQ 移动加速:按住右键-Shift键-WASD 平面移动:鼠标滚轮中间 前进后退:鼠标滚轮前滚/后滚

Transform操作

模式切换:Space、W、E、R Snap模式:控制平移、旋转、缩放时的数值变化单位 等比例缩放:Scale模式下左键三轴的中心 操作的坐标系:更换空间后可操控的轴向变化 跳转到材质:选择资源后显示其材质属性 显示选择遮罩:多选的时候显示全部选中项的辅助线

Asset Pipeline

Resource:模型、动画、骨架、图片(纹理、天空盒、UI图集)、音乐 3D格式:fbx、obj、blend、3ds、x、md2、md3、dae、dxf 2D格式:dds、jpg、jpeg、png、gif、bmp、tga、psd、tif、tiff Audio格式:wav、mp3、ogg、aac、aiff、flac、m4a、wma、mpc Asset:需要Resource的Asset、(引擎创建的)Prefab、Material、Scene、Collider Entity:Asset在场景中的Instance Component:Entity至少有一个Transform组件 组件用于描述Entity Content:资源加载系统var model = Content.Load<Model>(path);

创建Asset

创建一个资源:选中工程的一个目录后,点击Add asset按钮; 图片资源类型:Color、GrayScale、NormalMap; Size:更改图片的分辨率实现图片的横向纵向缩放; mipmaps:用于场景中的3D物体的多级渐远纹理, 采样时自动选择层级; Compress:根据目标平台和全局压缩质量设置进行自动压缩; Stream:流式加载,需要渲染时才加载;

材质面板

Surface:法线贴图 Micro Surface:for gloss effects

物理系统

使用DebugPhysicsShapes脚本 在运行时显示物体的碰撞盒:Ctrl+Shift+P键