図0107a
//初期化
void Player::OnCreate() {
//中略
//Rigidbodyをつける
auto PtrRedid = AddComponent<Rigidbody>();
//衝突判定をつける
auto PtrCol = AddComponent<CollisionSphere>();
PtrCol->SetIsHitAction(IsHitAction::Auto);
//文字列をつける
auto PtrString = AddComponent<StringSprite>();
PtrString->SetText(L"");
PtrString->SetTextRect(Rect2D<float>(16.0f, 16.0f, 640.0f, 480.0f));
Mat4x4 SpanMat; // モデルとトランスフォームの間の差分行列
SpanMat.affineTransformation(
Vec3(1.0f, 1.0f, 1.0f),
Vec3(0.0f, 0.0f, 0.0f),
Vec3(0.0f, XM_PI, 0.0f),
Vec3(0.0f, -0.5f, 0.0f)
);
//影をつける(シャドウマップを描画する)
auto ShadowPtr = AddComponent<Shadowmap>();
//影の形(メッシュ)を設定
ShadowPtr->SetMeshResource(L"Chara_R_MESH");
ShadowPtr->SetMeshToTransformMatrix(SpanMat);
//描画コンポーネントの設定
auto PtrDraw = AddComponent<BcPNTBoneModelDraw>();
//描画するメッシュを設定
PtrDraw->SetMeshResource(L"Chara_R_MESH");
PtrDraw->SetMeshToTransformMatrix(SpanMat);
PtrDraw->AddAnimation(L"Default", 60, 20, true, 20.0f);
PtrDraw->AddAnimation(L"Hit", 30, 30, false, 30.0f);
PtrDraw->ChangeCurrentAnimation(L"Default");
//中略
}
Mat4x4 SpanMat; // モデルとトランスフォームの間の差分行列
SpanMat.affineTransformation(
Vec3(1.0f, 1.0f, 1.0f),
Vec3(0.0f, 0.0f, 0.0f),
Vec3(0.0f, XM_PI, 0.0f),
Vec3(0.0f, -0.5f, 0.0f)
);
PtrDraw->SetMeshToTransformMatrix(SpanMat);
PtrDraw->AddAnimation(L"Default", 60, 20, true, 20.0f);
PtrDraw->AddAnimation(L"Hit", 30, 30, false, 30.0f);
PtrDraw->ChangeCurrentAnimation(L"Default");
auto PtrDraw = GetComponent<PNTBoneModelDraw>();
PtrDraw->ChangeCurrentAnimation(アニメーション名);
//初期化
void StaticModel::OnCreate() {
//中略
Mat4x4 SpanMat; // モデルとトランスフォームの間の差分行列
SpanMat.affineTransformation(
Vec3(1.0f, 1.0f, 1.0f),
Vec3(0.0f, 0.0f, 0.0f),
Vec3(0.0f, 0.0f, 0.0f),
Vec3(0.0f, -0.28f, 0.0f)
);
auto PtrColl = AddComponent<CollisionCapsule>();
PtrColl->SetFixed(true);
//影をつける(シャドウマップを描画する)
auto ShadowPtr = AddComponent<Shadowmap>();
//影の形(メッシュ)を設定
ShadowPtr->SetMeshResource(L"MODEL_MESH");
ShadowPtr->SetMeshToTransformMatrix(SpanMat);
auto PtrDraw = AddComponent<BcPNTStaticModelDraw>();
PtrDraw->SetFogEnabled(true);
PtrDraw->SetMeshResource(L"MODEL_MESH");
PtrDraw->SetMeshToTransformMatrix(SpanMat);
}