スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    プレイヤーキャラの入力の記述の分離について

    前回に続き、[Unity]新 Standard Assets候補、Sample Assets (beta)
    の2Dサンプルの発見点についてメモ

    なんと、プレイヤーの動作と入力部分が別のスクリプトになっている

    こうすることで、イベント等でプレイヤーからの入力は拒否したい。けど、キャラは動かしたい
    といった欲求を満たすことが出来るようになる
    さすがサンプル!

    [Unity]2Dでスプライトをライトで照らすには

    ---------------追記------------------
    2014/5/18現在 ライトを使ってSpriteを照らす方法はUnity側にバグがあるらしく
    Scaleを1倍から変えると、正しい範囲で照らしてくれない(暗いままの)ことがあるようだ、がUnity4.5で修正されるらしいので待つしかないようだ
    参考サイト Lighting skipped on scaled sprites within range
    -------------------------------------

    以前の[Unity]新 Standard Assets候補、Sample Assets (beta)
    ではパーティクルだけ話したが、これには2Dゲームのサンプルも含まれている
    このサンプルにも、学ぶところが多かった

    デフォルトでスプライトをシーンに作成すると普通に色が出る
    まあ、そうでなかったら困る

    一方、Unityにはライトというものがある、3DのチュートリアルをしたならDirectionLight等の存在を知っているはずだ
    けれども、これをそのまま2Dに持ってきて、ライトをポイントライトにしてもスプライトの明るさは変化しない
    2Dスプライトで洞窟探検の様なマップを作るにはどうすれば良いか

    答えは簡単、マテリアルを変える(厳密に言うとシェーダーを変える)
    まだこれらについて知識が浅いので、方法だけ述べる

    1,Createで新しいマテリアルを作る
    2,マテリアルのインスペクタにあるシェーダーを
     Sprites→Diffuseにする
    3,これをSpriteRendererのマテリアルに設定する

    以上、これでカメラにでもポイントライトを設定するといい、洞窟っぽくなる

    ここから先はシェーダー等の知識が必要になるが
    これが本当にややこしい上に資料を見てもよく分からない、記述言語も違うし…
    もしある程度使えるようになったら、その時記事にしたい

    startとAwakeの簡単な違い

    以前、StartとAwakeを変えたらバグが改善して、違いを知らなければ
    と思ったので調べてみた
    以下参考サイト
    Unityでの初期化、更新Tips(Awake, LateUpdate)
    UnityでのAwakeとStartとUpdateで微妙にはまったところ

    結論は
    Awake

    Start


    この違いで、どう使えばいいのか考えたが
    動的にオブジェクトを生成する場合、Awakeの方が良い
    もしStartで生成をしてしまうと、それを参照する挙動がある場合に順序が不明なってしまうので、NullRefが返されてしまう可能性があるからだ

    とりあえず私が困ったのはその辺りでした

    [Unity]fbxファイルでインポートした2Dモデルのレイヤーがおかしい

    いやー、女の子も無事動いて、次は脱がすだけだと思ってた矢先に大事件

    脱がせれるように中にそのモデルを入れたモデルをやっと作って動作実験した見たら・・・
    右足が・・・

    右足が出てるねー

    どこかでレイヤー設定(BlenderでのZ軸設定)間違えたかなーと思って近付いたら、次はこれ

    いつの間に着替えたし

    いつの間に着替えたし・・・ブラはどこに行ったし・・・

    カメラの位置関係でレイヤーが変わるってどういうこと!?
    意味不明。絶賛停滞中。

    [Unity]上手いイベントの作り方が分からない

    一度StartCoroutineでコルーチンを呼び出してしまうと
    そこでしかイベントを止められない動かせないので
    外部にイベントを作るのが難しい気がした
    けど、よく考えたら外部のIEnumerator関数を呼び出せばいいんじゃないか

    あれ、解決した?
    プロフィール

    秋歩

    Author:秋歩
    飽きやすくて色々手を出す残念素人です

    アクセスカウンター
    最新記事
    最新コメント
    最新トラックバック
    月別アーカイブ
    カテゴリ
    検索フォーム
    RSSリンクの表示
    リンク
    ブロとも申請フォーム

    この人とブロともになる

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。