2014年11月2日日曜日

壁をなくす その2 + 【新課題】ボールを回転させる その1

「ボールのy座標が『0』より下になったらReset処理を発動させる」
というスクリプトを書いてボールにくっつければ、完成!
ってことにしたい。

何と言うか・・・。
見つけたこととすれば、
「Resetを押すと、戻ってくることには戻ってくる」
「戻ってくるはいいけど、突き抜けてく」

簡単に言うと、回転やら移動やらを止めた状態で初期位置にテレポートさせればいいわけだ。
なんで移動を止めるか。
それは、ボールに割り当てたComponentの中で、
「RigidBody」
という、物理属性を与えるComponentを与えていた。
重力を有効にしていた。
落ちることで加速されていくため、超高速移動Objectとして当たり判定を突き抜けていた。
そのために止める。

それには、こういうプログラムを使う。
ballObject.rigidbody.velocity = Vector3.zero;
ballObject.rigidbody.angularVelocity = Vector3.zero;
上は移動を止める、
下は回転を止める。

まぁこれで出来たわけだ。





・・・まてよ?
ボールってほんとに回転してる?
 いやまさかぁ。
そのまさかがある?


あった。


_人人人人人人_
>回転してねぇ!<
 ̄Y^Y^Y^Y^Y^Y^ ̄

あの
「見た目が鉄のようなボール」。
回転してるように見えたあのボールも、実は

残念!それは目の錯覚だよ!
 テクスチャをわかりやすいやつに変えたら発覚した。
どうしてこうなった。



とりあえず、回転させたい。
でも回転などのやつにも、標準でunityは制限をかけているようだ。(まーた課題が増えた(´・ω・`)ショボーン)






壁をなくし、落ちた時の対処もできた!
でも、ボールが回転してなかったのは盲点だった。チッキショォォ!

また次回!

2014年11月1日土曜日

影の見え方 + 壁をなくす その1


 影の見え方を見るため、ライトを変えてみる。













これと













これを













これに。


すると













これから













これに。

ライトを変えた理由としては、ダボとか釘とかの影が出るかな~と思ったため。


・・・違和感あるな。
釘とかの影が出てこない・・・。
壁も違和感が・・・

そうだ。
別の課題をちゃちゃっとやって終わらせてみるか。

別の課題
「壁をなくす」

いけるんじゃね?
やってみた。













こんな感じ。
壁の影的違和感はなくなった。


問題はまだあるが。





釘とかの影が出てないこと。

調べたら、
ライトは、Shadow と投影することもできます。 影は、Pro 専用の機能です。 影プロパティは、ライトごとに調整可能です。
 「影はUnity Proな!
って書いてあった(´・ω・`)ショボーン
でも、なんか変な影的何かは出てるんだよなぁ・・・あの黒い部分。
この黒い部分は、結局光が当たってないところらしい。

調べたら、
「無料版でもUnity4.2から『HardShadow』のみ使用可能」
「『SoftShadow』でもHardShadowに自動でなる」
「出力プラットフォームが『Android・IOS・BlackBerry』だとできない」
と書いてあり、見てみたら、

_人人人_
>Android<
 ̄Y^Y^Y^ ̄
やってしもた・・・。

変える前

























影はこちら













キタ━━━━(゚∀゚)━━━━!!
影キタ━━━━(゚∀゚)━━━━!!


もう一つの課題、
それは、ボールがどっか行っちゃうんじゃね?ってこと。
このコリント、落ちるとResetできなくなるんだよなぁ・・・

というわけで
「ボールのy座標が『0』より下になったらReset処理を発動させる」
というスクリプトを書いてボールにくっつければ、完成!
ってことにしたい。

とりあえずここまで!
続きは次回!

2014年10月18日土曜日

視点切り替え機能の追加 その5

はぁ・・・長くなっちゃったなぁ・・・

前回、この話をどっかにやっちゃったのでやるよ!

俺の中で、仮説を立ててみた。
Buttonを
「RepeatButton」
にすればいいのでは?と。
RepeatButtonは、押してる限り、呼び出され続けるボタン。
なんか変わるかなぁ?と思って、やってみた。
なんだが、なんかよくよく見たら、こんなんあった





右 っ か わ

複数押されてたことに気が付かんかった・・・
別に、
「何個もログが出る」
ってわけではなかったんや・・・
気がつけばなぁ・・・

これはこれとして、
ひとつのボタンにまとめて~ってやって、後はポチッとな!
・・・とやりたかった。カチカチやりたかった。でも~反応しねぇ!else飛んだ!
やばいよやばいよ!ガチでやばいよ!!
これ。
いやぁーねぇ。

using UnityEngine;
using System.Collections;

public class ControlPanel : MonoBehaviour {
    GameObject Current_Camera;

    GameObject Main_Camera;
    GameObject Go_Camera;
    GameObject Go2_Camera;
    GameObject Right_Camera;
    GameObject Left_Camera;
    GameObject Back_Camera;
    GameObject Up_Camera;
    GameObject Lost_Camera;
    GameObject Ball_Camera;

    void Start () {
        Current_Camera = GameObject.FindWithTag("MainCamera");


        Main_Camera = GameObject.FindWithTag("MainCamera");
        Go_Camera = GameObject.FindWithTag("GoCamera");
        Go2_Camera = GameObject.FindWithTag("Go2Camera");
        Right_Camera = GameObject.FindWithTag("RightCamera");
        Left_Camera = GameObject.FindWithTag("LeftCamera");
        Back_Camera = GameObject.FindWithTag("BackCamera");
        Up_Camera = GameObject.FindWithTag("UpCamera");
        Lost_Camera = GameObject.FindWithTag("LostCamera");
        Ball_Camera = GameObject.FindWithTag("BallCamera");
        Debug.Log ("Main_Camera: " + Main_Camera.name);
        Debug.Log ("Go_Camera: " + Go_Camera.name);
        Debug.Log ("Go2_Camera: " + Go2_Camera.name);
        Debug.Log ("Right_Camera: " + Right_Camera.name);
        Debug.Log ("Left_Camera: " + Left_Camera.name);
        Debug.Log ("Back_Camera: " + Back_Camera.name);
        Debug.Log ("Up_Camera: " + Up_Camera.name);
        Debug.Log ("Lost_Camera: " + Lost_Camera.name);
        Debug.Log ("Ball_Camera: " + Ball_Camera.name);
    }

    void OnGUI () {
        GUIStyle style = new GUIStyle();
        style.fontSize = 30;//文字サイズ
        style.normal.textColor = Color.white;//文字色
        Debug.Log("通るって");
        if ( GUI.Button( new Rect(1100, 400, 200, 50), "Start!" )){
            Debug.Log("Startボタンが押されました。");

            GameObject startComp;
            startComp = GameObject.Find ("Start Button");
            startComp.GetComponent<ballshoot>().OnMouseDown();

        }
        if ( GUI.Button( new Rect(1100, 460, 200, 50), "Reset?" )){
            Debug.Log("Resetボタンが押されました。");

            GameObject resetComp;
            resetComp = GameObject.Find ("Reser Button");
            resetComp.GetComponent<Reset>().OnMouseDown();

        }
        if ( GUI.Button( new Rect(1100, 520, 200, 50), "Camera" )){
            Debug.Log("Cameraボタンが押されました。");
            ChangeView();
        }
//        if ( GUI.RepeatButton( new Rect(1100, 520, 200, 50), "Camera" )){
//            Debug.Log("Cameraボタンが押されました。");
//            //            ChangeView();
//        }

    }

    void ChangeView(){

        Debug.Log ("通るよ" + Current_Camera.name);
        if (Current_Camera.name == Main_Camera.name)  {
            Current_Camera = Go_Camera;

            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = true;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Current_Camera.name == Go_Camera.name) {
            Current_Camera = Go2_Camera;

            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = true;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Current_Camera.name == Go2_Camera.name) {
            Current_Camera = Right_Camera;

            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = true;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Current_Camera.name == Right_Camera.name) {
            Current_Camera = Left_Camera;

            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = true;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Current_Camera.name == Left_Camera.name) {
            Current_Camera = Back_Camera;

            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = true;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Current_Camera.name == Back_Camera.name) {
            Current_Camera = Up_Camera;

            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = true;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Current_Camera.name == Up_Camera.name) {
            Current_Camera = Lost_Camera;

            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = true;
            Ball_Camera.camera.enabled = false;
          
        } else if (Current_Camera.name == Lost_Camera.name) {
            Current_Camera = Ball_Camera;

            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = true;

        } else if (Current_Camera.name == Ball_Camera.name) {
            Current_Camera = Main_Camera;

            Main_Camera.camera.enabled = true;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else {
            Debug.Log("やばいよやばいよ");
            Current_Camera = Main_Camera;

            Main_Camera.camera.enabled = true;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        }

    }

}
ってやった。
単純に、
「GameObject」
もなんにもない
「Current_Camera」
を利用している。
「正常に動作しないんじゃね!?」
と思うかもしれないが、これは
「『Current_Camera』に指定するCameraを切り替える」
という処理をしている。
enable関係は、単純にこれが無いと、
「どのCameraをenableにするか、どのCameraをdisabledにするか」
ができない。
この処理をやらないと、正常にCameraが切り替わらない。

このコードでは、
「GUI表示」
もやっている。
それで実際、GUIから発射などもできるようになっている。



 












このボタンの通り。













ボールを追うCameraもあるよ!





 やってみたい?いやいや。まだまだ。課題は残ってるからねぇ。

2014年10月15日水曜日

視点切り替え機能の追加 その4

俺の中で、仮説を立ててみた。
Buttonを
「RepeatButton」
にすればいいのでは?と。
RepeatButtonは、押してる限り、呼び出され続けるボタン。
なんか変わるかなぁ?と思って、やってみた。



でもその話は置いといて、
前のコードとかで見かけた、
「print」や「Debug.Log」
という、ログを出すプログラムについて説明しよう。

両方共、ログを出すプログラムだが、
なんと、出力するときにprintだとそのまま出てしまうが、
Debugだと、出す設定をしない限り、出力されない。
これはどういうメリットがあるか。
それは、容量や重さと関係する。
プログラムの文が多いと、その分容量が増え、重くなるが、
Debugで出力すると、その文がunity側で無視されて、出力される。
そうすると、ゲームをやる側も出力する側も軽くなる。
実際、ゲームが重いと、スペックが低めな人たちが
「やっべ重っ!」
とすぐやめてしまう。

2014年10月7日火曜日

視点切り替え機能の追加 その3

    void ChangeView(){
        if (Camera.main == Main_Camera)  {
           
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = true;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
           
        } else if (Camera.main == Go_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = true;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
           
        } else if (Camera.main == Go2_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = true;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
           
        } else if (Camera.main == Right_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = true;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
           
        } else if (Camera.main == Left_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = true;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
           
        } else if (Camera.main == Back_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = true;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
           
        } else if (Camera.main == Up_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = true;
            Ball_Camera.camera.enabled = false;
           
        } else if (Camera.main == Lost_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = true;
        } else if (Camera.main == Lost_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = true;
           
        } else if (Camera.main == Ball_Camera) {
            Main_Camera.camera.enabled = true;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
           
        } else {
            Main_Camera.camera.enabled = true;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
           
        }

    }
結局こうなった 。
「ChangeView」
なのは、GUI(画面上にテキストやらボタンやらって出すやつ)をやろうとしているから。
それと、ボタンやめた。あの多いボタンやめた。一つのボタンでカメラを変えたかった。
あのままやっても良かったかもだけど、なんかなぁ・・・。
全部のプログラムはこちら
using UnityEngine;
using System.Collections;

public class ControlPanel : MonoBehaviour {
    GameObject Main_Camera;
    GameObject Go_Camera;
    GameObject Go2_Camera;
    GameObject Right_Camera;
    GameObject Left_Camera;
    GameObject Back_Camera;
    GameObject Up_Camera;
    GameObject Lost_Camera;
    GameObject Ball_Camera;

    void Start () {
        Main_Camera = GameObject.FindWithTag("MainCamera");
        Go_Camera = GameObject.FindWithTag("GoCamera");
        Go2_Camera = GameObject.FindWithTag("Go2Camera");
        Right_Camera = GameObject.FindWithTag("RightCamera");
        Left_Camera = GameObject.FindWithTag("LeftCamera");
        Back_Camera = GameObject.FindWithTag("BackCamera");
        Up_Camera = GameObject.FindWithTag("UpCamera");
        Lost_Camera = GameObject.FindWithTag("LostCamera");
        Ball_Camera = GameObject.FindWithTag("BallCamera");
    }

    void OnGUI () {
        GUIStyle style = new GUIStyle();
        style.fontSize = 30;//文字サイズ
        style.normal.textColor = Color.white;//文字色
        print("通るって");
        if ( GUI.Button( new Rect(1100, 400, 200, 50), "Start!" )){
            Debug.Log("Startボタンが押されました。");
        }
        if ( GUI.Button( new Rect(1100, 460, 200, 50), "Reset?" )){
            Debug.Log("Resetボタンが押されました。");
        }
        if ( GUI.Button( new Rect(1100, 520, 200, 50), "Camera" )){
            Debug.Log("Cameraボタンが押されました。");
//            ChangeView();
        }

    }

    void ChangeView(){
        print ("通るよ");
        if (Camera.main == Main_Camera)  {
          
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = true;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Camera.main == Go_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = true;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Camera.main == Go2_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = true;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Camera.main == Right_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = true;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Camera.main == Left_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = true;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Camera.main == Back_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = true;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else if (Camera.main == Up_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = true;
            Ball_Camera.camera.enabled = false;
          
        } else if (Camera.main == Lost_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = true;
        } else if (Camera.main == Lost_Camera) {
            Main_Camera.camera.enabled = false;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = true;
          
        } else if (Camera.main == Ball_Camera) {
            Main_Camera.camera.enabled = true;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        } else {
            print ("やばいよやばいよ");
            Main_Camera.camera.enabled = true;
            Go_Camera.camera.enabled = false;
            Go2_Camera.camera.enabled = false;
            Right_Camera.camera.enabled = false;
            Left_Camera.camera.enabled = false;
            Back_Camera.camera.enabled = false;
            Up_Camera.camera.enabled = false;
            Lost_Camera.camera.enabled = false;
            Ball_Camera.camera.enabled = false;
          
        }

    }

}
 
というわけで、ひとつのボタンにまとめて~ってやって、後はポチッとな!
・・・とやりたかった。カチカチやりたかった。でも~反応しねぇ!else飛んだ!
やばいよやばいよ!ガチでやばいよ!!

いろいろ検証した結果、一回しか押せなかった!
この一回しか押せない現象も実はまだよくわかってない。

これから大変だ。

2014年10月6日月曜日

視点切り替え機能の追加 その2

ボタンを設置・・・


















しました。
後はスクリプト書いて~ってやるだけ。
カメラの話は。


























using UnityEngine;
using System.Collections;

public class MainCamera : MonoBehaviour {
    public Camera Main_Camera;
    public Camera Go_Camera;
    public Camera Go2_Camera;
    public Camera Right_Camera;
    public Camera Left_Camera;
    public Camera Back_Camera;
    public Camera Up_Camera;
    public Camera Lost_Camera;
    public Camera Ball_Camera;
    // Use this for initialization
    void Start () {
        Main_Camera = GameObject.FindWithTag ("MainCamera");
        Go_Camera = GameObject.FindWithTag ("GoCamera");
        Go2_Camera = GameObject.FindWithTag("Go2Camera");
        Right_Camera = GameObject.FindWithTag("RightCamera");
        Left_Camera = GameObject.FindWithTag("LeftCamera");
        Back_Camera = GameObject.FindWithTag("BackCamera");
        Up_Camera = GameObject.FindWithTag("UpCamera");
        Lost_Camera = GameObject.FindWithTag("LostCamera");
        Ball_Camera = GameObject.FindWithTag("BallCamera");
    }

    void OnMouseDown () {
        print ("通るよ");
        Main_Camera.enabled = true;
        Go_Camera.enabled = false;
        Go2_Camera.enabled = false;
        Right_Camera.enabled = false;
        Left_Camera.enabled = false;
        Back_Camera.enabled = false;
        Up_Camera.enabled = false;
        Lost_Camera.enabled = false;
        Ball_Camera.enabled = false;
        print("通ったよ");

    }
}
これでできるはず・・・?



















あれ?エラー起こしてる・・・?




これかな?(選択されてるところから上)


























あ、これだ。
この選択されているところは、
「カメラに付けられているタグからそのオブジェクトを探す」
というプログラムである。
このプログラムがないと、下の
「OnMouseDown」
が発動しないわけではないが、誤動作を起こす危険性がある。

この選択されているところを消す(コメントアウト)と、動作したが、
別のカメラに移ってしまった(指定したカメラとは別のやつ) 。

解決しないとなぁ・・・。

2014年10月2日木曜日

視点切り替え機能の追加 その1

前回
「コリントの上板にキレイに木目のテクスチャを貼り付ける」
と、言ったな?あれは嘘だ (今度やります(未解決now))

今回は、
「視点切り替え機能の追加」
をやろうと思います。
・・・と言っても、カメラ増やしてスクリプト組んで~ってやるだけですが、
これが案外むずかしい。

とりあえず、カメラ設置。


























計8個カメラ設置(そのうちひとつはメインなので、設置したのは7個)。

続きは、カメラのボタンの設置というかなんというか・・・。