ステンシルバッファをUnityで利用した表現で、面白かった2D的な表現について書いてみようと思います。 ステンシルバッファとは? ステンシルバッファで色々と試す 壁の向こうにいるキャラクターのシルエットを表現 2Dマスク ImageEffectがかからないスプライト表現 完全に暗い2Dライト ステンシルバッファの挙動 イメージ ステンシルバッファを実装するには シェーダーへの設定について 画像のアルファも使用してステンシルを抜く 参考/関連 ステンシルバッファとは? 「ステンシルバッファとは」 意味/解説/説明/定義 : IT用語辞典 ステンシルバッファとは、3次元グラフィックス(3DCG)において、物体の重ね合わせなどにより描画しなくても良い領域を効率よく判定するために用意された特殊なバッファ領域。ポリゴンを描画する際にステンシルバッファを参照し、ピクセル単位で描画を禁止したり許可したり
UnityでVSCodeを使うまでの手順はこちら UntiyでVisual Studio Codeを使う - http://qiita.com/STAR_ZERO/items/6708b69d18eb8c815963#comment-521fbcf4c631035dfb68 Unityのためにと言っていますが他のところで役に立つ知識かも。 キーボードショートカット変更 フォーマットは「cmd+alt+l」派なので変更する。 // Place your key bindings in this file to overwrite the defaults [ { "key": "cmd+alt+l", "command": "editor.action.format" } ]
Quaternionでベクトルを回す Quaternionの加算 Quaternionを求める サンプル その他 Quaternionは回転情報です。transform.rotationに格納されています。 このQuaternion(回転)ですが、Vector3(ベクトル)と合わせると、Vector3を回転させる事ができます。 Quaternionでベクトルを回す 例えば、Unityで「向いている方向のベクトル」を得るには、transform.forward等を使用します。2Dの場合はtransform.up等でしょう。 実はこのtransform.upの値は、以下のコードと一致します。 var dir = transform.rotation * Vector3.up; つまり「Vector3.up(上方向)を基準にtransformの持つQuaternion(回転情報)にを掛けて回転さ
23. /68 Hierarchyビューの拡張 「EditorApplication.hierarchyWindowItemOnGUI」に コールバック関数を登録 23 [InitializeOnLoadMethod] static void Example() { EditorApplication.hierarchyWindowItemOnGUI += OnGUI; } static void OnGUI( int instanceID, Rect selectionRect ) { ... } 24. /68 Hierarchyビューの拡張 「EditorUtility.InstanceIDToObject」で ゲームオブジェクトの情報を取得 24 var obj = EditorUtility.InstanceIDToObject( instanceID ); var go = o
using UnityEngine; public class ExampleScript : MonoBehaviour { void OnGUI() { GUILayout.Button("My button"); if (Event.current.type == EventType.Repaint && GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition)) { GUILayout.Label("Mouse over!"); } else { GUILayout.Label("Mouse somewhere else"); } } }
ここ最近、ちょこちょこいじっているUnityネタです。 今回は2回に分けてUnity上でPythonを使う方法について書いてみたいと思います。1回目の今日はPythonコードをアセットに組み込んで動かす方法について解説します。 Unityでアセットに組み込んだPythonコードを動かす方法 PythonのC#実装であるIronPythonを利用することで、Unity上でPythonコードを動かすことができます。IronPythonはMacとWindowsに両対応しているので、同じプロジェクトのまま両プラットフォームで動作します。 以下、動作手順です。 IronPythonを取得する IronPythonは公式サイトのダウンロードページから取得できます。最新バージョンのバイナリ版であるIronPython 2.7.5 Binariesをダウンロードして、適当な場所に展開してください。 Uni
こんちは、開発担当mushです。 今回は、今までなかなか使う機会がなかった、 AssetBundleの使用方法についてメモしようかと思います。 ググっても英語のページばかりで、 何だか敷居が高そうだな~と思っていましたが、 使い方自体は意外とシンプルでした。 以下、AndroidでAssetBundleを使用する場合の例です。 ■ビルド編■ 手順① 新規Unityプロジェクトを作成し、Projectビューで”Editor”フォルダを作成する。 ※”Editor”という名前でないと、後にコンパイルエラーとなります ※”Editor”以外の名前を使用する場合、このプロジェクトはビルド専用としてください 手順② 以下のスクリプトをコピーして、Editorフォルダに格納する。 using UnityEngine; using UnityEditor; public cl
いままでエディタ拡張アセットを作成してきてノウハウも貯まってきたので これから徹底的に解説していこうと思います。 対象者としましては、Unityの基本操作やC#スクリプトの記述方法などすでに習得済みの方向けとなります。 今回は初級編第1回ということで、ウィンドウを自作して出してみるところまでをやっていきます。 初級編①:ウィンドウを自作してみよう 初級編②:いろいろなGUI(GUILayout編) 初級編③:いろいろなGUI(EditorGUILayout編) 初級編④:配置調整用のHorizontalとVertical 初級編⑤:GUILayoutOptionでサイズ指定 初級編⑥:範囲内に自動的にスクロールバーを出すScrollView 初級編⑦:GUIStyleで見た目を変えよう Editorフォルダを作成する まずはエディタ拡張のお決まりとして、Editorという名前をつけたフォル
2015年10月21日 Monodevelop バージョンが 5.9.6 になりました。また、Unity関連の Add-in をすべて入れているのでデバッガー動きます。 できること TextAreaに背景画像 GIF対応 (ちょっと重い) 編集の仕方 GIF の場合は TextArea_Background.png を消した後、 TextArea_Background.gif を置く。 Mac Monodevelop.app/Contents/Resourcesにある画像を差し替えればOK Windows main/build/bin/brandingにある画像を差し替えればOK インストーラー Mac MonoDevelop.dmg Windows Monodevelop.zip
今回はUnity 5で行うライティング設定や綺麗にするポイントについて調査した内容をメモしておきます。 Unity 4 free と比較して Unity5 Personal Editionで出来るようになった事 で紹介したように、Unity5はBeastからEnlightenへ移行しました。その過程で幾つかのUIや設定のコツが変化していましたので、早速追跡調査しました。 いざライティング! 目次 目次 ステージ配置 オブジェクトのマテリアル(材質)の設定 チャート図を使用 テンプレートを使用 ライトを焼く LightProbeの設定 エフェクトを追加する ImageEffectの導入 とりあえずセット モバイル向けの最適化 イメージベースとライティング(IBL) Unity4で焼いたライトマップの移行について 参考資料 ステージ配置 まず従来通りライトとオブジェクトを配置します。前回の「影
最適化というか、改善する話です。 モバイル向けに作った時に妙に遅かった場合、この辺りの要因が絡んでいるケースが多い印象です。この辺りは作る際に確認しながら作ると、後々痛みが少なくて良いかなと思います。 目次 目次 プロファイラで確認する エディタ上で動かすプロファイラの注意点 メソッド毎の負荷について DrawMeshを抑える バッチングされない謎の理由 バッチングしやすくする為には フィルレートに気をつける よくあるフィルレートで死ぬパターン フィルレート対策 uGUIにおけるフィルレート対策 Unity 2Dにおけるフィルレート対策 解像度を下げる ゲーム画面は低解像度、UIは高解像度 バッチについて注意すべき事 フォントの扱いについて テクスチャ更新時のスパイク 2つの対策 UIを動かす(変形させる)コストについて 物理演算について その他… VSYNCについて Tweenとか Pi
This document introduces Reactive Programming and UniRx, which is a Reactive Extensions (Rx) library for Unity. It discusses how Rx allows for better event handling and asynchronous programming in Unity by treating events as observable sequences. UniRx brings the benefits of Rx such as LINQ-style querying and orchestration of events and asynchronous operations to Unity. It is available on GitHub a
スライド中で登場するサンプルはこちら http://torisoup.net/unirx-examples/ UniRxを使えば「非同期処理」「イベント処理」「判定が複数フレームにまたがる処理」といった時間が絡んだ処理全般をとても簡単に記述できるようになります。今回はUniRxの便利な利用例をいくつか紹介したいと思います。 Read less
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く