図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); }