Starting work on capsules.

This commit is contained in:
2023-03-16 22:30:57 -07:00
parent c6391f1111
commit 11af9d147a
13 changed files with 435 additions and 70 deletions

View File

@ -8,7 +8,13 @@
#include "scene/components/PlayerController.hpp"
#include "scene/components/GameCamera.hpp"
#include "scene/components/physics/3d/CubeCollider.hpp"
#include "scene/components/physics/3d/CapsuleCollider.hpp"
#include "scene/components/GameCamera.hpp"
#include "scene/components/display/MeshRenderer.hpp"
#include "scene/components/display/MeshHost.hpp"
#include "scene/components/display/material/SimpleTexturedMaterial.hpp"
#include "display/mesh/CapsuleMesh.hpp"
#include "scene/components/example/ExampleSpin.hpp"
namespace Dawn {
class HelloWorldScene : public Scene {
@ -16,20 +22,26 @@ namespace Dawn {
Camera *camera;
void stage() override {
camera = Camera::create(this);
camera->transform->lookAt(glm::vec3(0, 0, 8), glm::vec3(0, 0, 0));
auto gameCamera = camera->item->addComponent<GameCamera>();
auto playerItem = this->createSceneItem();
auto player = playerItem->addComponent<PlayerController>();
auto hitbox = playerItem->addComponent<CubeCollider>();
auto hitbox = playerItem->addComponent<CapsuleCollider>();
playerItem->addComponent<MeshRenderer>();
auto meshHost = playerItem->addComponent<MeshHost>();
playerItem->addComponent<SimpleTexturedMaterial>();
CapsuleMesh::create(&meshHost->mesh, hitbox->radius, hitbox->height);
auto wall = this->createSceneItem();
auto wallHitbox = wall->addComponent<CubeCollider>();
wall->transform.setLocalPosition(glm::vec3(-10, 0, 0));
wallHitbox->min = -(wallHitbox->max = glm::vec3(1, 1, 5));
gameCamera->player = player;
camera = Camera::create(this);
// camera->transform->lookAt(glm::vec3(0, 0, 8), glm::vec3(0, 0, 0));
// auto gameCamera = camera->item->addComponent<GameCamera>();
camera->transform->lookAt(glm::vec3(4, 4, 4), glm::vec3(0, 0, 0));
// gameCamera->player = player;
}
std::vector<Asset*> getRequiredAssets() override {