UNITY
お題 タイムラインを自動生成しよう トラックやクリップも外から作成してみます それに伴い、エディタ拡張の勉強 メニューよりEditorWindowを表示 とりあえず最も汎用的な?メニュの拡張から メニューの拡張 Editor拡張で最も使われると思うので、よーく覚え…
CreatePlayable周りがちょっとややこしかったので調査 まず初めに断っておくが、本来はMixerを作るのがベストだが、今回はあえてMixerを作らずに頑張ってみる ScriptPlayable var playable = ScriptPlayable<NewPlayableBehaviour>.Create(graph); var trackBinding = go.GetCompon</newplayablebehaviour>…
PlayableTrack プログラマとしては本題! 独自の処理をするトラックを作ります 用途はほんと色々あります だいたい仕事では8割以上はこのカスタムトラックでタイムライン作るかも Track、Asset、Behaviour、Mixerの4つで構成されます PlayableTrack カスタム…
タイムラインとは ムービーシーンとかカットシーンと呼ばれるもの カメラワーク、モーション、エフェクト等を定義しておき、実行時にキャラをバインドする事で 同じ動作のムービーを別キャラ(別衣装)で行うことが出来る 例えばモンハンのムービーシーンの…
Cinemachineとは UNITYの提供するカメラ制御のコンポーネント Cinemachineのインストール PackageManagerよりインストールをする その後メニューから Cinemachine-Cinemachine FreeLook を選ぶ シーンに CM FreeLook1というGameObjectが作成されており、Cine…
New Input Systemについて 新しい入力が出来ました 引き続き旧来の入力方法を使う事が出来ますが これを期にInputSystemを覚えようと思います 旧来の方法 旧来のInputではInputManagerのAxes 下記のように入力を取得していました h = Input.GetAxis("Horizon…
非常に単純なのでちらっと UNITYでシェーダーをmulti_compileで #ifdefを書きますが、例えば USE_AとUSE_Bがあり、どちらかが宣言されている場合有効にしたい そんな時に #if defined(_USE_A) || defined(_USE_B) ... #endif と、C言語のように書けばOKでした…
攻撃して敵が吹っ飛ぶようなのつくる 前回まで UNITYちゃんをタイムラインで動かした 攻撃してみる Unityちゃんのアニメーションを合成 まずUnityちゃんにクリップを追加します とりあえず、移動後にWin00を再生させる Clipを重ねると補完してくれます Cube…
タイムラインとは Unity2017のあたりでPreviewで入った機能 カットシーンやリアルタイムムービーシーンの再生等で使う 単純に決められたムービーの再生だけではなく、今のシーンからシームレスにオブジェクトを動かしたり可能 また、エディタ拡張でClassを派…
久々にUNITYを使ったら StandardAsset周りで苦労したので Import 昔はメニューの Assets->Importから StandardAssetをImport出来ていたが、今はメニューにない AssetStoreから StandardAssetを検索しダウンロードして Importする エラー StandardAssetをImpo…
種類 UNet UNITYの5.1から入ったおなじみのAPI こうレイヤーのHLAPIと低レイヤー LLAPIがある が、これは間もなく廃止予定だ blogs.unity3d.com Multiplayer 次世代のネットワークAPI だが、フォーラムによると、まだ機能的にはしょぼいらしい 2021年にはUne…
UNITYのパフォーマンスの鍵は昔からDrawCall削減といわれている 今はSetPassとともに語られるようになった まず、DrawCall、SetPassとは何か? それらを減らす方法は? GPUインスタンシングとは何か? から、GPUインスタンシングで減らすのを調査した qiita.…
qiita.com 前々から使いたかったLINQをこの際なので使ってみた 予想以上に使いやすく、これからはForループみるたびにLINQにするか考える必要があるね
やること 影にテクスチャを張っていこうと思います 具体的には、戦場のヴァルキュリアのような影部分にスクリーンスペースで ハッチングかけます わかりいくいけど、影部分にハッチングいれてます ソースはこちら github.com 考えられる手法 マルチレンダー…
先程まででUNITYの影の作成ができましたが 今回はもう少し調査してみます 通常表示 ShadowCasterパスを追加し、ちゃんと影を表示できてます 影のみ表示させてみる 影のみは SHADOW_ATTENUATION で取れる 今回は R要素のみに SHADOW_ATTENUATION値を入れる フ…
前回は影を落としましたがまだこのシェーダでは影を受け取れません 地面(Plane)メッシュのシェーダーを 今使ってる yUnitに変えると影はおちないし、セルフシャドウもありません 今回は影を受け取るようにします https://github.com/YukiMiyatake/UnityLes…
UNITYでは簡単に影を落とせます 具体的には ShadowCasterパスにて #include "UnityStandardShadow.cginc" とするだけです CUBEMAPや各種設定に対応するため 上記の用意されたものを呼ぶ あるいは その中身をみて ビルトイン関数を使うべきですが 勉強のため…
UNITYちゃんトゥーンシェーダーとは 現ユニティーテクノロジー ジャパンの小林さんの作ったトゥーンシェーダー 元々映像用に作ってあり かなり立地な表現が可能 GGXrdのトゥーンシェーダーがすごく、それを再現したようなシェーダー 今は更に機能が追加され…
コード https://github.com/YukiMiyatake/UnityLesson/tree/Shader_7 はじめに 前回まではピクセルシェーダにてライティング計算をしていました これはクオリティの高いライティングになりますが、少し処理が重くなるので ディフューズカラー、スペキュラを…
コード https://github.com/YukiMiyatake/UnityLesson/tree/Shader_6 前回まで 前回はAmbientも入れて だいたいライティング出来た ただ、複数ライトを置いても1つ目のライトの影響しか受けない ので、複数ライトの影響をうけるようにする ライトの強さ 複数…
コード https://github.com/YukiMiyatake/UnityLesson/tree/Shader_5 前回のシェーダ ディフューズとスペキュラを実装し、だいぶライティングができた テクスチャマッピングもしている でも、Ambientも与えていません Ambientの設定 UNITYのバージョンにより…
前回は 新規で作ったUNITシェーダの説明したので 簡単なシェーダ作ります コードはココ https://github.com/YukiMiyatake/UnityLesson/tree/Shader_3 基本シェーダ(Albedo) 先ほどのシェーダからFOGを削除しシンプルにします テクスチャは・・・雰囲気欲しい…
今回のソース https://github.com/YukiMiyatake/UnityLesson/tree/Shader_2 前回のあらすじ Surfaceシェーダを新規で作る 中野シスターズに適用 Surfaceシェーダの解説 たいした内容じゃなくてすみません でも 初歩からやりたいの UNITシェーダを適用する 本…
このソースは GitHub - YukiMiyatake/UnityLesson at Shader_1 はじめに UNITYのシェーダの知見が少したまってきたので、自分でアウトプットしておかなければ忘れてしまう ので メモをしていたが もっと基礎から知りたいという人が多かったので 超基礎からや…
トゥーンシェーダ―作りたい シェーダーの色々な知見が出来たので少しずつメモ 中野シスターズ まず 中野シスターズをダウンロードしてくる 詳細は省略するが、ダウンロードして UNITYにインポートしシーンに配置する 暗いので、今後色々と遊ぶので ポイント…
概要 Depthマップ欲しい事は多いと思います Depthの取得自体は簡単ですが、Depthの計算上 Z値とリニアで変化しないため感覚的にわかりにくいので リニアにしたい DepthをPNGファイルにすると 256段階に丸められてしまうため、浮動小数点形式で保存したいので…
レンダリング結果をテクスチャでほしい事ってありますよね 例えばレンダリング結果を鏡にうつしたり G-Bufferをファイルに保存したり ってことで、RenderTextureを作り カメラにAttachし、レンダリング結果を取得します まず RenderTextureをCreateします Mu…
まずデフォルト UNITY-Chanと中野シスターズを表示してみる ライトはディレクショナルライトいれて ドーン ここからライトを消していきます Directional Light OFF UNITYちゃんは真っ黒になったけど、中野シスターズも背景も光があります これは UNITYはデフ…
前回調べた時に ポストエフェクトのアウトラインが入っていた・・・ EdgeDetectionというやつだ なので、Unity-chanシェーダーのアウトラインではなく ポストエフェクトのアウトラインが入っていた たしかこれはDepthや法線でアウトラインを出すタイプだった…
ふと気になった 先ほど出力した画像のSphereに アウトラインが付いている・・・・・ なぜだ?? カメラに EdgeDetectionってやつがいた! こいつ怪しい! ってことで こいつをOFFしたら、Sphereのアウトラインが消え Unity-Chanのアウトラインが、カラー反映…