Unity ECS 基础教学(一)

Unity ECS 基础教学(一)

目录

  • Unity ECS 基础教学(一)
    • ECS的组件接口
    • 逻辑处理

OK 老规矩,直接上代码上图片:
先在 Unity Package Manager 里面下载环境:

第一步下载:Entities

Unity ECS 基础教学(一)_第1张图片

第二步下载:Hybrid Renderer

Unity ECS 基础教学(一)_第2张图片

需要打开 EntityDebugger  窗口 以便于查看 运行状态。

Unity ECS 基础教学(一)_第3张图片

呈现效果:

Unity ECS 基础教学(一)_第4张图片

注意代码搭载 和组件添加:

Unity ECS 基础教学(一)_第5张图片

ECS的组件接口

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;

/// 
/// ECS的组件接口
/// 

[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;

/// 
/// 逻辑处理
/// 

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));
       });
    }
}


暂时先这样吧,如果有时间的话就会更新,如果实在看不明白就留言,看到我会回复的。

路长远兮,与君共勉。

你可能感兴趣的:(Unity,ECS)