mirror of
https://github.com/hanzoai/ProjectTinySamples.git
synced 2026-09-24 00:01:34 +00:00
26 lines
760 B
C#
26 lines
760 B
C#
using System;
|
|
using Unity.Burst;
|
|
using Unity.Entities;
|
|
using Unity.Mathematics;
|
|
using Unity.Transforms;
|
|
using Unity.Tiny;
|
|
using UnityEngine;
|
|
|
|
namespace Tiny3D
|
|
{
|
|
public class RotationSystem : SystemBase
|
|
{
|
|
protected override void OnUpdate()
|
|
{
|
|
float time = (float)Time.ElapsedTime;
|
|
Entities.ForEach((ref Rotate rotate, ref Rotation rotation) =>
|
|
{
|
|
quaternion qx = quaternion.RotateX(time * rotate.speedX);
|
|
quaternion qy = quaternion.RotateY(time * rotate.speedY);
|
|
quaternion qz = quaternion.RotateZ(time * rotate.speedZ);
|
|
rotation.Value = math.normalize(math.mul(qz, math.mul(qy, qx)));
|
|
}).ScheduleParallel();
|
|
}
|
|
}
|
|
}
|