位置と回転の数値による指定ではなく行列での指定になりますが、一応ボーン単位で指定することが可能です
// 指定のフレームの座標変換行列( ローカル行列 )を設定する
int MV1SetFrameUserLocalMatrix( int MHandle, int FrameIndex, MATRIX Matrix ) ;
// 指定のフレームの座標変換行列( ローカル行列 )をデフォルトに戻す
int MV1ResetFrameUserLocalMatrix( int MHandle, int FrameIndex ) ;
// 指定のフレームの座標変換行列( ローカル座標からワールド座標に変換する行列 )を設定する
int MV1SetFrameUserLocalWorldMatrix( int MHandle, int FrameIndex, MATRIX Matrix ) ;
// 指定のフレームの座標変換行列( ローカル座標からワールド座標に変換する行列 )をデフォルトに戻す
int MV1ResetFrameUserLocalWorldMatrix( int MHandle, int FrameIndex ) ;
( 『フレーム』と書かれていますが、DXライブラリではボーンのことを『フレーム』と呼称しています )
MV1SetFrameUserLocalMatrix がローカル行列を設定する関数で、MV1ResetFrameUserLocalMatrix が
MV1SetFrameUserLocalMatrix で行った設定を無効化するための関数です
MV1SetFrameUserLocalWorldMatrix がローカル→ワールド行列を設定する関数で、MV1ResetFrameUserLocalWorldMatrix が
MV1SetFrameUserLocalWorldMatrix で行った設定を無効化するための関数です
FrameIndex でボーンを指定しますが、何番が何のボーンなのかは DxLibModelViewer.exe で確認していただくか、
MV1SearchFrame で名前からボーン番号を検索してください
// フレームの名前からモデル中のフレームのフレームインデックスを取得する( 無かった場合は戻り値が-1 )
int MV1SearchFrame( int MHandle, const TCHAR *FrameName ) ;
MATRIX の値は MGetRotY や MGetTranslate で取得して MMult で掛け合わせたりすることができます
リファレンスに MGetRotY などの関数の解説がありますのでご覧ください m(_ _)m
< DXライブラリ 関数リファレンスページ 3D関係関数リファレンス >
https://dxlib.xsrv.jp/function/dxfunc_3d.html