😸

Unity ジェンガっぽいもの

2 min read

Unity ボタンの操作で、オブジェクトを増やす

環境
OS:macOS BigSur
Unity 2019.4.5f1
Visual Studio Code

Unityが、ダウンロードしてある前提で、説明していますので、よろしくお願いします。


作業手順

手順1

Unity Hubの、新しいプロジェクトから、3Dを選び、プロジェクトを作成します。

プロジェクト名はどんな名前でも大丈夫です。

増やしたいオブジェクトを作成します。

写真右上の+▼をクリックすると、3Dオブジェクトというものがあり、その中に、キューブというものがあるので、それをクリック。

これを何度もコピー&ペースト(欲しい数分)

https://youtu.be/pmTX0sRWke4

こんなかんじで

これで、今回必要なオブジェクトは揃いました。


手順2

大きさと配置場所の設定を行います

ここからは、動画を参考にしてください。

https://youtu.be/I0dhh7aBmUg

これで形上は完成しました。

ここから、重力の設定と床の作成を行います。
重力の設定は、Add componentを選択して、Rigidbodyを検索して追加するだけで大丈夫です。

https://youtu.be/yuGogpe24_4

床は、

https://youtu.be/10D3wu9tnCQ

このような感じで追加できます。


手順3

スクリプトを描きます

https://youtu.be/zzdhu1kJsic

このような感じで描きます

コードはこれです
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class cube1 : MonoBehaviour {
private Vector3 screenPoint;
private Vector3 offset;

void OnMouseDown() {
    this.screenPoint = Camera.main.WorldToScreenPoint(transform.position);
    this.offset = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}

void OnMouseDrag() {
    Vector3 currentScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
    Vector3 currentPosition = Camera.main.ScreenToWorldPoint(currentScreenPoint) + this.offset;
    transform.position = currentPosition;
}

}

その後、動画のようにすると、

完成です。

https://youtu.be/stRcAWYfNZE

完成

これで完成できました!!!

簡単なものとしては完成ですがここからリアリティを求めるのも良いと思います。Unityを使用して、いろいろなことを試してください!!!

Discussion

ログインするとコメントできます