Netcode Bootstrap

This commit is contained in:
Luis Gonzalez
2026-05-31 14:27:52 -07:00
parent 99d8d2d2a9
commit 7fa77ce821
1813 changed files with 2921554 additions and 84 deletions
@@ -0,0 +1,33 @@
using UnityEngine;
using Unity.Assertions;
using UnityEngine.UI;
/////////////////////////////////////////////////////////////////////////////////
namespace Rukhanka.Samples
{
class IKSampleConf: MonoBehaviour
{
public Slider aimIKWeightSlider;
public Slider overrideIKPosWeightSlider;
public Slider overrideIKRotWeightSlider;
public Slider fabrikLeftLegWeightSlider;
public Slider fabrikRightHandWeightSlider;
public Slider fabrikSnakeWeightSlider;
public Slider twoBoneLeftLegWeightSlider;
public Slider twoBoneRightLegWeightSlider;
public static IKSampleConf Instance { get; private set; }
/////////////////////////////////////////////////////////////////////////////////
void Awake()
{
Assert.IsNull(Instance);
Instance = this;
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 4c68e9ca00f3efc4cb08ac4868aaaa41
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 298480
packageName: Rukhanka Animation System 2
packageVersion: 2.9.0
assetPath: Packages/com.rukhanka.animation/Samples~/Samples/Scenes/18. Inverse Kinematics/Scripts/IKSampleConf.cs
uploadId: 897522
@@ -0,0 +1,57 @@
using Unity.Entities;
using UnityEngine;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
namespace Rukhanka.Samples
{
[WorldSystemFilter(WorldSystemFilterFlags.LocalSimulation | WorldSystemFilterFlags.ClientSimulation)]
[UpdateBefore(typeof(RukhankaAnimationSystemGroup))]
[RequireMatchingQueriesForUpdate]
public partial class IKControlsSystem: SystemBase
{
protected override void OnUpdate()
{
var sampleConf = IKSampleConf.Instance;
if (sampleConf == null)
return;
foreach (var ikc in SystemAPI.Query<RefRW<AimIKComponent>>())
{
ikc.ValueRW.weight = sampleConf.aimIKWeightSlider.value;
}
foreach (var ikc in SystemAPI.Query<RefRW<OverrideTransformIKComponent>>())
{
ikc.ValueRW.positionWeight = sampleConf.overrideIKPosWeightSlider.value;
ikc.ValueRW.rotationWeight = sampleConf.overrideIKRotWeightSlider.value;
}
foreach (var (ikc, _) in SystemAPI.Query<RefRW<FABRIKComponent>, SnakeTag>())
{
ikc.ValueRW.weight = sampleConf.fabrikSnakeWeightSlider.value;
}
foreach (var (ikc, _) in SystemAPI.Query<RefRW<FABRIKComponent>, EllenLeftLegTag>())
{
ikc.ValueRW.weight = sampleConf.fabrikLeftLegWeightSlider.value;
}
foreach (var (ikc, _) in SystemAPI.Query<RefRW<FABRIKComponent>, EllenRightHandTag>())
{
ikc.ValueRW.weight = sampleConf.fabrikRightHandWeightSlider.value;
}
foreach (var (ikc, _) in SystemAPI.Query<RefRW<TwoBoneIKComponent>, EllenLeftLegTag>())
{
ikc.ValueRW.weight = sampleConf.twoBoneLeftLegWeightSlider.value;
}
foreach (var (ikc, _) in SystemAPI.Query<RefRW<TwoBoneIKComponent>, EllenRightLegTag>())
{
ikc.ValueRW.weight = sampleConf.twoBoneRightLegWeightSlider.value;
}
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 325e225649079834ebdaf2e513a78abd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 298480
packageName: Rukhanka Animation System 2
packageVersion: 2.9.0
assetPath: Packages/com.rukhanka.animation/Samples~/Samples/Scenes/18. Inverse Kinematics/Scripts/IKSampleSystems.cs
uploadId: 897522