November 24, 2017

【Unity】他のスクリプトの値を参照する

下記のようにすると、他のオブジェクトについているスクリプトの値を取得することができます。
▼▼▼サンプル▼▼▼
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SanshouScript : MonoBehaviour {
 OtherSc otherSc //「OtherSc」というスクリプトの値を見る場合。
     void Start () {
 //「Other」オブジェクトの「OtherSc」スクリプトを参照
        otherSc= GameObject.Find("Other").GetComponent<OtherSc>(); 
     }
    void Update () {
    //「Other」オブジェクトの「OtherSc」スクリプト「hensu」という変数の値をデバッグログに表示。
    Debug.Log(otherSc.hensu );
    }
}
▲▲▲以上▲▲▲
「GameObject.Find」でゲームオブジェクトを見つける場合、「 void Start ()」以降のタイミングでないと見つけられないので、注意が必要です。

November 23, 2017

画面の動画キャプチャーの取り方

制作しているゲーム画面を動画で保存したいとき、Windows10ならでゲームバーで簡単に撮影できgます。

「Windowsキー+Gキー」を押すと、ゲームバーが起動します。

ゲームバーの録画ボタンを押すと、画面の録画が行われます。

November 21, 2017

【Unity】animationの作り方

Unityでは、オブジェクトやUIの動きなどをアニメーションとして登録することができます。

アニメーションでは、登録された動作をタイムラインに沿って再生していきます。
これにより、UIによる派手な演出や、ドアの開閉などのオブジェクトによる決まった動きを行わせることができます。
アニメーションを登録するには、まず「Window」メニューから「Animation」を選択して、「Animation」ウィンドウを表示します。
アニメーションを登録したいオブジェクトやUIを選択した状態で、「Animation」ウィンドウ内の「Create」ボタンを押すと、タイムラインが表示されます。
ウィンドウ左上にある「」ボタンを押すと、動作の記録が始まります。
タイムライン上で、保存したい時間のところにキーフレームを打ちながらオブジェクトを動かしていくと、その動きが記録されていきます。
再び「」ボタンを押すと、記録が完了します。
保存したアニメーションは、オブジェクトが出現すると同時に再生されますが、「Animator」を使用すると再生されるタイミングを細かく設定することも可能です。

November 17, 2017

【Unity】MAYAのデータをUnityに組み込む方法

MAYAで作成したデータをUnity用に出力する場合は、MAYAの「ゲーム エクスポータ」を使うと便利です。

FBXファイルを出力する際に、必要な設定をわかりやすく行えるので、効率よくデータの変換が行えます。
出力したファイルは、Unityにドラッグ&ドロップするだけで組み込むことができます。
詳しくは、下記をご覧ください。
■ゲーム エクスポータ(Game Exporter)
https://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/JPN/Maya/files/GUID-2DB6E7B0-04B8-4585-91E9-7D64B02D0338-htm.html

November 14, 2017

【Unity】エフェクトに簡単にSEをつける

エフェクトにAudioSourceを設定すると、簡単にSEをつけることができます。

まず、SEをつけたいエフェクトのインスペクター上で「AddComponent」ボタンを押し、「Audio」を選択します。
Audiosource1
Audioメニューから「AudioSource」を選択し、AudioSourceを追加します。
Audiosource2
AudioSourceの「AudioClip」欄に使いたい音声ファイルをドラッグ&ドロップして設定します。
Audiosource3
使用できる音声ファイルはこちら で確認できます。
音声ファイルを再生するには、これとは別に「AudioListener」が必要になるので注意してください。

カメラなどの常にゲーム内に存在しているオブジェクトにAudioListenerを設定してください。
▼下記のファイルをインポートすると、Unity上で実際の動きを確認できます。

November 13, 2017

【Unity】Effectを消滅させる

ループの設定をしていないエフェクトは、一回エフェクトを再生したら表示されなくなりますが、オブジェクト自体は消えません。

そのため、大量にエフェクトを発生させると、ゲームが進行するにつ入れてエフェクトのオブジェクトが残ってしまいます。
下記のスクリプトをエフェクトに設定すると、particleSystem.IsAliveでエフェクトの表示が終わったことを確認してから、オブジェクトが消えます。
----▼サンプル▼----
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EffectDestroyScript : MonoBehaviour
{
    ParticleSystem particleSystem;
    // Use this for initialization
    void Start () {
        particleSystem = GetComponent<ParticleSystem>();
    }
 
 // Update is called once per frame
 void Update () {
        if (!particleSystem.IsAlive()) //パーティクルの表示が終わったことを確認します
        { Destroy(gameObject); }
    }
}
----▲以上▲----
▼下記のファイルをインポートすると、Unity上で実際の動きを確認できます。

November 10, 2017

【Unity】Effectを表示する

エフェクトを表示する際は、オブジェクトを表示する際と同様にInstantiateを使います。
以下のサンプルでは、インスペクター上で登録したエフェクトを、スペースボタンを押すたびに表示します。
----▼サンプル▼----
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EffectTestScript : MonoBehaviour {

    public GameObject effect;   //インスペクター上で表示するエフェクトを登録します。
 
 // Update is called once per frame
 void Update () {

        if (Input.GetKeyUp(KeyCode.Space))
        {
            Instantiate(effect, this.transform.position, Quaternion.identity); //Effectを表示します
        }
    }
}
----▼以上▼----
▼下記のファイルをインポートすると、Unity上で実際の動きを確認できます。

November 09, 2017

HUD付きのヘルメットがカッコいい

HUDがついている「CrossHelmet X1」のデザインが何ともかっこいい。

http://www.crosshelmet.com/jp/
Img_pring

HUDに後方の映像を映すためのカメラなどが後頭部部分にあるためか、後ろに大きく張り出しているため、通常のヘルメットに比べて後方向が非常に大型化している。
ともすれば、バランスが悪くなりそうだが、チンガード部分も前側に張り出しているので、前後のバランスがとれていて、エイリアンチックな近未来的なデザイン。
機能も、後方モニターだけでなく、スマホと連動してのナビゲーション機能や通話機能、走行時のノイズキャンセリングなどが搭載されており、なかなか魅力的。
値段は相応に高そうだけど、是非一度かぶってみたいヘルメットです。

November 07, 2017

【Unity】キー入力で操作する

キーボードの入力でゲーム内の操作をする場合は、Input.GetKeyを使用します。
下記サンプルのif文のように、「if (Input.GetKey(KeyCode.<設定するキー>) { } 」と記述すると、設定したキーが押された際に、処理が行われるようになります。
----▼サンプル▼----
using UnityEngine;
using System.Collections;
public class GetKeySampleScript : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKey(KeyCode.UpArrow))          //上カーソルを押してる際の処理
        { transform.Translate(0, 0, 1); }   //z軸プラス方向に移動
    }
}
----▲以上▲----
下記のサンプルのようにすると、上下左右のカーソルキーでオブジェクトを自由に動かせるようになります。
----▼サンプル▼----
using UnityEngine;
using System.Collections;

public class GetKeySampleScript : MonoBehaviour
{
    public float speed =0.1f;   //移動速度を設定します

    void Update()
    {
        if (Input.GetKey(KeyCode.UpArrow))                          //上カーソルを押してる際の処理
        { transform.Translate(0, 0, speed * Time.deltaTime); }      //z軸プラス方向に移動

        if (Input.GetKey(KeyCode.DownArrow))                         //下カーソルを押してる際の処理
        { transform.Translate(0, 0, -1 * speed * Time.deltaTime); }  //z軸マイナス方向に移動

        if (Input.GetKey(KeyCode.RightArrow))                        //右カーソルを押してる際の処理
        { transform.Translate(speed * Time.deltaTime, 0, 0); }       //x軸プラス方向に移動

        if (Input.GetKey(KeyCode.LeftArrow))                         //左カーソルを押してる際の処理
        { transform.Translate(-1 * speed * Time.deltaTime, 0, 0); }  //x軸マイナス方向に移動
    }
}
----▲以上▲----
▼下記のファイルをインポートすると、Unity上で実際の動きを確認できます。

November 06, 2017

【Unity】オブジェクトを回転させる

オブジェクトを回転させる場合は、transform.Rotateを使います。
x,y,zの値を設定すると、指定された角度分回転します。
下記のサンプルのようにすると、回転し続けるようにできます。

----▼サンプル▼----

using System.Collections;
using UnityEngine;

public class RotateSampleScript : MonoBehaviour {

 public float speed = 10f; //回転する速度を設定します。マイナス値にすると、逆回転になります。

 void Update () {
 transform.Rotate(0, speed, 0); //設定した速さで、Y軸に回転します。
 }
}

----▲以上▲----

ただし、上記の内容ですと、フレームごとに回転速度が異なる可能性があるので、ゲームで一定速度で回転させたい場合は、下記のように回転量にDeltatimeを掛けたほうが良いと思います。

----▼サンプル▼----

using System.Collections;
using UnityEngine;

public class RotateSampleScript : MonoBehaviour {

 public float speed = 10f; //回転する速度を設定します。マイナス値にすると、逆回転になります。

 void Update () {
 transform.Rotate(0, speed * Time.deltaTime, 0); //設定した速さで、Y軸に回転します。
 }
}

----▲以上▲----

下記のファイルをインポートすると、Unity上で実際の動きを確認できます。
「RotateSample.unitypackage」をダウンロード

«【Unity】オブジェクトを移動させる

Recent Comments

Recent Trackbacks

無料ブログはココログ
My Photo

CM