Stride入门

发布于 2020-10-17  140 次阅读


本篇中介绍关于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

<?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键


关注成长,注重因果。