0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Unity入門 ブロック壊しの作成

Last updated at Posted at 2022-12-03

簡単なブロック壊しの作成

unityにまったく触れた事がなくても、取り掛かりやすそうなブロック壊しのゲームを作成した。
備忘録も兼ねて投稿する事にした。

参考サイト

オブジェクトの配置

上のタブにあるGameObject/3D Object/Cubeを選択する
image.png

オブジェクトの形を変える

オブジェクトを配置し、配置したオブジェクトを選択する
選択すると右にコンソールが出てくる。
オブジェクトを直接操作して形を変えることもできるが、今回はコンソールから形を変える。
右のコンソールのTransfom/scaleのx,yの値を変えて大きさを変える。
今回はx = 10,y = 1,z = 15とする
image.png

image.png

カメラの調整

オブジェクトが設置出来たら、次はカメラの調整を行う
まず、カメラを選択する。
image.png
右下にある、カメラからの視点を参考にカメラを動かしていく。
image.png

壁の設置

床を設置したときと同じように、cubeを追加する。
zの値を15にし、床と合わせる。
image.png
左のオブジェクトコンソールから、壁をコピーしスライドさせる。
image.png
上下の辺も同じ工程を繰り返す。
image.png

plyer、ballの設置

今までと同じようにオブジェクトを追加、変形させる。
球は3DオブジェクトのSphereから追加する。
image.png

マテリアルの設定

いまのままだと色が何もついていないので、色をつける作業をしていく。
下にあるプロジェクトの部分を右クリックし、create/materialを選択。
image.png

赤く囲まれている所で色を変更する。
image.png

オブジェクトのmaterialの欄に、作成したmaterialをドラッグする。
ボールも同じように色を付ける。
image.png

物理演算

ボールが落下する動作

物理演算をするオブジェクトを選択し、component/physics/Rigidbodyをクリック。
ボールを上に上げて、再生するとボールが落ちる
image.png

物理マテリアル(跳ね返り)を設定

create/physics/materialを選択。
image.png
それぞれの数値を変える。
image.png
image.png

項目の意味

  • Dynamic Friction
    移動している物体に対する摩擦。通常は、0 から 1 の間の値を使用します。0 の場合、氷のような感じになります。1 の場合、強い力や重力がオブジェクトを押さない限り、すぐに止まります。

  • Static Friction
    面上で静止しているオブジェクトに使用される摩擦。通常は、0 から 1 の間の値を使用します。0 の場合、氷のような感じになります。1 の場合、強い力を加えないとオブジェクトは動きません。

  • Bounciness
    表面にどれだけ弾性があるか。0 の場合は弾性がありません。1 の場合はエネルギーが減ることなく跳ねます。シミュレーションには少量のエネルギーを加えるかもしれませんが、ある程度の近似が予想されます。

  • Friction Combine
    衝突するオブジェクト間の摩擦をどう処理するか。

    • Average 2 つの摩擦力が平均化されます。
    • Minimum 2 つの摩擦力のうち小さい方の値が使用されます。
    • Maximum 2 つの摩擦力のうち大きい方の値が使用されます。
    • Multiply 2 つの摩擦力が互いに乗算されます。
  • Bounce Combine
    衝突するオブジェクト間の跳ね返し度合いをどう処理するか。Friction Combineと同じです。

物理マテリアルの実装

Sphere Colliderのmaterialに、作ったmaterialをドラッグする。
image.png

動かない軸を決める。
今回は、Y軸に動いてほしくないから、
Freeze PositionのYにcheckをつける。
また、回転はいらないのでFreeze Rotationは全てにチェックを付ける。
image.png

コードを書く

createからC# scriptを選択
image.png

playerの動き

キーボードを押すとブロックが左右に移動するようにしたい。

player
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class player : MonoBehaviour
{
    public float speed = 1f;//スピード
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.D))
        {
            if (this.transform.position.x > -5.5)
            {
                this.transform.position += Vector3.left * speed * Time.deltaTime;
            }

        }
        if (Input.GetKey(KeyCode.A))
            if (this.transform.position.x < -0.75)
            {
                this.transform.position += Vector3.right * speed * Time.deltaTime;

            }
        {

        }
    }
}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?