Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

当我将disableFollowCam从新设置为false时,这时候相机会突然回到之前disableFollowCam设置为true时的位置,即使我在相机移动时已经将人物的位置设置到新的位置。

Aperta
#121 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
react, typescript
Ambito
game-dev

Direzione di ricerca

Inizia dal componente Ecctrl e traccia il modo in cui disableFollowCam influisce sulla posizione della videocamera e sulla traslazione del giocatore durante cameraMoveTo. Riproduci la sequenza mostrata con il tween della videocamera, la chiamata a setTranslation e il ripristino di disable a false. Il lavoro è completato quando la videocamera rimane nella nuova posizione invece di tornare a quella precedente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

这是我的代码:它实现在第一人称视角的镜头动画,将镜头移动到某个位置。我期望,之后不会再回到动画前的位置。它就呆在哪儿,可是
`
const rigidRef = useRef(null); // 玩家所在刚体
const [disable, setDisable] = useState(false);

// 相机移动
function cameraMoveTo(to: Vector3) {
if (!camera) return;
setDisable(true);
new TWEEN.Tween(camera.position, tweenGroup)
.to(
{
x: to.x,
y: to.y,
z: to.z,
},
1800
)
.easing(TWEEN.Easing.Quartic.InOut)
.start()
.onComplete(() => {
setDisable(false);
rigidRef.current!.setTranslation(to, false);
});
}

cameraMoveTo(new Vector3(0.5, 1, 6));

<Ecctrl
  // 人物设置
  position={startPos}
  camInitDir={START_DIR}
  maxVelLimit={SPEED} // 人物移动速度
  turnVelMultiplier={1}
  turnSpeed={100}
  name="player"
  // 相机设置
  camListenerTarget="document"
  camCollision={false}
  camInitDis={-0.01}
  camMinDis={-0.01}
  camMaxDis={-0.01}
  camLerpMult={1000}
  camFollowMult={1000}
  camUpLimit={Math.PI / 10}
  camLowLimit={-Math.PI / 10}
  // 移动设置
  mode="CameraBasedMovement"
  disableFollowCam={disable}
  autoBalance={false}
  floatHeight={0}
  ref={rigidRef}
/>`
Lingua principale
TypeScript
Stelle
807
Fork
100
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pmndrs/ecctrl

Tutte le issue di pmndrs/ecctrl

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.