Unity
スマートデバイスなどのモバイルがターゲットのゲームは計算量をいかに減らすかがキーになります。ここではLODを使ってパフォーマンスを改善する方法を紹介します。LODとはLevel Of Detailの略で、オブジェクトが近くにあるときは高精細のモデルを使用し、オ…
「いまシーンビューで見ている映像を、そのままカメラの撮影アングルとして使いたいな〜」ということはありませんか?この記事では、シーンビューで表示されている視点をMain Cameraの視点と一致させる方法を紹介します。 この方法を使うことでシーンビュー…
Unityのショートカットキーの中でもあまり知られていない(?) XキーとZキーのショートカットを紹介したいと思いますー! Xキー:World/Localの切り替え オブジェクトを移動させるときにワールド座標系に従って動かすのか、ローカル座標系に従って動かすの…
ユニティちゃんをAsset Storeからダウンロードしてきたけれども、動かすのがむずかしい、locomotionはなんか複雑だし・・・という方は多いと思います。 locomotionは一通りの動きが揃っていて便利なのですが、簡単なアニメーションの実験をしたい場合は逆に…
会社でUnityを使うことになったんだけれども「何から手を付けてよいかわからない」とか「Unityの基本操作は分かったけど、自分のゲームに応用できない」とかいう方は多いと思います。私もUnityを触り始めたときは、あまりに機能が多くて何から始めたら良いの…
Anima2Dとは2Dのキャラクタでスケルタルアニメーション(ボーンアニメーション)を作るためのツールです。 Anima2Dを使うことで、ボーンに従ったアニメーションが作れるほか、メッシュを変形させたり、IK(Inverse Kinematic)を使うこともできます。 https:…
現在時点(2017/3/7)ではTimelineエディタは公式にリリースされているわけではありません。Unity5.6のβ版にマージする感じでビルドされたものが公開されているので、それをダウンロードしてきて使います。こちらからダウンロードしてください http://beta.u…
ライトをベイクするとき、あわせてAmbient Occlusionの設定もすることが多いと思います。このAmbient Occlusionがなかなかの曲者で、適当に設定すると綺麗に見えないのです。ここではライトをベイクする際にオススメなAmbient Occlusionの設定を3つ紹介しま…
Planeオブジェクトにテクスチャを貼り付けると、両面が描画されるのではなく裏面は透明になってしまいます。片面だけが描画されてしまうのは、カリングと呼ばれる「見えないところは描画しない設定」が原因です。カリングをオフにして両面を表示するためには…
室内から外を眺めたときや、トンネルから出るとき、イルミネーションなど、暗い場所から明るい場所を眺めるときに、光が溢れ出るような映像がよく使われます。この光のあふれるエフェクトをライトブルーム(Light Bloom)と呼びます。Unityでは標準機能を使…
Unityで作られたショートフィルム(ショートムービー)をまとめました。2012年から2016年のものまで時系列で並べています。こうみると、数は多くはないけれどもUnityでもちゃんとショートフィルムが作れるんだなーと感じますね! The Butterfly Effect www.y…
瓶に入った、粘性の高い液体をUnityで表現してみます。RPGの回復系液体ドリンク・・・・とはちょっと違いますね。笑今回はいちからUnityでシェーダを書くのではなく、ShaderToyで紹介されているシェーダを利用して液体を作ってみました。 ShaderToyを利用する…
シェーディングの方法は大きく分けると、次の二つの方法があります。 スムースシェーディング フラットシェーディング スムースシェーディングは少ないポリゴン数でも、表面がなめらかに見えるように法線情報を補間して表示する方法です。一方フラットシェー…
ゲームのFPSに大きなインパクトを与える要因としてドローコール(Unity5ではSet Pass Call)があります。これは1フレーム描画するのに、CPUからGPUに対して何回描画命令を送っているかを示す値です。描画命令にはそれなりの時間がかかるので、Set Pass Call…
Blenderで作った3DモデルをUnityのシーンビューに配置して、ライトをbakeしようとすると次のようなエラーが出ることがあります。 Mesh doesn't have albedo UVs. Please create them in your modeling package. Mesh doesn't have UVs suitable for lightmap…
ライトをベイク(bake)した時に、汚い状態になってしまうことがあります。こんな木のモデルがライトをベイクした途端に、謎の紋章が・・・!AO(Ambient Occlusion)の有無や、ライトのMixedまたはBakedに関わらず、汚くなってしまうようです。調べたところ…
ノイズといえば、砂嵐のようなランダムノイズから連続性を保ったパーリンノイズまで様々なノイズが考えられています。残念なことにUnityのシェーダにはノイズを生成するメソッドが用意されていないため、プログラムを作る必要があります。 この記事では、Uni…
レースゲーム開始時や映画の開始のカウントダウンによく使われる円がくるくるして数字が減っていくあれ(↓)を作ってみましょう。今回はUnity付属のアニメーションカーブとドープシート、Animatorを使って作ります。図www.youtube.com次のように手順が長いで…
昔のゲームだと敵にやられたときに画面全体が赤くフラッシュしたりしましたね。今回はこんなのを作ります。まずはプロジェクトを作って画面全体を光らせるためのImageを配置しましょう。ヒエラルキービューから「Create」→「UI」→「Image」を選択し、画面い…
Unity5の教科書のP.336で、イガグリにパーティクルをアタッチすると白いパーティクルが放出されている画像(Fig.7-57)が載っています。Unity5.5.0ではParticleSystemコンポーネントをゲームオブジェクトにアタッチすると、下図のようにピンク色のパーティク…
Unity5の教科書で、iPhoneにアプリケーションをインストールしようとすると、Xcodeで次のようなエラーが表示される場合があります。 エラー内容 Signing for "Unity-iPhone" requires a development team. Select a development team in the project editor.…
いつも表示されていたシーンビューのグリッドが、 ある日突然表示されなくなってしまいました・・・シーンビュー上部の「Gizmos▼」から「Show Grid」を選んでも変化なし。 これは困った・・・ただ、平面をおいてみると・・・ん、うっすら表示されている? メ…
プレイヤの頭の上にポップアップで文字を表示したいことが時々あります。今回はその方法を紹介します。今回の目次は次の通りです。 3D空間上に文字を表示する だんだん文字を透明にする どこからみてもカメラの方向を向くようにする 3D空間上に文字を表示す…
Unityではゲームの実行時にリアルタイムでテクスチャのピクセルを変更することが出来ます。この方法を使ってテクスチャにお絵かきをしてみたいと思います。今回の記事の内容は次のとおりです。 平面の配置 テクスチャの設定 テクスチャの上半分を塗りつぶす …
Rubyには、文字列を見た目通りのフォーマットに整えてくれるヒアドキュメントという書き方があります。C#では見た目通りの入力ができる文字列のことを逐次的リテラル文字列と呼びます。 逐次的リテラル文字列とは 書き方は簡単で文字列の先頭に@(アットマー…
前回までの記事で、シューティングゲームを動かすための基本的なプログラムは完成しました。nn-hokuson.hatenablog.com最終回は見た目などの細かい部分の手直しをしていきましょう。第1回 ロケットを動かそう 第2回 弾を発射しよう 第3回 隕石を落下させ…
昔のマリオやペルソナ5でも使われている、だんだん視界が狭くなるワイプエフェクトをUnityのシェーダで作ってみます。このエフェクト、ワイプエフェクトとかアイリスエフェクトとか、色々な呼ばれ方をしているようで正式名称がわかりませんが、下のようなや…
UnityのuGUIにテキストを打ち込むためのInputFieldという部品があります。このInputFieldを使ってテキストハイライティングする方法を紹介します。ちょっとトリッキーな方法なので、実際に使えるかは状況によります(笑)今回の記事は次の内容です。 InputFi…
ポストエフェクトとは、カメラに映ったゲームシーンを一枚の画像として加工する処理のことです。UnityにはStandard Assetとして次のようなエフェクトが用意されています。qiita.com今回は画面を白黒にするモノクロのエフェクトを作りながらポストエフェクト…
Terrainの青いカーソルやシューティングゲームの着弾地点など、後からオブジェクトに幾何図形を描きたい時に使えるシェーダを紹介します。今回の記事の内容は次のようになります。 下準備をする 円を書いてみる リングを描いてみる リングをいっぱい描く リ…