Example #1
0
        //=========================================================================================
        /// <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);
        }
Example #2
0
        //=========================================================================================
        /// <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);
        }