2015年10月3日土曜日

ランダムに音声再生

メモ 音をランダムで再生させる


ダメージをくらった時にランダムで再生させる
public class Script : MonoBehaviour 
{
    public AudioClip[] hitClips;

}

private void OnTriggerEnter2D(Collider2D collider2d){
        if(collider2d.gameObject.tag == "DamageObject")
        {
            var clip = hitClips[Random.Range(0,hitClips.Length)];
            AudioSourceController.instance.PlayOneShot(clip);

        }
}

2015年10月2日金曜日

Lightingで遊ぶ2

1.ロボの目を光らせる Textureの変更


http://tsubakit1.hateblo.jp/entry/2015/09/10/233000 参考



このロボットの一枚textureの目を光らせるには、マスクをかけてやればいい
光らせたい部分だけを白くして、他は黒に。

設定はこんな感じで
























これで目だけを光らせることはできるが、もっとそれっぽくするには…

1.Main CameraにBloomスクリプトを
2.MainCameraのHDRをOn
3.Edit>Project Setting>Quality で Anti AliasingをDisabledに

















2.LightProbeのこと

何回目かのLightProveです。

ここに分かりやすく書かれていたように、
(以下 上記リンクから完全コピペです ごめんなさい!)
  • ライトマップの設定時に、ライトの情報を使って設定する
  • ライトマップの光の輝度や色・間接光を各プローブに格納する
  • 近くのProbeと周辺のProbeを元に、ダイナミックなオブジェクトに間接光やライトマップの色を与える
  • LightProbeの影響を受けるオブジェクトはMeshRendererのUseLightprobeがONになっているオブジェクト(Unity5で標準化)
  • 直近のProbe取得は、現在のProbeからノードを辿って追跡する。
配置の方法は、
  • 光の発生源に一つ
  • 光の色が変わるポイント(影がかかっている場所)に配置
  • 壁に配置
  • 出来るだけ間隔を広げる
だそうです!!

2015年9月25日金曜日

Ambient Occlusionを設定してみる

http://tsubakit1.hateblo.jp/entry/2015/09/18/013000 を参考


Ambient Occlusion とは
 物の接地感を出す → 境目がはっきりする

Lighting とかの設定

簡単に家のオブジェクトをおいて、ベイク

今はstaticにした場合だが、動的の時も擬似的にやる方法があるみたい。
それは、リンク先のテラシュールブログさんで…

2015年9月10日木曜日

LightをBakeする

Bakeはここを参考に
http://tsubakit1.hateblo.jp/entry/2015/05/05/133903
http://tongullman.blogspot.jp/2015/05/unity5.html



Bake中に途中でエラーを発してそれ以上動かなくなるということがあった。
その時出たエラーの対処法は以下を参考にしました。
http://cubic9.com/Devel/Unity/Unity5%A4%C7Lightmap%A4%CEbake%A4%ACLight%20Transport%A4%C7%BB%DF%A4%DE%A4%EB%B7%EF%A4%CE%C2%D0%BD%E8/



Lightingの設定項目の見方
http://indie-du.hatenablog.com/entry/2015/06/02/214909
 GIは
 http://indie-du.hatenablog.com/entry/2015/06/04/205556
 ライトマップを焼くのにこれだけは設定しろ!
 http://indie-du.hatenablog.com/entry/2014/12/02/202230

2015年9月2日水曜日

SkyBoxのSunの話


Sunの部分にLightを入れると、skyboxに太陽ができる。
その太陽を設定したい時は、skybox/Procedural
上から・太陽の大きさ
   ・大気圧(薄い=黒い 厚い=赤い)
   ・空の色合い
   ・地面の色
   ・露光(輝度)


角度により、太陽の色が変化する










LightにLens Flareのコンポーネントを付ける
Directionalにチェックを入れるとフレアができる

















Terrainでフィールドを作る

これ(左から2番目)で整地できる

Heightで高さを決める。それが地面全体の基準の高さになる
・道



Terrainの地面からしか、木や草をブラシで生やすことができない。だから、草や木が生えそうなところはあらかじめ地を作っておく。(埋めこんでおく)
今回のものでいえば、横の石壁はオブジェクトだが、そこから草が生えているように見せるために石の中にもTerrainの地面を入れておく。

2015年8月30日日曜日

キャラクター移動の基礎

 ⒈アニメーションの話 

 オブジェクトのスピードが一定以上の時、「走る」アニメーションを
 SetFloat・・はTrigger、Boolとかでも可 

  private Animator animator;

    // Use this for initialization
    void Start () 
    {
        animator = GetComponentInChildren<Animator> ();
    }


  // Update is called once per frame
    void Update () 
    {
        animator.SetFloat ("Speed", 20f);
    }




⒉使い回せそうな移動スクリプトの話


CharacterController controller;
    public float MoveSpeed = 7f;
    public float RotationSpeed = 360f;

    // Use this for initialization
    void Start () 
    {
        controller = GetComponent<CharacterController> ();
    }
    
    // Update is called once per frame
    void Update () 
    {
        float h = Input.GetAxis ("Horizontal");
        float v = Input.GetAxis ("Vertical");

        var direction = new Vector3 (

              h * MoveSpeed, 
              0f, 
              v * MoveSpeed);
        if(direction.sqrMagnitude > 0.01f)
        {
            Vector3 forward = Vector3.Slerp(

                  transform.forward, 
                  direction, 
                  RotationSpeed * Time.deltaTime);

            transform.LookAt(transform.position + forward);
        }
        controller.Move (direction * MoveSpeed * Time.deltaTime);


⒊