この記事でのバージョン Unity 5.1.0f3 Personal RayCastシリーズ 1.使い方 2.衝突するオブジェクトの制限 3.Rayを画面に表示 4.2Dで使う はじめに RayCastシリーズ、前回は使い方の記事でした。 2回目の今回は衝突するオブジェクトの制限方法についてです。 Ignore RayCast 手っ取り早くRayとの衝突をしないようにするにはLayerをIgnore RayCastにすればokです。 全てのRayに当たらなくなるので、汎用性はありませんがとにかく楽。 LayerMask 任意のレイヤーとだけ衝突させたいと言った場合にはレイヤーマスクを使います。 以下の通り、レイヤーマスクを作成し、Raycast時に引数に与えると、 衝突するオブジェクトを制限出来ます。 int layerMask = 0; Physics.Raycast(ray, out
作成しているオブジェクトにもよりますが、なるべくストレッチが少なくなるようにシームをつけていきましょう。 ストレッチ ストレッチはUVエディターで「N」キーを押した後、「ビュー」タブを展開して「ストレッチ」を適用することで確認できます。 ストレッチ 適用手順 画像追加~レンダーモード設定 UVエディターで画像を「新規作成」します。これは実際に色情報を焼き付けていくための画像となります。 画像 新規作成 今回は解像度を2Kに設定しています。お好みで数値を変更してください。 最後にレンダリングエンジンを「Cycles」に変更します。これでベイクが可能になります Cycles 以上で下準備は完了です。 UVマップ配置 今回はテクスチャを用いることでマテリアル数を減らすことも目的の1つであります。 そのために2つのオブジェクトのUVをまとめて展開していきます。 まず、まとめて展開したい(今回はカッ
前回までに作った「masasi」君を使おうと思ってた方は、やり直しから始まります。ごめんなさい。 まずは「masasi」君の原形Army01のプレハブを選択してください。 上画面のように、インスペクタ上でRigを選択しAnimation TypeをHumanoidに変更します。 Humanoidに変更すると、他の人型キャラクターで使用していたアニメーションを、このキャラクターでも使用する事が出来ます。 その為、アニメーションだけ別に作成しておけばAnimation TypeがHumanoidのキャラクターに他の人型キャラクター用に作成したアニメーションを適用出来ます(リターゲット機能)。 「masasi」君の再設置が終わったら、CharacterControllerの取り付けとスクリプトMoveを設定しパラメータを入れておきます。 さて、ここまでが前回までにやるべきだった事への修正で、これ
今回は小さなTipsです。 例えば上のように「どれか一つのUI状態を持つ」UIをAnimationControllerで管理し、かつAnyStateから呼び出すように作成した際、Triggerを叩くと何度もUI表示アニメーションが再生されてしまうといった事があります。 AnyStateの先へは何処からでも行ける 下Gifでは、UIの切替にAnyStateを使用してみましたが、ShowItem1が呼ばれる度にアイテムを表示するアニメーションが再生されてしまいます。 これはAnyStateの先に登録しているため、既にアニメーションが再生していた場合でもAnyStateへ戻り再度アニメーションを再生してしまう為です。 Can Transition To Self そんな時は、Transition(矢印)の設定にあるCan Transition To Selfのチェックを外します。これで、自身に遷
PC と同様に iOS および Android などのモバイルプラットフォームにはさまざまなレベルのパフォーマンスを持ったデバイスがあります。デバイスによってレンダリング能力の差が 10 倍にもなります。 スケーリングを行う簡単な方法としては ベースラインのデバイスで問題なく実行できることを確認する 高いパフォーマンスを持ったデバイスでは見映えをあげる 解像度 ポストプロセッシング MSAA Anisotropy(異方性) シェーダー Fx /パーティクル密度を有効化/無効化 GPU へのフォーカス グラフィックスパフォーマンスはフィルレート、ピクセル数、ジオメトリの複雑さ(頂点カウント)により制約されます。これらのレンダラーをカリングする方法を見つけることができれば、これらすべてを削減することができます。Unity は自動的に視錐台の外にあるオブジェクトをカリングするため、オクルージョン
尻尾のようなモデルをIKで制御したいときに使用するとよいSpline IKの設定手順。 自分用のメモなので質問などは受け付けてません。 例えば下記のようなモデルを尻尾のようなふるまいで動かしたいときなど。 モデル、ボーン、ウェイトの作成 モデルを作成して、ボーンを追加、頂点にウェイトを設定する。 ベジェオブジェクトを追加 尻尾のボーンに沿うようにベジェオブジェクトを設定する。 このとき[Shift + TAB]でスナップしてベジェを調整するとやりやすい。 このようにボーンに沿った形にベジェを調整する。 ベジェオブジェクトには方向があるので注意。(HEADとTAILと言うのかは分からないけども、、、) ベジェの制御点がIKの制御点になるので、アニメーションのことを考慮して制御点を追加する。 制御用ボーンの追加 先ほど追加したベジェの制御点は全部で5つなので、 その数に合うように制御用のボーン
桃坂えーや-今日 午後3時25分 メッシュデフォーマだとhairが追従しない…orz Yusuke_Fujiwara(藤原佑介)-今日 午後4時15分 @桃坂えーや 実はですね、パーティクルとかの扱いってモディファイアなんです。 モディファイアタブを見てみると、パーティクルモディファイアがついてるんですよ。 効かない順番 効く順番 ということでメッシュデフォームをパーティクルより上に持ってけばいいと思います 桃坂えーや-今日 午後4時24分 あ、そういうことでしたか… コリジョンも同様、ってことですね。そっかこうすればプロシージャルに出来る 有難うございます、盲点でした… Yusuke_Fujiwara(藤原佑介)-今日 午後4時25分 実際これはわからんとおもいます^^; 桃坂えーや-今日 午後4時25分 これで心置きなく散髪とリギングアニメーション頑張れますw Yusuke_Fujiw
ひとりで GitHub を使う場合は GitHub ≒ 物置 になると思っています。しかし Git/GitHub は煩雑な概念や操作体系を持っており、物置としては少々使いづらいです。 「物置として使いやすくするためにはどうすればいいんだろう」と考え、試行錯誤してきて、ある程度形になったので今回まとめてみます。 ※このような GitHub の使い方を便宜上 GAAS(GitHub As A Storage) と呼ぶことにします。 前提 以下環境を前提としています。 Windows 7, 10 git version 2.16.2.windows.1 GAAS が目指すもの 今回物置として GAAS が目指したい点を明確にしておきます。 複数の環境で同期したい 私を取り巻く環境はこんな感じです。 自宅デスクトップPC(Windows) A | V GitHub <---> 携帯用PC(MacB
MatCapとかスフィアマッピングとか呼ばれる手法の実装方法です。 MatCapとは? ライティング済みの球体を映したテクスチャから色をいい感じにサンプリングすることで、さもライティングされているかのように見せられます。 この球体が描かれたテクスチャをMatCap(Material Capture)といいます。 レンダリング結果のように見えますが、あくまで球体の描かれただけのテクスチャです。 実装の考え方 考え方はとてもシンプルです。 まず適用したいモデルとMatCapテクスチャを用意します。 法線がカメラ方向(要は手前)を向いている部分はテクスチャの中心の色を取ります。 そして法線が視線と垂直になっていくにつれてテクスチャの外側をサンプリングするようにします。 ちょっと雑な説明ですが、要するにこういうことです。 シェーダ シェーダは次のように実装します。 Shader "MatCap"
この記事はUnity Advent Calendar 2019の12日目の記事です。 この記事でのバージョン Unity 2017.4.17f1 Unity 2018.4.13f1 Unity 2019.2.15f1 はじめに 以前、AudioManagerの記事を公開したのですが、 Unityは音を鳴らすのがちょっと面倒なせいか、いまだに結構多くの方に使ってもらえているらしいです。 公開から年数も経ってますし、いつかプログラムも記事も書き直したいな〜と思っていたのですが、 どう考えても時間がめっちゃかかるので後回しにしてたら、5年も経ってしまっていました。 という事で今回は、Advent Calendarに乗じてAudioManagerを一新しようという感じの記事です! なお、「初心者の方でも簡単に使える」というのを目標に作っています。 目次 はじめに 目次 AudioManagerとは
p5.js is a friendly tool for learning to code and make art. It is a free and open-source JavaScript library built by an inclusive, nurturing community. p5.js welcomes artists, designers, beginners, educators, and anyone else! Lauren Lee McCarthy reading the Processing Community Catalog. Photo credit: Maximo Xtravaganza. Coding Club for people aged 50+ in Korea, led by Inhwa Yeom. Qianqian Ye intro
僕がUnityを初めてから気がついたことをメモしていきます。 前回:僕がUnityを初めて気がついたこと[0] C#には演算子のオーバーロードがない 訳あって演算子のオーバーロードの仕方を検索したけどC#の演算子のオーバーロードないやんけ! 結構ショックでした。 Cameraクラスを作ったときの対処法 自分でCameraクラスを作ったのですが、Unityで用意されているCameraクラスと名前が重なってしまいました。 こういうときはUnityのCameraをUnityEngine.Cameraに変えてあげればうまくいきました。 Cameraの背景色 背景色はCameraで変えれる。 CameraコンポーネントをインスペクターでClear FlagsでSolid Colorを選択。 そしたらBackgroundで色を変えればOK スクリプトで操作したい場合は、 public class Ca
iTweenの使い方のアニメーションメソッド編になります。 前回の話の続きで、今回はiTweenのアニメーションメソッドの内容です。 doggy.hatenablog.com アニメーションメソッド 前回で使えていないものが結構あったりします。 ですが、基本的に応用的な使い方でいけちゃいます。 iTween.Move◯◯ TransformクラスのpositionまたはlocalPositionを制御してオブジェクトを移動させるメソッドです。 MoveTo以外にも色々あり、用途によって使い分けることになります。 MoveTo : 現在の位置から指定した位置へ移動させる MoveFrom : 指定した位置から現在の位置へ移動させる MoveBy : 現在の位置から指定したオフセット分を加算した位置へ移動させる MoveAdd : 他の移動アニメーションにさらに移動を追加する iTween.R
アニメーション等で子階層を含めてアルファ値を変えたい場合は CanvasGroupを使用すると一括で変更が行えます。 環境 Unity 5.3.4f1 ・ルートのオブジェクトにCanvasGroupを追加する ・CanvasGroupのAlphaを変更する CanvasGroupを使用するとまとめてアルファの値を変えたり ボタンの無効化、RaycastTargetのOn/Off等が行える。 またAnimationを使用する場合もタイムラインから値一つの変更でまとめてフェードできます。 さらにDOTWeenを使用するとCanvasGroup.DOFadeを使用してフェードが行える。 using UnityEngine; using DG.Tweening; public class FadeTest : MonoBehaviour { public CanvasGroup canvasGro
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く