ブックマーク / nn-hokuson.hatenablog.com (6)

  • 【Unityシェーダ入門】3Dモデルをワイヤーフレームで表示する - おもちゃラボ

    前回の記事では3Dモデルの頂点を点(ドット)で表示する方法を紹介しました。今回は頂点の表示ではなく辺の表示、つまりポリゴンをワイヤーフレームで表示してみます。また、綺麗にワイヤーフレームを表示するためのシェーダも作成します! メッシュのトポロジを変更する 3Dモデルをワイヤーフレームで表示するには、頂点を表示したときと同様にメッシュの再構築を行います。 まずはメッシュの再構築をするスクリプトを作成してみましょう。プロジェクトウィンドウで右クリックし、Create→Script→C# Scriptを選択して、wireframe.csを作成してください。 ファイルが出来たら次のスクリプトを入力してください。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class wi

    【Unityシェーダ入門】3Dモデルをワイヤーフレームで表示する - おもちゃラボ
  • 7日間でマスターするUnityシェーダ入門 - おもちゃラボ

    この記事は、これまでにおもちゃラボで紹介してきたUnityのシェーダ入門記事40のまとめです。 1日に5記事読めば7日間で読み切れるはず...今のところ(笑) シェーダって時々聞くけど難しそう・・・というイメージをお持ちの方も多いと思います。でも、Unityを使えばかなりのメンドウな部分はUnityにおまかせできちゃうので、当に必要な部分のシェーダを書くだけでイメージ通りの絵作りができるようになります。 使用するシェーダ Unityで使えるシェーダにはsurfaceシェーダと頂点/フラグメントシェーダの2種類があります。ここではこの2つのシェーダの他、ライティング・ポストエフェクトの内容も解説しています。それぞれの各記事へのリンクを下にまとめておきます。また、Unity2018からはノードベースでシェーダを作成できるShader Graphという機能も提供されるようになりました。これか

    7日間でマスターするUnityシェーダ入門 - おもちゃラボ
  • 【Unity】パーティクルに複数の種類のテクスチャを使う - おもちゃラボ

    Unityのパーティクルには、テクスチャだけでなく3Dモデルも指定できるようになっています。 tsubakit1.hateblo.jp 3Dモデルであれば、1つのParticle Systemで複数種類のパーティクルを発生させる事ができますが、テクスチャの場合は基的に1種類しか指定できないようになっています。 つまり、円なら円のパーティクル、星なら星のパーティクルというように、何種類もテクスチャを混ぜたパーティクルが作れないのです。 (↓普通のパーティクル・・・) といっても、複数種類のパーティクルが全く作れないわけではなく、すこしトリッキーですが、複数種類のテクスチャを混ぜたパーティクルを作る方法がUnityには用意されています。 ここではその方法を紹介したいと思います。 テクスチャを用意する 複数種類のパーティクルテクスチャを使うにはテクスチャアニメーションに使う仕組みを利用します。

    【Unity】パーティクルに複数の種類のテクスチャを使う - おもちゃラボ
    nicomonger
    nicomonger 2017/10/25
    これまさに最近ずっとやり方が分からなくて悩んでた奴。とても参考になった。
  • 【Unity】テクスチャ1枚で立体的な雲を作る - おもちゃラボ

    雲と言ってもゲームで使う雲には様々な種類の雲があります。地上から見上げるような雲や、コンバットゲームで使われるような平面上に描画される雲、360度どこからでも立体的に見える雲などがあります。 Unityでは雲の表現にはSKyboxがよく使われるようですが、ここでは360度どこから見ても立体的に見える雲(Volumetric Cloudを作ってみましょう。 立体的な雲(Volumetric Cloud)の作り方 ボリュメトリッククラウドって・・・名前だけは難しそうですが、作るのは全然簡単です(笑)まずは一枚雲のテクスチャを用意します。 見にくいので背景を黒色にしていますけど、実際は透明です。 これを立体的な雲に仕立て上げるには・・・雲のテクスチャをパーティクルで放出するだけです。パーティクルは基的にBillboardで表示されるので、どこからみても雲に見えるというわけです。 ビルボードの説

    【Unity】テクスチャ1枚で立体的な雲を作る - おもちゃラボ
  • Unityで使える!C#の便利な機能7選 - おもちゃラボ

    Unityでは基的にC#を使ってプログラムを書くと思います。そんなときに知っておくと「チョットだけ便利」「チョットだけ楽できそう」なC#の文法をまとめました。現在Unityで使える最新のC#のバージョンはC#6になっています。使えるものはじゃんじゃん利用していきましょう! null許容型 enum型 テキストファイル読み込み 拡張メソッド プロパティ タプル型 まとめ null許容型 int型やfloat型などの値型には、通常nullを代入することはできません。でも、null許容型を使うことでnull値を代入できるようになります。 null許容型を宣言するには通常の値型の最後に「?」をつけます(なんでハテナやねんと思わなくもない) int? a; float? b; みたいな感じです。 値型にnullが入れられると、どんな良いことがあるのでしょうか?例えばメソッドの中で何か処理をしてから

    Unityで使える!C#の便利な機能7選 - おもちゃラボ
  • 【Unity】uGUIの文字を一文字ずつ別々に動かす - おもちゃラボ

    uGUIを使って文字列を表示するにはTextを使います。このTextを使って一文字ずつランダムに動かす方法を紹介します。UIの文字でも場所によっては動いている方が楽しいですね〜 UITextを一文字ずつ動かす方法 UGUITextはModifyMeshメソッドを使うことで、文字を構成するポリゴンにアクセスすることが出来ます。各ポリゴンの頂点座標を配列として得られるので、その頂点座標を一文字ごとに、違った方向に動かすことで文字がバラバラの動きをします。 文字を構成するポリゴンは4頂点ではなく、6頂点で構成されるので注意が必要です。次のような並びになっているようです。 したがって、頂点配列の頂点を6個ごとにばらばらの方向に動かすことで上のような文字の動きが実現できます。 ランダムに動かす方法はなんでも良いのですが、ここでは半径Rの円周上をランダムに指すベクトルを方向ベクトルとして使っていま

    【Unity】uGUIの文字を一文字ずつ別々に動かす - おもちゃラボ
  • 1