Unityでカードをめくる(回転させる)方法です
カードに限らずオブジェクトを回転させる時に使えます
1.カードの表と裏の画像を準備

ちなみにこの画像は『いらすとや』さんの画像を使わせて頂いてます
www.irasutoya.com
2.裏の画像をシーン内にドラッグ&ドロップ
インスペクターの位置X Yは0にしておく

3.プロジェクトタブにカーソルを持っていき右クリックでCardTurnというスクリプトを作成

4.CardTurnを編集
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CardTurn : MonoBehaviour
{
public float speed = 300.0f; // 回転スピード
public Sprite cardFront; //カードの表の絵
private Sprite cardBack; //カードの裏の絵
private bool isOpen = false; //true:表 false:裏
private bool isTurn = false; //true:回転中 false:停止している
// Start is called before the first frame update
void Start()
{
cardBack = GetComponent<SpriteRenderer>().sprite;
}
// Update is called once per frame
void Update()
{
//カードが停止している時スペースキーを押されたらカード回転
if (Input.GetKeyDown(KeyCode.Space) && !isTurn)
{
StartCoroutine(Turn());
}
}
IEnumerator Turn()
{
isTurn = true;
Vector3 cardAngle = transform.eulerAngles;
if (!isOpen) //裏→表
{
cardAngle.y = 0f;
//中間地点までめくる
while (cardAngle.y < 90f)
{
cardAngle.y += Time.deltaTime * speed;
transform.eulerAngles = cardAngle;
yield return null;
}
cardAngle.y = 90f;
transform.eulerAngles = cardAngle;
//カードの絵を変更する(裏→表)
GetComponent<SpriteRenderer>().sprite = cardFront;
//中間地点から最後までめくる
while (cardAngle.y < 180.0f)
{
cardAngle.y += Time.deltaTime * speed;
transform.eulerAngles = cardAngle;
yield return null;
}
cardAngle.y = 180f;
transform.eulerAngles = cardAngle;
isOpen = true;
}
else //表→裏
{
cardAngle.y = 180f;
//中間地点までめくる
while (cardAngle.y > 90f)
{
cardAngle.y -= Time.deltaTime * speed;
transform.eulerAngles = cardAngle;
yield return null;
}
cardAngle.y = 90f;
transform.eulerAngles = cardAngle;
//カードの絵を変更する(表→裏)
GetComponent<SpriteRenderer>().sprite = cardBack;
//中間地点から最後までめくる
while (cardAngle.y > 0f)
{
cardAngle.y -= Time.deltaTime * speed;
transform.eulerAngles = cardAngle;
yield return null;
}
cardAngle.y = 0f;
transform.eulerAngles = cardAngle;
isOpen = false;
}
isTurn = false;
}
}
5.CardTurnをカードのオブジェクトにドラッグ&ドロップ

6.カードの表の画像をカードのインスペクターのスクリプトにドラッグ&ドロップ

これで実行するとスペースキーを押すたびにカードをめくったりふせたりできます

Unity習得中です
アドバイス等あればよろしくお願いします