All Projects → phi16 → Vrc_storage

phi16 / Vrc_storage

assets distribution

Labels

Projects that are alternatives of or similar to Vrc storage

Post Processing Demo
Demo for post-processing implement in Unity.
Stars: ✭ 42 (-41.67%)
Mutual labels:  shaderlab
Unityimageeffects
Post Processing Effects for Unity
Stars: ✭ 57 (-20.83%)
Mutual labels:  shaderlab
Unity Realtime Planar Mirror
Powerful, deeply optimized real-time planar mirror in Unity.
Stars: ✭ 69 (-4.17%)
Mutual labels:  shaderlab
Xrinteractiondemo
XR Interaction Toolkit examples for AR and VR.
Stars: ✭ 47 (-34.72%)
Mutual labels:  shaderlab
X Postprocessing Library
Unity Post Processing Stack Library | Unity引擎的高品质后处理库
Stars: ✭ 1,079 (+1398.61%)
Mutual labels:  shaderlab
Unity Custom Rendering Pipline
A custom rendering pipeline(not SRP)'s practice & implement
Stars: ✭ 58 (-19.44%)
Mutual labels:  shaderlab
Mateimageeffects
Post screen effects for Unity
Stars: ✭ 39 (-45.83%)
Mutual labels:  shaderlab
Unitypointcloudviewer
Point Cloud Viewer and Tools for Unity
Stars: ✭ 71 (-1.39%)
Mutual labels:  shaderlab
Nnao
Neural Network Ambien Occlusion based on http://theorangeduck.com/page/neural-network-ambient-occlusion
Stars: ✭ 57 (-20.83%)
Mutual labels:  shaderlab
Unitymcubes
marching cubes ported from C to unity and C#
Stars: ✭ 65 (-9.72%)
Mutual labels:  shaderlab
Distortionimageeffect
An image effect based distortion/heat effect that doesn't use grab pass
Stars: ✭ 51 (-29.17%)
Mutual labels:  shaderlab
Tiled Directional Flow
A shader to control the direction water flows based on a flow map in Unity.
Stars: ✭ 54 (-25%)
Mutual labels:  shaderlab
Marschner Hair Unity
Implement Marschner Shading Model In Unity
Stars: ✭ 61 (-15.28%)
Mutual labels:  shaderlab
Anisotropichair
Stars: ✭ 46 (-36.11%)
Mutual labels:  shaderlab
Matrix Shockwave Shader
Surface shader with tesselation - Tried recreating the shockwave effect in Matrix when Neo takes off.
Stars: ✭ 69 (-4.17%)
Mutual labels:  shaderlab
Arfoundation vfx
AR Foundation setup for URP and VFX graph
Stars: ✭ 41 (-43.06%)
Mutual labels:  shaderlab
Uchromakey
Chroma key shader asset for Unity
Stars: ✭ 58 (-19.44%)
Mutual labels:  shaderlab
Volumetrictracer
A simple way to render soft, volumetric bullet tracers in Unity. Only needs a unit cube and a material to render and supports instancing.
Stars: ✭ 72 (+0%)
Mutual labels:  shaderlab
Urp Ssao
Screen Space Ambient Occlusion implementation as a RendererFeature for Universal Render Pipeline
Stars: ✭ 69 (-4.17%)
Mutual labels:  shaderlab
Jl S Unity Blend Modes
👾 Collection of Unity shaders that support blend modes like photoshop layer style (Darken, Multiply, Linear Burn, etc)
Stars: ✭ 62 (-13.89%)
Mutual labels:  shaderlab

配布用諸々 / Storage for distribution

These packages are licensed under CC0.

CC0


特に確認なども要らないので勝手に使っていただいて結構です

利用は自己責任でお願いします

諸々の著作権などは放棄しているので好きにいじってください

意見などは Twitter にお願いします

FlyingSystem

Screenshot

FlyingSystem.unitypackage

inorganic spaceとかCocoon-05とかで使われているやつです。

VRCSDK3とUdonSharpを入れておけば動くと思います。

CurveAnimGenerator

Screenshot

CurveAnimGenerator.unitypackage

森とかStairHallの動画作成に使ったEditor拡張

直下にあるGameObject群を順番に通るAnimationClipを生成します

mikoko_IK

Screenshot

これ

mikoko_ik.unitypackage

  • 原理
    • 頭はCanvasTracking、手の位置はPickupのGripで正確に取れる
    • つまり3点トラッキングの情報は取れる
    • それに従ってIKを動かしてあげると動く
  • 導入手順
    • VRCSDK (いつものとこ)
    • Standard Assets (Asset Store)
    • Toybox V2
    • Final IK (Asset Store)
    • Mikoko
    • (Merlin-san/EasyEventEditor)
      • 機構をいじることがなければOK
    • このpackageを展開
    • Assets/ik_transfer/sample.unity に動くシーンがあるはず
    • 自前で拾う場合
      • Assets/ik_transfer/ik_transfer.prefab を置く
      • ToyboxのPlayerTrackingを置く
      • Original/Head のScene Reset Positionの Position をPlayerTrackingの Update に指定
  • 動作
    • MirrorFrom を基準とした領域にプレイヤーが動くと、 MirrorTarget を基準とした座標系でアバターが動く
    • Program を非Activeにすると同期が止まる
    • これは全部ローカルだけど頑張れば他人との同期はできるはずです

infinite_floor

Screenshot

infinite_floor.unitypackage

Stair Hall の基本機構です。

このまま何かに使うとかではなく仕組み把握用のpackageなので気になる人が居たらというやつです。

一応このテスト空間自体もアップロードしてあるのでここから自由に見てみてください。

使い方

  • VRCSDK と StandardAssets/Utility を入れた状態でimportしてください
    • FollowTargetのため
  • scene.unity を開くと機構が置いてあるシーンが出てくるはずです

メモ

実際に使われているものとは異なる部分が多々あります

  • 今はPlayerLocalレイヤーで判定で取っていますがToybox/PlayerTrackingで取ったほうがいいという話もあります
  • 大量のポリゴンを含むメッシュをSkinnedMeshRendererで描画するとめちゃ重いです
    • 実際にはScaleをめちゃでかくすることで物理的にBoundsを広げています
      • シェーダでScaleを戻してます
  • うまく行かなくて困ったりしたら頑張って対処してください (雑)
    • 私がわかりそうな内容なら答えるとは思いますが

わかりにくそうなところ

  • 物体を確実に移動させる方法
    • FollowTargetを循環させる (ウケる)
    • 片側のOffsetで位置を指定する
    • 両方Activeにすると多分すごい速度で飛んでいきます 必要なときだけ
  • コライダーの移動挙動について
    • まず中心を動かす
      • 必ずプレイヤーが載っていないので安全
    • 外側を消すことで、プレイヤーが中心のコライダーに必ず乗ることを保証させる (そのためにすこし時間を置く)
    • 外側を移動する
      • もしもプレイヤーが外側のコライダーに乗っていると引きずられるので
  • リスポーン時の挙動
    • まずSpawnBaseがあるので落ちない
    • RespawnColliderが反応、AnimationTrigger
    • そこからuGUI経由で2つのSceneResetPositionを叩く

rounded_trail

Screenshot

rounded_trail.unitypackage

lineJoinとlineCapが常にroundな、破綻の無いTrail用シェーダ

めちゃくちゃ近いと円が見えてしまいますが、まぁ許してほしい (ちゃんと計算すれば治るかもしれない)

使い方

rounded_trail_sample.prefab を見てください

  • Trail Renderer における Width常に0 にすること
  • 色は Trail Renderer ではなくMaterialの Color の値を読みます
    • だからグラデーション機能とかは使えません (怠惰)
  • 未検証ですが Snail's Marker と互換性がある気がする
    • Ink Material のシェーダをコレに変えればいいはず
    • もしもその目的で使った人が居たら情報ください (おかしい or うまくうごく)
  • あまり深く考えて作ってないので想定外の挙動をしてたら言ってください
    • デフォルトだと1フレームで1m動くとトレイルが消える
    • まぁペン用ならこれでいいんじゃない?
    • そういえばOrthogonal Cameraから見ると太さが違う (けど知らん)

原理

  • billboardを自分で作った
  • 端点に円をgeometry shaderで生成

FuwaParticle

Screenshot at butadiene's "Twinkle of star" world

FuwaParticle.unitypackage

エモいやつ

使い方

  • FuwaParticle/fuwa_particle.prefab を出す
    • TransformのScaleやRotationは全く影響を与えません
    • そのうちなおすかも → なおりました
  • Materialのパラメータをいい感じにいじる
    • もっと弄りたければシェーダを弄ってください

原理

  • G P U パ ー テ ィ ク ル

ownerChecker

ownerChecker.unitypackage

「自分だけに見えるもの」を作るための道具

ほぼ自分用

使い方

  • Avatarの好きなところに適当にownerChecker.prefabを仕込む (一番外側でよし)
  • 他人に見えないようにしたいものにはシェーダでオブジェクトを消す
    • 他人であるとき、tex2Dlod(_Owner,float4(0.5,0.5,0,0)).a < 0.5 になる
  • カメラに関する警告を無視してアップロード (ローカルカメラにする)

原理

  • ローカルカメラなので他人からはRenderTextureが更新されないだけ
  • カメラの負荷は最小限にしているつもり (何も映っていない、1x1テクスチャにただ定数を書き込むだけ)

hand_pointer

Screenshot

hand_pointer.unitypackage

腕から伸びる長い棒 (1polygon扱い)

VRChatのカーソル位置とぴったり合わせると遠くのものを(設定に依っては)簡単につかめるようになる (フォーカス位置がわかる)

他人のアバターだとサイズが違うので各々でいい感じの位置と回転を見つけてほしい

使い方

  • 予めownerCheckerをいれておく (他人から見えないようにするため)
  • 手のbone (hand_L, hand_R とか) に pointer_L.prefabpointer_R.prefab を入れる
    • 多分勝手にownerCheckerのテクスチャが割り当てられているはず

原理

  • 適当に作った三角ポリゴンをとりあえず依代に
  • 長い棒の位置を適当に計算して
  • シェーダで2polygon生成して出力
  • 位置合わせは試行錯誤でやりました (確定的なパラメータがあればください)
  • ちなみにカメラには映らないようになってます

SphereCam

ScreenShot at Presentation Room

SphereCam.unitypackage

いわゆる全球を表示してくれるカメラみたいなものです 名前は適当でした

360°っていうの微妙に好きじゃない (4πsrでは?)

これ単体をAvatarとしてアップロードすれば、Avatar使用中のVRChatの画面がよくある感じの画像になります

Desktopで撮影のみのために使うことを目的としていますが、後述

使い方

  • SphereCam.prefabを出して、適当に何らかのGameObjectの下位に配置し、位置調整してアップロード
    • これ単体だと位置調整できないですよね
  • このカメラの中心部にUnityの視点を近づけると視界ジャックっぽくなりますが、これが正常です
  • 何らかのAvatarに仕込む場合は後述

注意

  • 他人から見える必要ないので某Animator Trickとかはいらないです (というかしないで) (邪魔)
    • アップロード時に「カメラはlocalになるよ」警告が出るのが正常
  • 解像度は6つのそれっぽい名前のテクスチャのSizeを弄れば良いです (デフォルトが1024x1024)
  • 他のAvatarに仕込む場合
    • VRだとどうなるか未知数ですが、多分ひどいことになります (未検証)
      • 暇なときに調べます
    • Desktopだと目辺りにちゃんと配置すれば良いと思いますが、自分が映ります
      • これを防ぐには自分を描画しているShaderを弄って消すのが良いと思います
      • 全ての頂点シェーダで if(abs(UNITY_MATRIX_P[1][1]/UNITY_MATRIX_P[0][0]+1)<0.01)v.vertex=0; を先頭に追加すると多分消えます
      • 動かなかったら聞いてください (多分シェーダによって対応が変わる)
  • The HUB や The Old HUB 、またpost effectがえらい掛かったワールドだと微妙に変なものが映ります
    • 直し方わかる人教えてください (後者はpost effect抜きで物体描画する方法がほしいわけだが)
  • そういえばDesktopの解像度が2:1じゃなくてもなんだかYoutubeLiveは大丈夫っぽい?まぁどうにでもなりそう
  • メニューのUIがめちゃくちゃ操作しにくいですが、気合があれば大丈夫です

原理

  • 6つカメラを置いてそれぞれ撮影 (FOV 90)
  • シェーダで合成していい感じに張る
    • CubeMapの動的生成ができないので自分でCubeMapのsamplerを書く
  • あとカメラが自分自身以外の人には消えることを利用して視界ジャックの範囲を自分だけに留める
  • ちなみに自分が映らないようにするのはカメラのアス比が1:1であるかどうかをチェックしています

Special Thanks

  • 雨下カイトさん
    • 作れるか聞かれたので作りました
    • ちょっと前のバージョンですが動画も出してくれました
    • もういっこ動画あった
  • 坪倉輝明さん
    • カメラの仕組みについて意見交換等しました
    • こちらもこちらで作っていらっしゃる

tilted_drink

V1 V2

tilted_drink.unitypackage

tilted_drink_v2.unitypackage

傾くと水面を保つ円柱

UpperRadius と LowerRadius が指定できるので円錐台形なら作れます

  • V1 は不透明のみ、V2は半透明が使えます

使い方

import すると tilted_drink フォルダに諸々が追加されます

単純には tilted_drink prefab を出して器にいれて、適当に色を弄れば動きます

  • 器に完全に注ぎきった状態における上面を円柱の上面に合わせてください
    • 飲料の量は Material の Level で調整してください
  • UpperRadius/LowerRadius で円錐台形になら変形できます

詳細 (V1)

  • cylinder.fbx: デフォルトでとりあえず入れといた円柱
    • これに Shader を合わせているので基本的にはこれを使ったほうがいいような気はします
  • drink_cylinder.shader: Shader
    • Transparentにしたい場合とかは弄ればいいと思います
    • が、Transparent に出来なかったので Opaque で配布しています
      • めっちゃ傾けたときにポリゴンがばこばこになる
    • 出来た方は教えてくれれば幸いです → V2 で対応しました
  • drink_cylinder.mat: Material
    • 一種類ならこれを弄ればいいと思いますがそうでもないと思うので
    • 各々でMaterialを作って上の Shader を適用する形になりそうです
  • tilted_drink.prefab: サンプルです

V2 はなんかいろいろといじって完璧になったバージョンです。

  • Color (Surface) が水面の色、Color (Side) が他の部分の色です。半透明も使えます。
  • まぁ面倒な人は V1 で十分という感じ

注意

このオブジェクトの XYZ 方向の Scale は必ず一致している必要があります

  • もしも細長い円柱にしたければ UpperRadius/LowerRadius を調整してください
  • 皿とかはオブジェクトをめっちゃ小さくして Radius を上げればいいと思います
    • っておもったけどBoundsが変わるから変な挙動になる気がしてきた
    • まぁ Radius は 0 以上 1 以下がいいです
  • UpperRadiusとLowerRadiusが一致しない場合、水面が抜けます
    • 指を突っ込まなければわからない (色が定数なので) のでとりあえずは気にしないことに
    • そのうちupdateする気がします → V2 で対応しました

原理

  • unity_ObjectToWorld から回転行列を拾う
  • 同時に determinant から Scale 値を拾う
    • この際に XYZ 方向の Scale が一定という条件を課している
  • 水面の座標と最も低い位置の座標が計算できる
  • 円柱の上面の頂点を UpperRadius を適用しつつ水面位置に移動
  • 下面に LowerRadius を適用
  • あとはぽいぽい

V2

  • まず頂点シェーダをやめる
  • Back に Stencil で +1
  • Front に Stencil で -1、そして Color (Side) で描画
  • Stencil が 1 になっている部分を Color (Surface) で描画
    • しつつ、水面のdepthを計算して直接書き込み
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].