2015年8月2日日曜日

Lux2.0で遊んでみる

Lux2.0で遊んでみる

雨を作ってみる

床のオブジェクトに、Setup Lux2.0のスクリプトを。以下数字は適当に…


床のマテリアルはこんな感じ…

これだけで、

こんな感じに。

Water FX Pack というAssetを組み合わせると良い感じに雨降っているようになる!
ただこのアセットの雨の、FX_Spit(水しぶき)は微妙? ないほうがいいかも

土砂降りにしたい時はprefabを複製して、同じ場所に配置すればいい





これで、LuxでIBLができるかも。Lux2.0でのやり方はまだよく分からない。

2015年8月1日土曜日

Title Scene

タイトルScene作り

スクリプト

void Update () 
    {
        if(Input.anyKeyDown)
        {
            Application.LoadLevel("MainGameScene");
        }
    
    }

で何を押してもMainGameSceneに飛ぶようになった。


文字

Canvasの設定の中に「Screen Space - Overlay」「Screen Space - Camera」「world space」
という項目がある。それぞれ順番に、Unity-GUIのように最前面カメラへの描画 カメラから見たUI ワールド座標のカメラ となるらしい。

フリーテキストをダウンロード。サイズを指定



 文字を点滅させる
アニメーションでTextの色のa値を変換
1.AnimationClipとAnimatorを登録
2.AnimationとAnimationController
3.キーフレームで色を変えてクリップを(赤い録画マーク?を押してからじゃなきゃキー打てないんだ。初めてしった…)



背景

は、スカイボックスでゲームの雰囲気に合うのを設定した。けど、静止画なのはなんかイヤだったので、回転させてみた。

transform.Rotate (0f, 0.2f, 0f);

MainCameraをこれでゆっくり回転させただけ。

もっと詳しくやりたい方は、↓の方のブログを

【Unity】SkyBox(背景)を簡単に360度回転させる方法


学んだことをメモするだけ


動く床を作りたい

public class AutoMoveScript : MonoBehaviour 
{    
    Vector3 BasePosition;

    private float offset = 30f;

    // Use this for initialization
    void Start () 
    {
        BasePosition = transform.position;
    }
    
    // Update is called once per frame
    void Update () 
    {
        //sinカーブ 掛ける値を大きくすると周期が短くなり、小さくすると周期が長くなる。
        transform.position = BasePosition + Vector3.forward * Mathf.Sin(Time.time + offset);
    }
}

最初Update内を、transform.position = transform.position + ・・・

ってやってたが、移動する床の中心がズレた。それもそのはず、自分の座標に足されていくからそうなるよねー



セーブポイント(チェックポイント)を作りたい

public class CheckPointCS : MonoBehaviour 
{
    public GameObject target;
    public ParticleSystem savefin;
    public ParticleSystem respawn;

    Vector3 checkposition;

    private bool checkable = false;

    // Use this for initialization
    void Start () 
    {
    
    }
    
    // Update is called once per frame
    void Update () 
    {
        if (checkable) 
        {
            if (Input.GetKeyDown ("1")) 
            {
                target.transform.position = checkposition;

                respawn.Play();
            }
        }
    
    }

    void OnTriggerEnter(Collider collider)
    {
        if(collider.tag == "Player")
        {
            checkable = true;

            checkposition = transform.position;
            Debug.Log("getcheck");

            savefin.Play();
        }
    }
}

プレイヤーがセーブポイントのトリガーにあたったら、その座標を取得。1のキーが押されたら、取得した座標に出現する。
 おまけでパーティクルを使って、セーブポイントに着いた時、セーブポイントに出現した時を演出


パーティクル

スクリプトから再生

public ParticleSystem 変数名;
で、パーティクルを保持

変数名.Play();
で、再生。

収束エフェクトの作り方

収束エフィクト(チャージしているような)
  1. ShapeをSphere(球)に
  2. Emit from ShellをONに。球面からパーティクルが出るようになる
  3. Start SpeedをRadiusのマイナスの値にする。マイナスの数字を入れることによって逆方向に。この場合球の中心に
  4. Rateを100に(パーティクル発生頻度)
  5. Render ModeをStretched Billboard(形状を変化させることができる)
  6. Length Scaleを0.5に。縦長にすることができる

2015年7月22日水曜日

Lightingについて--Emissionとか

Emission関係

http://tsubakit1.hateblo.jp/entry/2015/06/24/055130テラシュールブログさん のまとめみたいな

光る材質を作成することができる

暗闇でも色を失わず暗くならない

Emissionを持つオブジェクトがstaticの場合は自身の色を保持するだけではなく、周囲のstaticオブジェクトに対して光源として機能するようになる

色や輝度を変化させることによって、光源の範囲も変化する。だけど、座標移動や変化をすることはできない。

動的オブジェクトに影響を与えたい時はLightProbeを。ただしこの場合は影が表現されない。だからShadowProjectorで影を表現するといった工夫が必要。

物体の周囲に光が滲んで見える表現。光が滲む表現はbloomを使用。


InportPackageのEffectに含まれているもの

InportPackage>Effect
から気になったのを抜粋・・・

bloom

Threshold(閾値)とIntensityを調整する。カメラのHDRにチェックを入れる

閾値…ある刺激によってある反応が起こる時、刺激がある値以上に強くなければ、その反応は起こらない。その限界値のこと。
だから、光って欲しくないオブジェクトにはTreshholdの値を大きくすればいい…かも
HDRの高い値を出すには、Treshholdの値を大きくすればいい?
 ・・   ちょっとTreshholdの意味が分からない

カメラにstanderdAsset EffectのBloomスクリプト





Edge Detection

オブシェクトの輪郭が強調される。床の位置とかがわかりやすくなる。
が、なんか漫画っぽくなる気が…

色々設定変えられるみたいだが、そこはまた今度


Globalfog

LightingについているFogとは別物?のような気が

こっちはカメラに映る範囲をfogで包むのかな?


2015年7月6日月曜日

Audioについて

audio Sourceのこと


audio.Play(); を追加するだけ。これを任意のタイミングで呼べばいい。

しかし、この方法だと1種類のサウンドしか使えず、あまりいい方法ではないみたい。




・・・色々書こうと思ったけど、今は置いとく。
 こことか、他の方のブログ見てしばらく勉強。シェーダーとかもだけど、知らないこと多すぎ!!



2015年7月4日土曜日

Lightingについて

ライトについて

部屋を真っ暗にしたい場合

・[Window]->[Lighting]
 Ambient Intensityを0に

・背景色を黒に
 カメラの背景色を変更

・Skyboxを外して、background colorを黒にしたり

ライトをいっぱい置く場合

ポイントライトはpixel right count以上置くと優先度の低い順に雑になる。初期値はモバイル一個。PC4個。
CameraのRenderPathの設定をDeferredにするか、Pixel Light Countの数を増やせばOK


・ライトを焼く
自分で書くよりもこれみた方が早い 詳しい 分かりやすい

光るものを作る時

テクスチャのemissionを弄る!

この場合、ボタンの赤いテクスチャと、薄青のテクスチャを2。

背景のボードの灰色部分を少し見せるために0.3に。



以上の結果・・・

こうなった。コントロールパネルのボタンがいい具合に光り、灰色のボードの部分もうっすら見えているんじゃないかと思う。

2015年6月18日木曜日

 DeNAで開催された、げんなま第7回に行ってきた。


今回はキュレーションの話。

メモしておきたいことだけを抜粋
・SCRUMの話
 スクラムと聞くとラグビーを思い出すが、これはソフトウェア開発のことの単語。
『スクラム実践入門』という本が物凄く解りやすいみたい

・コミュニケーション方法
Slackを使っているみたい。だけどこれだけではダメで、フリースペースとかで口頭で。そしてその場でなおすみたい


さて、自分にとって本番の懇親会

たくさん質問してきました⭐️

・ソシャゲ業界は今どの位置? 全盛期なのか成長中なのか下り坂なのか?
2人の方に質問し、一人は全盛期を過ぎかけて、下り坂手前 と。
       もう一人はまだ成長中 だと。

・ソシャゲの走りと思われる、怪盗ロワイアルが人気だった理由は?
 そのころまだMMOとかは少ししかなく、ゲームで離れたプレイヤーとやり取りできたという、目新しさがあったこと。大げさにいうと、離れたところにいる人とジャンケンできるだけでも、売れたかもしれない。 財宝を奪い合うことにより、ネット上でのコミュニケーションが出来上がった。
 そいういう意味では、10代よりも30代に人気がでたのではないか。

・ガチャという世界観にそぐわない物を使うのはなぜか?
 本当はLOLみたいに姿が変わるものや、超レアカード一枚に1000円 とかいう儲けかたをしたい。がしかし、単価に見合わない。 一枚確定で1000円というよりも、1000円で10連ガチャで獲得のチャンスを得られる という方が売れてしまう。

・流行り廃りはあるのか?
 もちろんある。昔はカード系のソシャゲらしいソシャゲだったが、今はコンシューマーと同じくらいのRPGが楽しめる(白猫とか)。おそらく、ソシャゲでFPSが作れるのもそう遠くないと思われる。
 ソシャゲはパズル系がもう出切った。新しいオリジナルの要素を組み込んでいかないと、売れない。

・自分が興味ないゲームジャンルでもやりこむべし!!
 例えばカードバトルとか、自分は興味なくても引き寄せている要素がどこかにある。やりこむことによってそれを分析する。