Unity ECS 基础教学(一)
OK 老规矩,直接上代码上图片:
先在 Unity Package Manager 里面下载环境:
第一步下载:Entities
第二步下载:Hybrid Renderer
需要打开 EntityDebugger 窗口 以便于查看 运行状态。
呈现效果:
注意代码搭载 和组件添加:
ECS的组件接口
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;
/// <summary>
/// ECS的组件接口
/// </summary>
[GenerateAuthoringComponent]
public struct CubeData_ZH : IComponentData
{
//旋转速度
public float RadiansPerSecond;
}
逻辑处理
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;
using Unity.Jobs;
using Unity.Mathematics;
using Unity.Transforms;
/// <summary>
/// 逻辑处理
/// </summary>
public class CubeRotationSystem_ZH : ComponentSystem
{
protected override void OnUpdate()
{
Entities.ForEach((ref CubeData_ZH _CubeRotation, ref Rotation _CubeData) =>
{
var _Time = Time.DeltaTime;
/* 旋转Cube,代码逻辑不用管,这里可以是其他任何逻辑 */
_CubeData.Value = math.mul(math.normalize(_CubeData.Value), quaternion.AxisAngle(math.up(), _CubeRotation.RadiansPerSecond * _Time));
});
}
}
暂时先这样吧,如果有时间的话就会更新,如果实在看不明白就留言,看到我会回复的。
路长远兮,与君共勉。