Example #1
0
        /// <summary>
        /// コアからパーツ情報を読み出す。
        /// </summary>
        private void InitializeParts()
        {
            int count = CubismCore.CsmGetPartCount(ModelPtr);

            if (count < 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            // パーツの不透明度を取得する
            PartOpacities = IntPtrToFloatArray(CubismCore.CsmGetPartOpacities(ModelPtr), count);

            // パーツIDを取得し、IDマネージャを作成する
            string[] id_name_list = IntPtrToStringArray(CubismCore.CsmGetPartIds(ModelPtr), count);
            PartManager = new CubismIdManager <CubismPart>(count);
            for (int index = 0; index < count; index++)
            {
                var id = new CubismPart(id_name_list[index], index, PartOpacities);
                PartManager.RegisterId(id);
            }
        }
Example #2
0
        /// <summary>
        /// コアからパラメータ情報を読み出す。
        /// </summary>
        private void InitializeParameters()
        {
            int count = CubismCore.CsmGetParameterCount(ModelPtr);

            if (count < 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            // パラメータの現在値、最大値、最小値、デフォルト値を取得する
            ParameterValues = IntPtrToFloatArray(CubismCore.CsmGetParameterValues(ModelPtr), count);
            var maximum_values = IntPtrToFloatArray(CubismCore.CsmGetParameterMaximumValues(ModelPtr), count);
            var minimum_values = IntPtrToFloatArray(CubismCore.CsmGetParameterMinimumValues(ModelPtr), count);
            var default_values = IntPtrToFloatArray(CubismCore.CsmGetParameterDefaultValues(ModelPtr), count);

            // パラメータIDを取得し、IDマネージャを作成する
            string[] id_name_list = IntPtrToStringArray(CubismCore.CsmGetParameterIds(ModelPtr), count);
            ParameterManager = new CubismIdManager <CubismParameter>(count);
            for (int index = 0; index < count; index++)
            {
                var id = new CubismParameter(id_name_list[index], index, minimum_values[index], maximum_values[index], default_values[index], ParameterValues);
                ParameterManager.RegisterId(id);
            }
        }