(スクリプト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FallBlock : MonoBehaviour
{
private Rigidbody rb;
// ★追加
// 最初の位置
private Vector3 initialPos;
// 最初の角度
private Quaternion initialRot;
void Start()
{
rb = GetComponent<Rigidbody>();
// ★追加
// 初期位置情報の取得
initialPos = transform.position;
// 初期角度情報の取得
initialRot = transform.rotation;
}
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Player"))
{
Invoke("Fall", 2);
}
}
void Fall()
{
rb.isKinematic = false;
// ★追加
// 5秒後に戻す
Invoke("Reset", 5f);
}
// ★追加
private void Reset()
{
rb.isKinematic = true;
transform.position = initialPos;
transform.rotation = initialRot;
}
}
(実行結果)