- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang cố gắng tìm hiểu cách sử dụng jBullet trong một dự án mà tôi đang thực hiện, tôi đã xem các bản demo do nguồn cung cấp nhưng tôi không thể hiểu các bản demo này hiển thị các đối tượng như thế nào. Có ai có tài nguyên tốt có thể chỉ cho tôi hoặc cung cấp ví dụ cơ bản về hiển thị một hoặc hai đối tượng trên màn hình không?
Cảm ơn trước, tôi xin lỗi vì tôi không có bất kỳ mã nào để hiển thị, tôi có thể viết một số mã nhanh nếu cần, nhưng tôi chỉ đang tìm cách tiếp tục.
谢谢,
Tôi đang làm việc với mã cho một khối lập phương nên tôi đang cố gắng thêm va chạm vào nó nhưng tôi không chắc cách sử dụng jbullet:
khoảng trống công khai Draw() {
// tâm điểm posX, posY, posZ
bán kính phao = kích thước / 2;
//đứng đầu
glPushMatrix();
glBegin(GL_QUADS);
{
glColor3f(1.0f,0.0f,0.0f);
glVertex3f(posX + bán kính, posY + bán kính, posZ - bán kính);
glVertex3f(posX - bán kính, posY + bán kính, posZ - bán kính);
glVertex3f(posX - bán kính, posY + bán kính, posZ + bán kính);
glVertex3f(posX + bán kính, posY + bán kính, posZ + bán kính);
}
glEnd();
glPopMatrix();
//đáy
glPushMatrix();
glBegin(GL_QUADS);
{
glColor3f(1.0f,1.0f,0.0f); // ??
glVertex3f(posX + bán kính, posY - bán kính, posZ + bán kính);
glVertex3f(posX - bán kính, posY - bán kính, posZ + bán kính);
glVertex3f(posX - bán kính, posY - bán kính, posZ - bán kính);
glVertex3f(posX + bán kính, posY - bán kính, posZ - bán kính);
}
glEnd();
glPopMatrix();
// bên phải
glPushMatrix();
glBegin(GL_QUADS);
{
glColor3f(1.0f,0.0f,1.0f); // ??
glVertex3f(posX + bán kính, posY + bán kính, posZ + bán kính);
glVertex3f(posX + bán kính, posY - bán kính, posZ + bán kính);
glVertex3f(posX + bán kính, posY - bán kính, posZ - bán kính);
glVertex3f(posX + bán kính, posY + bán kính, posZ - bán kính);
}
glEnd();
glPopMatrix();
// bên trái
glPushMatrix();
glBegin(GL_QUADS);
{
glColor3f(0.0f,1.0f,1.0f); // ??
glVertex3f(posX - bán kính, posY + bán kính, posZ - bán kính);
glVertex3f(posX - bán kính, posY - bán kính, posZ - bán kính);
glVertex3f(posX - bán kính, posY - bán kính, posZ + bán kính);
glVertex3f(posX - bán kính, posY + bán kính, posZ + bán kính);
}
glEnd();
glPopMatrix();
// mặt trước
glPushMatrix();
glBegin(GL_QUADS);
{
glColor3f(0.0f,0.0f,1.0f);
glVertex3f(posX + bán kính, posY + bán kính, posZ + bán kính);
glVertex3f(posX - bán kính, posY + bán kính, posZ + bán kính);
glVertex3f(posX - bán kính, posY - bán kính, posZ + bán kính);
glVertex3f(posX + bán kính, posY - bán kính, posZ + bán kính);
}
glEnd();
glPopMatrix();
//mặt sau
glPushMatrix();
glBegin(GL_QUADS);
{
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(posX + bán kính, posY - bán kính, posZ - bán kính);
glVertex3f(posX - bán kính, posY - bán kính, posZ - bán kính);
glVertex3f(posX - bán kính, posY + bán kính, posZ - bán kính);
glVertex3f(posX + bán kính, posY + bán kính, posZ - bán kính);
}
glEnd();
glPopMatrix();
}
Đây là mã tôi đã chuyển đổi từ mã thử nghiệm hello world. Bạn có nghĩ điều này đúng không? :
khoảng trống tĩnh công khai HelloWorld() {
BroadphaseInterface broadphase = new DbvtBroadphase();
DefaultCollisionConfiguration va chạmConfiguration = new DefaultCollisionConfiguration();
Bộ điều phối CollisionDispatcher = new CollisionDispatcher(collisionConfiguration);
Bộ giải SequentialImpulseConstraintSolver = new SequentialImpulseConstraintSolver();
DiscreteDynamicsWorld động lực Thế giới = new DiscreteDynamicsWorld(bộ điều phối, pha rộng, bộ giải, cấu hình va chạm);
// đặt trọng lực cho thế giới của chúng ta
DynamicsWorld.setGravity(Vector3f mới(0, -10, 0));
// thiết lập hình dạng va chạm của chúng tôi
CollisionShape groundShape = new StaticPlaneShape(new Vector3f(0, 1, 0), 1);
CollisionShape fallShape = new SphereShape(1);
// thiết lập trạng thái chuyển động
DefaultMotionState groundMotionState = new DefaultMotionState(new Transform(new Matrix4f(new Quat4f(0, 0, 0, 1), new Vector3f(0, -1, 0), 1.0f)));
RigidBodyConstructionInfo groundRigidBodyCI = new RigidBodyConstructionInfo(0, groundMotionState, groundShape, new Vector3f(0,0,0));
RigidBody groundRigidBody = new RigidBody(groundRigidBodyCI);
DynamicsWorld.addRigidBody(groundRigidBody); // thêm nền tảng của chúng ta vào thế giới năng động..
// thiết lập trạng thái chuyển động cho quả bóng
DefaultMotionState fallMotionState = new DefaultMotionState(new Transform(new Matrix4f(new Quat4f(0, 0, 0, 1), new Vector3f(0, 50, 0), 1.0f)));
// Cái này chúng ta sẽ tăng khối lượng để nó phản ứng với trọng lực
khối lượng int = 1;
Vector3f FallInertia = Vector3f mới (0,0,0);
fallShape.tínhLocalInertia(khối lượng,fallInertia);
RigidBodyConstructionInfo fallRigidBodyCI = new RigidBodyConstructionInfo(khối lượng,fallMotionState,fallShape,fallInertia);
RigidBody fallRigidBody = new RigidBody(fallRigidBodyCI);
//bây giờ chúng tôi thêm nó vào mô phỏng vật lý của mình
độngWorld.addRigidBody(fallRigidBody);
cho (int i=0 ; i<300 ; i++) {
DynamicsWorld.stepSimulation(1/60.f, 10);
Biến đổi trans = biến đổi mới();
fallRigidBody.getMotionState().getWorldTransform(trans);
System.out.println("chiều cao hình cầu: " + trans.origin.y);
}
}
câu trả lời hay nhất
Mã mẫu jBullet HelloWorld:
khoảng trống tĩnh công khai HelloWorld() {
BroadphaseInterface broadphase = new DbvtBroadphase();
DefaultCollisionConfiguration va chạmConfiguration = new DefaultCollisionConfiguration();
Bộ điều phối CollisionDispatcher = new CollisionDispatcher(collisionConfiguration);
Bộ giải SequentialImpulseConstraintSolver = new SequentialImpulseConstraintSolver();
DiscreteDynamicsWorld động lực Thế giới = new DiscreteDynamicsWorld(bộ điều phối, pha rộng, bộ giải, cấu hình va chạm);
// đặt trọng lực cho thế giới của chúng ta
DynamicsWorld.setGravity(Vector3f mới(0, -10, 0));
// thiết lập hình dạng va chạm của chúng tôi
CollisionShape groundShape = new StaticPlaneShape(new Vector3f(0, 1, 0), 1);
CollisionShape fallShape = new SphereShape(1);
// thiết lập trạng thái chuyển động
DefaultMotionState groundMotionState = new DefaultMotionState(new Transform(new Matrix4f(new Quat4f(0, 0, 0, 1), new Vector3f(0, -1, 0), 1.0f)));
RigidBodyConstructionInfo groundRigidBodyCI = new RigidBodyConstructionInfo(0, groundMotionState, groundShape, new Vector3f(0,0,0));
RigidBody groundRigidBody = new RigidBody(groundRigidBodyCI);
DynamicsWorld.addRigidBody(groundRigidBody); // thêm nền tảng của chúng ta vào thế giới năng động..
// thiết lập trạng thái chuyển động cho quả bóng
DefaultMotionState fallMotionState = new DefaultMotionState(new Transform(new Matrix4f(new Quat4f(0, 0, 0, 1), new Vector3f(0, 50, 0), 1.0f)));
// Cái này chúng ta sẽ tăng khối lượng để nó phản ứng với trọng lực
khối lượng int = 1;
Vector3f FallInertia = Vector3f mới (0,0,0);
fallShape.tínhLocalInertia(khối lượng,fallInertia);
RigidBodyConstructionInfo fallRigidBodyCI = new RigidBodyConstructionInfo(khối lượng,fallMotionState,fallShape,fallInertia);
RigidBody fallRigidBody = new RigidBody(fallRigidBodyCI);
//bây giờ chúng tôi thêm nó vào mô phỏng vật lý của mình
độngWorld.addRigidBody(fallRigidBody);
cho (int i=0 ; i<300 ; i++) {
DynamicsWorld.stepSimulation(1/60.f, 10);
Biến đổi trans = biến đổi mới();
fallRigidBody.getMotionState().getWorldTransform(trans);
System.out.println("chiều cao hình cầu: " + trans.origin.y);
}
Về ví dụ java - jBullet, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12927654/
Tôi đã triển khai Jbullet trong mã của mình. Hộp, quả cầu hoạt động tốt. Nhưng tôi không biết cách triển khai bản đồ chiều cao thế giới của mình (dưới dạng đối tượng tĩnh). Tôi phải sử dụng loại hình dạng nào và bằng cách nào? Mảng bản đồ chiều cao của tôi giống như thế này float[world_siz
Tôi đang cố gắng tạo ra một thế giới có thể chơi vô tận bằng cách sử dụng Jogl, Jbullet và OpenSimplexNoise (OSN). Tôi đang sử dụng OSN để tạo thế giới và kết xuất thành công nó, nhưng tôi không biết cách thêm nó vào hệ thống thế giới/va chạm
Tôi đang sử dụng các đối tượng hộp động để va chạm trong Jbullet. Họ va chạm với nhau một cách chính xác. Nhưng tôi đang gặp phải một số vấn đề kỳ lạ khi xây dựng thế giới. Khi tôi cố gắng làm cho một vật thể cứng lồi (BoxShape hoặc TriangleShape) tĩnh (bằng cách đặt khối lượng thành
Tôi đang cố gắng tìm hiểu cách sử dụng jBullet trong một dự án mà tôi đang thực hiện, tôi đã xem các bản demo do nguồn cung cấp nhưng tôi không thể hiểu các bản demo này hiển thị các đối tượng như thế nào. Có ai có tài nguyên tốt có thể chỉ cho tôi hoặc cung cấp ví dụ cơ bản về hiển thị một hoặc hai đối tượng trên màn hình không? hiện hữu
Tôi đang cố gắng tạo một công cụ trò chơi và tôi muốn một máy ảnh được người chơi điều khiển và cũng bị ảnh hưởng bởi các thực thể jBullet khác trong Java. Có người đề nghị tôi sử dụng các vật thể chuyển động nên tôi đã tra cứu chúng. Tôi không thể tìm thấy bất kỳ tài liệu nào mà tôi có thể hiểu được. Ai đó có thể giải thích cách thiết lập cái này
Tôi hiện đang sử dụng công cụ vật lý JME-Jbullet và tôi đang gặp vấn đề với địa hình của mình. Tôi có 2 hộp phẳng, một hộp để sàn và một hộp để dốc. Vấn đề như sau: Sử dụng mã sau: Độ dốc của hộp = Hộp mới ("Độ dốc
Tôi đang tạo một trò chơi và tôi muốn sử dụng công cụ vật lý Jbullet. Tôi đã tìm kiếm Javadocs nhưng không tìm thấy gì. Làm cách nào để xác định hình dạng tùy chỉnh để sử dụng với Jbullet? Tôi đang tìm kiếm thứ gì đó để chuyển một loạt các đỉnh và chỉ số vào hoặc
Tôi là lập trình viên OpenGL mới và tôi đang tìm hiểu cách VBO và trình đổ bóng tương tác với nhau. Tôi thiết lập một bản demo cơ bản để nhập mô hình và đặt đèn vào cảnh. Bây giờ, trong tương lai tôi muốn học vật lý, nhưng tôi biết ít nhất về Jbullet. Tôi nên bắt đầu lại từ đầu
Tôi có một thiết lập trong trò chơi của mình trong đó vật lý được cập nhật trong một luồng riêng biệt, được triển khai như sau PhysicsProcessor (luồng vật lý) lớp công khai PhysicsProcessor mở rộng Runnable { priv
Tôi đang làm việc để tạo một công cụ voxel trong LWJGL 3 và tôi đã nắm được tất cả những điều cơ bản (khối, kết xuất lưới, v.v.). Bây giờ tôi đang sử dụng Jbullet để thêm các hiệu ứng vật lý. Đây là lần đầu tiên tôi sử dụng Jbullet trực tiếp nhưng tôi đã từng làm việc với nó trước đây
Tôi đã thiết lập máy ảnh và tôi có thể di chuyển nó bằng WASD cũng như xoay Chế độ xem bằng chuột. Nhưng bây giờ xuất hiện vấn đề: tôi muốn thêm vật lý vào máy ảnh/trình phát để nó "tương tác" với các đối tượng jBullet khác của tôi. Tôi phải làm gì? Tôi đã nghĩ đến việc tạo một cái cho máy ảnh
Có ai chạy thành công bản demo Jbullet trong IntelliJ chưa? Khi tôi chạy bản demo bằng tập lệnh xây dựng kiến, tôi gặp lỗi này: C:\Users\halin_000\ProgrammingProject
Vì vậy, tôi đã dành một thời gian dài cố gắng phát triển hệ thống phát hiện va chạm cho game engine của riêng mình từ đầu nhưng vô ích do thiếu thời gian. Cuối cùng tôi quyết định thử sử dụng Jbullet để làm mọi việc nhanh hơn. Về cơ bản, tài liệu này bây giờ vô dụng và tôi đang cố gắng chuyển mã dấu đầu dòng sang j
Tôi đang cố gắng thực hiện một số công việc bằng cách sử dụng vật lý jBullet và voronoi smash. Tôi có thể tìm thấy rất nhiều video về nó hoạt động, chỉ là không có ví dụ về mã. Java hoặc C++ sẽ hoạt động. Chỉ cần một số ví dụ về mã. Không thể tìm thấy ví dụ về việc này
Tôi là một lập trình viên xuất sắc, rất giỏi!