Hollywis LLC

湘南にある小さなシステム会社

← 技術ブログ一覧に戻る

【Unity道場1】座標を移動させる方法:問題文つき (Transformコンポーネント)

Unity

Unityの書籍を使っていくつかゲームを作った後に気付きました。

何も身についてねぇーーー!

本見ないと何にもできねxあーーー!

ということで、基本に立ち返って、ゲームを作る前にGameObjctの操作方法を

C#のスクリプトレベルで覚え直すことにしました。

まず、1つ目!! Transformコンポーネント

- 問題1:ゲームオブジェクトのx座標を一定毎に増やせ

        解答例

    


- 問題2:ゲームオブジェクトのx座標を軸に回転させよ

        解答例

    


- 問題3:ゲームオブジェクトのx座標成分に大きさを変えよ!

        解答例

    



問題1:ゲームオブジェクトのx座標を一定毎に増やせ

ゲームオブジェクトのx座標を一定毎に増やせ

解答例

using UnityEngine;

public class Test : MonoBehaviour { Transform t;

void Start() { t = this.gameObject.GetComponent<Transform>(); }

// Update is called once per frame void Update() { Vector3 pos = t.position; pos.x += 0.1f; t.position = pos; } }まず、取得したいゲームオブジェクトにこのTestスクリプトがAdd Componentされている前提です。

t = this.gameObject.GetComponent<Transform>();この部分は、正確に書いたバージョンで、よく他の説明ページではより簡易的に

t = this.transform;とか,さらにthisすら省略して

t = transform;と書いている場合もありますが、こちらでもOK。だた、より内部構造を意識してプログラミングするなら前者の方がいいかと思います。

後、Update部の部分ですが

t.position.x += 0.1fでもいいんじゃ。と思いがちですが、これだと動きません。

一度Vector3に入れて上げて、座標を修正し、元に戻すというような手順が必要

Vector3 pos = t.position; pos.x += 0.1f; t.position = pos;

問題2:ゲームオブジェクトのx座標を軸に回転させよ

ゲームオブジェクトのx座標を軸に回転させよ

解答例

using System.Collections;

using System.Collections.Generic; using UnityEngine;

public class Test2 : MonoBehaviour { Transform v;

void Start() { v = this.gameObject.GetComponent<Transform>(); }

// Update is called once per frame void Update() { Quaternion rot = v.rotation; rot.x += 0.01f; v.rotation = rot; } }

問題1との違いはVector3かQuaternionかの違いです。

あとはあんまり変わりません。

ちなみに、Quaternioは180が最大値なのでこのプログラムだと180まで行くと回転がとまります。

問題3:ゲームオブジェクトのx座標成分に大きさを変えよ!

ゲームオブジェクトのx座標成分に大きさを変えよ!

解答例

using System.Collections;

using System.Collections.Generic; using UnityEngine;

public class Test3 : MonoBehaviour { Transform v;

void Start() { v = this.gameObject.GetComponent<Transform>(); Debug.Log(v); }

// Update is called once per frame void Update() { Vector3 s = v.localScale; s.x += 0.01f; v.localScale = s; } }

Unityの教科書 Unity 2020完全対応版 2D&3Dスマートフォンゲーム入門講座Unityの教科書 Unity 2020完全対応版 2D&3Dスマートフォンゲーム入門講座

Unity 3D/2Dゲーム開発実践入門 Unity2019対応版Unity 3D/2Dゲーム開発実践入門 Unity2019対応版

Unity2020入門Unity2020入門

UnityではじめるC# 基礎編 改訂版UnityではじめるC# 基礎編 改訂版

Unity ゲームエフェクト マスターガイドUnity ゲームエフェクト マスターガイド