//========================================================================================= /// <summary> /// パーティクルの姿勢リセット更新 /// </summary> public void UpdateResetParticle() { if (Count == 0) { return; } var job = new ResetParticleJob() { teamData = Team.teamDataList.ToJobArray(), flagList = flagList.ToJobArray(), teamIdList = teamIdList.ToJobArray(), basePosList = basePosList.ToJobArray(), baseRotList = baseRotList.ToJobArray(), posList = posList.ToJobArray(), rotList = rotList.ToJobArray(), oldPosList = oldPosList.ToJobArray(), oldRotList = oldRotList.ToJobArray(), oldSlowPosList = oldSlowPosList.ToJobArray(), velocityList = velocityList.ToJobArray(), nextPosList = InNextPosList.ToJobArray(), nextRotList = InNextRotList.ToJobArray(), }; Compute.MasterJob = job.Schedule(Particle.Length, 64, Compute.MasterJob); }
//========================================================================================= /// <summary> /// ボーン姿勢をパーティクルにコピーする /// およびワールド移動影響更新 /// </summary> public void UpdateBoneToParticle() { if (Count == 0) { return; } var job = new CopyBoneToParticleJob() { teamData = Team.teamDataList.ToJobArray(), teamWorldInfluenceList = Team.teamWorldInfluenceList.ToJobArray(), flagList = flagList.ToJobArray(), depthList = depthList.ToJobArray(), transformIndexList = transformIndexList.ToJobArray(), localPosList = localPosList.ToJobArray(), teamIdList = teamIdList.ToJobArray(), bonePosList = Bone.bonePosList.ToJobArray(), boneRotList = Bone.boneRotList.ToJobArray(), boneSclList = Bone.boneSclList.ToJobArray(), posList = posList.ToJobArray(), oldPosList = oldPosList.ToJobArray(), oldSlowPosList = oldSlowPosList.ToJobArray(), rotList = rotList.ToJobArray(), basePosList = basePosList.ToJobArray(), baseRotList = baseRotList.ToJobArray(), nextPosList = InNextPosList.ToJobArray(), }; Compute.MasterJob = job.Schedule(Particle.Length, 64, Compute.MasterJob); }