-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathColiderComp.h
More file actions
69 lines (51 loc) · 996 Bytes
/
ColiderComp.h
File metadata and controls
69 lines (51 loc) · 996 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#pragma once
#include"PhysicMotion.h"
//コライダーの種類
enum class ColliderType
{
Box
};
//衝突時の法線などを記録
struct CollisionInfo
{
//自身の速度
glm::vec3 myVelocity;
//相手の速度
glm::vec3 partnerVelocity;
//法線
glm::vec3 normal;
//衝突した相手の物理的特性
PhysicParam param;
CollisionInfo()
{
normal = glm::vec3(0.0f);
}
};
struct ColiderComp
{
size_t entityID;
//コライダーのID
size_t ID;
//コライダーのタイプ
ColliderType type;
//コライダーのサイズや半径などのパラメータ
//現在はボックスのみ
//この値は、3Dモデルのスケールにさらに、掛け合わされる
//実際の3Dモデルよりもコライダーのみ大きくしたいときよう
float size;
bool freeze;
//コライダーの各オフセット
glm::vec3 offsetPos;
glm::vec3 offsetScale;
CollisionInfo collision;
ColiderComp(const size_t& entity)
{
entityID = entity;
ID = 0;
type = ColliderType::Box;
size = 1.0f;
offsetPos = glm::vec3(0.0f);
offsetScale = glm::vec3(0.0f);
collision = CollisionInfo{};
};
};