ブックマーク / akinow.livedoor.blog (11)

  • https://akinow.livedoor.blog/archives/52474053.html

    crist18
    crist18 2018/05/10
  • うにばな (エフェクト用のシェーダに関するアイデア1+) : Yaminabe

    ※170607 補足記事をアップしました うにばな スクリーンスペース系のシェーダに関するTips 今回は”エフェクト用のシェーダに関するアイデア”の補足でGrabTextureを使用する場合のパーティクルのカラー合成をしてみます。 GrabTextureは背景からテクスチャにキャプチャした画像をカラー合成の対象にできる命令で スクリーンサイズのスナップショットをテクスチャに展開します。 GrabTexture命令で 取り込んだテクスチャにシェーダでモデルのカラーを合成をしてやれば ”エフェクト用のシェーダに関するアイデア”で使用したシェーダと同じような効果がねらえます。カラーを合成する式は これも以前掲載した フォトショップの合成式を使用することが出来るため フォトショップ上の見た目と同等の表現が期待出来て デザイナーにとっては非常にありがたい機能です。 ただしGrabTexture命令

    うにばな (エフェクト用のシェーダに関するアイデア1+) : Yaminabe
    crist18
    crist18 2014/11/18
    シェーダ
  • うにばな(SendMessage オブジェクトプールなど 最適化) : Yaminabe

    前回更新から間が開いてしまい 申し訳ないです。 シェーダーか背景と予告したのですが Sendmessage()メソッドの検索が多かったのでちょっと寄り道して データ最適化の話をします コードを綺麗に見せるスクリプトを記事に埋め込むと余裕の文字数オーバーしてしまうので見づらいのは 勘弁して下さい。 色とかこりたいんですけど 記事のデータ量制限がきびしくてね シンプルにならざる。 ■Sendmessage()で複数の値を送信する方法 Sendmessage ()で複数の値を送信するには 配列、クラスなどを利用します ●配列を使用する場合 ●送信側 var goTo : Vector3; var arr = new Array(); arr.Push (goTo); arr.Push (true); other.SendMessage ("GoTo", arr); ●受信側 function G

    うにばな(SendMessage オブジェクトプールなど 最適化) : Yaminabe
    crist18
    crist18 2014/09/17
    オブジェクトプール
  • うにばな 講座みたいなもの番外編(高速化(最適化)について3 モバイル系-翻訳) : Yaminabe

    こんばんわです 季節がらまたも台風が 西日方面からちかづいているとか 今年は大きめの 『大自然のおしおき』 が押しよせているようですが 被害が出ないよう気を引き締めないといけませんね そんな業務連絡 さて ようやくお仕事のほう一段落しましたが まだ膝に受けた傷が癒えておりません 長いこと記事も更新していないため かるく翻訳ネタでリハビリをしようと思います。 今回はUnite2013のUnityのモバイルゲームの最適化に関するペーパーを PDFのリンクだけだとさみしいので簡単に訳してみました 情報としてはちょっと古めかもしれませんが、これからUnityゲーム制作を初める方は参考にどうぞ。 |||||||||||||||||||||||||||||||||||||||||||||||||| □Optimizing Unity Games for Mobile Platforms | Ang

    うにばな 講座みたいなもの番外編(高速化(最適化)について3 モバイル系-翻訳) : Yaminabe
    crist18
    crist18 2014/09/11
    “■プロファイラーは次の特定のデータを提供します CPU使用率 レンダリング GPUの使用方法 メモリ 物理計算 オーディオ”
  • うにばな 講座みたいなもの番外編(高速化(最適化)について2  自分用のメモ) : Yaminabe

    Unite2012の講義内容をまとめました 元ネタは 『Performance Optimization Tips And Tricks For Unity』 Jonas Echterhoff & Kim Steen Riber http://video.unity3d.com/video/6957357/unite-2012-performance なのですが GPUの最適化に関しては、ほぼ ?にまとまっていました(ただし英語 http://docs.unity3d.com/Documentation/Manual/OptimizingGraphicsPerformance.html シェーダ解説で一度解説したような気もするので 8月頃の記事を参照してください 忙しくて見れていなかったための自分用まとめですので すでに見た方はスルーしてください 『Unityのパフォーマンスの最適化 TI

    うにばな 講座みたいなもの番外編(高速化(最適化)について2  自分用のメモ) : Yaminabe
    crist18
    crist18 2014/09/11
    高速化 unity
  • うにばな 講座みたいなもの番外編(高速化について) : Yaminabe

    講座みたいなもの番外編です。 今回は "Unity3D 高速化" という検索ワードが非常に多かったため 公式サイトなどで確認した手法を まとめてみます。 ■『使用頻度の低いファンクションは削る』 ■『FindObjectsOfType, FindGameObjectWithTag, GameObject.Find といったFind系は処理が重い』 出来る限りAwake()、Start()文中などの初期化段階で行いましょう ■『static型を使用してください』静的な変数であるStaticタイプを使用することでメモリは固定され処理効率があがります。 これちょっと訳が正確かわかりません 単純に静的な値の割付け(つまりキャストしなさい)ということかもしれません。 最近のハードウェアでのフレームあたりのドローコールは500回程度ですが あまり多いポリゴン数とライトの数は処理を低下させます 対策とし

    うにばな 講座みたいなもの番外編(高速化について) : Yaminabe
    crist18
    crist18 2014/06/08
    Unity 高速化のTips。パフォーマンス・チューニング
  • どた進捗だと : Yaminabe

    9月に入りました ってもう 8日です。 急に涼しくなって 体は元気になったのですけど 開発の方はそれほど進んでいるわけでもなく ハードディスクがデータを持って行ってしまった関係で ちと記事の更新が滞っています もうしわけないです。 そんな状況ですが Dota系ゲームプロジェクトのほうが少し進展していますので 進捗報告です。 とりあえず今週ネットワーク対応しました。 というかUnityのネット関連は はじめわさっぱりわからなくて、胃ががキリキリしたんですが いくつかサンプルを見ながら試してみたら するっと出来てしまって拍子抜けしたところです。 Unityでは多くの場合マルチプレイはSmartFoxという無料サーバーソフトを使用するようです あと Photonとかね。 フリー版でも20人まで入れるんですよー マルチプレイは多すぎてもゲームにならないですから十分じゃないかな。 なんですが 専用の

    どた進捗だと : Yaminabe
    crist18
    crist18 2014/06/08
    Unityでロビー機能を実装するにはSmartFoxServerがオススメ。
  • うにばな (講座みたいなもの 第五回) : Yaminabe

    すっかりご無沙汰していましたがトラックバックをつけてもらいました オブジェクトの非表示を 子供だけに行いたいということらしかったのですが 説明が不足してました ゲームオブジェクトの親子の操作方法についてお話しします。 var object:GameObject = gameObject.find("オブジェクトネーム") これは ゲームオブジェクトを取得することができます。 objectの階層下の子供を取得したい場合は transform.Find("子供の名前")を使用します。 階層が深い場合は transform.Find( 直下の子供の名前/・・ /取得したい子の名前)というように ツリー構造をファイル操作のディレクトリと同じように記述します。 例) function Update() { aFinger = transform.Find("LeftShoulder/Arm/Hand

    うにばな (講座みたいなもの 第五回) : Yaminabe
    crist18
    crist18 2014/06/08
    “objectの階層下の子供を取得したい場合は transform.Find("子供の名前")を使用します。”
  • うにばな(配列に関する) : Yaminabe

    Unity3Dでの配列に関しての検索が多かったので記事を書きました。 具体的にどのような場面で使用するかといえばやはり配列とそのソートでしょうか ゲーム中でアイテムの登録やアイテムの整理やらのデータの並べ替えなどが問題になることが多いです。 どんなことに使用するの?ということで いちおう例をあげておきます。 現在作成中のDota系ゲームではミニオンのジェネレート地点から敵のベースまでの移動経路に配置された waypointデータをソートするのに配列ソートを使用しています。 まず最初にwaypointにwaypoint体の値(Transform)と敵のベースまでの距離をclass作成して 距離をキーとしてwaypointの並べ替えを行なっています。 Inspectorで一個づつ近い順に登録してももちろん有効ですけど データが変わるたびにその労力はいやでしょ?w なのであらかじめ Waypo

    うにばな(配列に関する) : Yaminabe
    crist18
    crist18 2014/06/08
    “Unity3Dであつかえる配列には以下のようなものがあります ■ビルトイン配列 ■Javaスクリプトタイプの配列 ■ハッシュテーブル ■ArrayLists(辞書型配列) ■Generic配列 ■2次元配列 など”
  • うにばな(トリガーを使用した最適化) : Yaminabe

    テラシュールウェアさんのところで、ヒットチェックに関する記事が書かれていましたので補足的なことを解説してみようと思います。 内容はリンク先を参照してみてください。 ■[Unity]地面の接地判定を取得する3つの方法 http://terasur.blog.fc2.com/blog-entry-555.html ・CharacterControllerのisGroundを使う ・CheckSphereを使う ・SphereCastを足元に撃つ 能動的にスクリプトでコリジョン判定を確認する場合はこの例のような感じになるとおもいます。 以前も最適化の記事でPhysicsタイプの関数は全体的に重た目なのでなるべく限定して使用したいということを記述してきましたが、ゲームエンジンのスクリプトがなぜ速度をあまり必要としないかという解説が公式のアンリアルスクリプトの項目に寄せられていまして、 ゲームのスク

    うにばな(トリガーを使用した最適化) : Yaminabe
    crist18
    crist18 2014/06/08
    地面の接地判定を取得する3つの方法”
  • Unityのはなし→うにばな : Yaminabe

    お待たせしました Unityばなしです。 検索で多いセーブロード関連についてすこし Unityエンジンでよく使うだろうものをピックアップしました。 ■Fileに直接書きこむ Save and Load from XML http://www.unifycommunity.com/wiki/index.php?title=Save_and_Load_from_XML WikiのXml形式でのセーブロードスクリプトです。 http://answers.unity3d.com/questions/971/how-to-scrip-a-save-load-game-option UnityAnswerにも回答が載っています ■PlayerPrefs http://unity3d.com/support/documentation/ScriptReference/PlayerPrefs.html

    Unityのはなし→うにばな : Yaminabe
    crist18
    crist18 2014/06/08
    “Application.LoadLevel ステージデータを一面分読み込みます。”
  • 1