参考链接:
官方主页: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键
Comments | NOTHING