ご質問ありがとうございます。
返事が遅くなり、大変申し訳ございません。
UnityでCharacterControllerを使用している際の、プレハブ生成位置と移動同期に関する問題について、以下にお答えします。
▼プレハブの生成位置について
レプリカが高確率で(0, 0, 0)に生成されてしまう件について、お手数をおかけしますが、以下の点をご確認いただけますでしょうか。
①コンポーネントのStart関数における初期位置設定
StrixMovementSynchronizerは、レプリカの初期位置を合わせた後にオブジェクトを表示するようになっています。
しかしながら、CharacterControllerの付いているオブジェクトのコンポーネントのStart関数で、初期位置を(0, 0, 0)に設定するような処理が存在する場合、レプリカの初期位置が(0, 0, 0)に再設定されてしまう可能性がございます。
・CharacterControllerの付いているオブジェクトのコンポーネントに、Start関数で初期位置を(0, 0, 0)に設定している箇所がないか、ご確認をお願いいたします。
・もし該当する処理がある場合は、if (isLocal)の条件で位置を設定するように修正いただくか、Awake関数で初期位置を設定するように変更していただけますでしょうか。
Awake関数であれば、レプリカの初期位置の設定前に呼ばれるはずです。
②エラーログの確認
レプリカの生成時にエラーログが出ている場合、レプリカの初期位置の設定処理が正常に動作しない可能性があります。
お手数ですが、エラーログが出ていないかどうかもご確認いただけますでしょうか。
▼移動の同期について
移動のガクガク感(若干の加速減速)については、StrixMovementSynchronizerのMaxSpeedの設定が、実際の移動速度と合っていない場合に発生することがございます。
・まずは、StrixMovementSynchronizerのMaxSpeedの値を、CharacterControllerの移動速度に合わせて調整していただけますようお願いいたします。
・その後、必要に応じてAccelerationやDampingの値を調整していただくことで、より滑らかな移動になる可能性がございます。
上記をご確認いただいても問題が解決しない場合は、大変お手数ですが、エラーログや、問題が発生している箇所のコードスニペットなど、より詳細な情報をご提供いただけますでしょうか。