Tôi đang thực hiện trò chơi ô tô 3d và tôi gặp vấn đề với xoay vòng. Tôi muốn xoay một mô hình xung quanh chính nó nhưng khi tôi di chuyển, nó bắt đầu di chuyển xung quanh thế giới!Làm thế nào để xoay một mô hình 3D xung quanh trung tâm của nó?
Câu hỏi đặt ra là: Làm cách nào để tạo trung tâm cho mô hình di chuyển?
Tôi cố gắng để thay đổi mã như thế này:
effect.World = Matrix.CreateRotationZ(modelRotation) * effect.World = Matrix.CreateTranslation(position);
tại thay vì di chuyển về phía trước so với các mô hình, định hướng nó di chuyển theo một hướng thiết lập! & đây là mã của tôi:
effect.World = Matrix.CreateTranslation(position) * Matrix.CreateRotationZ(modelRotation);
effect.View = camera.View;
effect.Projection = camera.Projection;
Tôi khuyên bạn nên gắn bó với một toán tử gán cho mỗi câu lệnh. Nếu không, kết quả có thể gây nhầm lẫn, đáng ngạc nhiên và khó đọc. –
Điều gì đã xảy ra khi bạn thực hiện điều này: effect.World = Matrix.CreateRotationZ (modelRotation) * effect.World = Matrix.CreateTranslation (position); Tôi bối rối, bạn nói nó 'di chuyển theo một hướng đã định', ý bạn là gì? – tweetypi