Enableだとスロットの削除だけでなくViolentAprillFoolsExplosionコンポーネント消しても爆発する
ガイドラインではないけれど制作者名やバージョンなどの有ると使い勝手がよくなる要素
似たような処理ならばコンポーネントを使ってしまったほうが簡潔な場合がある
鳥の鳴き声でも入れるといい感じに再生できる
いわゆるローパスフィルタ
ノードブラウザにすべてのノードがあるわけではない
RawDataTooltip ComponentのUseLaserをTrueにする
physicalLocomotionのGrippingをGrippingObjectsに設定する。クライミングさせたいオブジェクトにLocomotion>Interactions>LocomotionGripコンポーネントをつける。
TextEditorとTouchableTextFieldを付ける
CanvasのAcceptPhysicalTouchをオフにする
ButtonのRequireLockInToPressをTrueにする
Transform/Drivers/BooleanValueDriver<T>を選択して大量にズラっと出てくるやつの一番上にあるboolを選ぶ。ValueCopyとかでStateにつっこんで、TargetFieldに反転させたあとのbooleanをつっこみたいやつをつっこむ。あんまりよくないらしい。
MeshRendererのSortingOrderを-32000にする
一瞬だけアバターを着せてAvatarVoiceSourceAssignerでセットされる参照を取得する
可能な限りスロットの移動や入れ替えで対応することである程度軽減可
場所は Cloud > Indicators > CloudUserInfo Neosユーザーの情報を取得できます。 UserID欄に情報が欲しいユーザーのIDを入力すると(例:U-Zozokasu)、ユーザーネーム、アイコンのURL、登録日時(DateTime形式)を取得できます。
FrooxEngine.XiexeToonMaterial+OutlineStyle
SettingSyncを使う
インスペクターからスロットを掴んで保存する。またはInventoryLinkのEnableをオフにする。
ItemTextureThumbnailSourceコンポーネントをつけてサムネイルにしたい画像を参照する
WorldTextureThumbnailSourceコンポーネントを付けて360度画像を設定する。
任意のSlotにWorldCaptureThumbnailSourceコンポーネントをつけると、ワールド保存時にその位置から撮影された360度画像がサムネイルに設定される。
任意のSlotにSessionCaptureThumbnailSourceコンポーネントをつけるとその位置から撮影された360度画像がセッションのサムネイルになる。
BlitToDisplayコンポーネントをつけてユーザーを指定する。
テクスチャの正面にカメラを設置し、平行投影で撮影することで画像編集が行える。
ValueUserOverrideを使う。または、ValueCopyでSourceとTargetの両方にローカル化したい値を設定する。ValueCopyの場合の初期値はHostの値が使われるので注意。
DynamicVaribableSpaceのOnlyDirectBinding=trueにすると、名前で指定しない限りそのスペースにバインドされないようになる。
アバターのSlot下にAvatarNeckOffsetをつける
ToolTip Simulatorを使用する。
AvatarAnchorのMinScale/MaxScaleを広めに設定する
XiexeToonのMetallicGlossMapの白黒はMetallicにのみ影響します(添付画像は左からMetallic=1、両方0、Glossiness=1)。Glossinessに対してはMetallicGlossMapの透明度情報が使われるので輝度を透明度に変換したマスクテクスチャを使いましょう
IsPlayingDriverでAudioOutputのEnableを制御する
CommonSpawnAreaのParentUserにチェックを入れると、CommonSpawnAreaの子にユーザーがスポーンする
Uncategorized内のPrimitiveMemberEditorというコンポーネントを使うとテキストフィールドから値をいじれます。型ごとに使いかたが異なるので、詳細はインスペクターの中身をインスペクターで見てみてください。
Locomotion>Modifiers>CharacterControllerModifiers
SmoothValueを追加する
Jointの原点をずらす
背景のRGBに対して加算/乗算する
とりあえず真上に向けてリリースすれば安全
移動先の親SlotをInspectorのParentにセットする
ユーザーインスペクターでpresentInWorldのチェックを外す
スロットの原点付近にDevtoolTipの先端を当てながらセカンダリーで選択できる
似たような処理ならばコンポーネントを使ってしまったほうが簡潔な場合がある
いわゆるローパスフィルタ
ノードブラウザにすべてのノードがあるわけではない
一瞬だけアバターを着せてAvatarVoiceSourceAssignerでセットされる参照を取得する
可能な限りスロットの移動や入れ替えで対応することである程度軽減可
ToolTip Simulatorを使用する。
変化量の比較などに
半角スペースを使うとアクセスできない
切り上げ 四捨五入 切り捨て
デスクトップモードでも同一平面上にノードを並べる
WriteやWriteDynamicVariableとCacheノードの相性は悪い
処理を実行する前にUndo登録する
送信用のDVSpaceに値を書き込めばたくさん送れる
ElaspedTimeを使う。画像参照
切り捨てしたい好きな数字と-1でAND(Operatorsの中の「&」というコンポーネント)演算を行うと、正の実数は切り捨てされ、負の実数は切り上げされます。ノード数を減らしてすっきりできます。 これは、実数の整数部分だけを取り出すことにほかなりません。
デフォルトアバターはホストが着せるのでOnLoadedはホストが発火する。それをアバター保持者が発火するようにしたもの。 アバター着衣時にGETStringなどで外部アクセスする際などに使用するとよさそう。
OnLoaded発火時にDynamicVariableが読めないことがある。これを入れておけば、読めるまで待ってから動かせる。 One Per Frameは何らかの事故で大量のパルスがたまらないようにするだけのただの保険。
なめらかに動く特徴のある三角関数と、簡単な足し算とかで、t[0→1]で遅延なしのsmoothValueみたいなことができます。 CubicLerpでもにたようなことができます。
「なんでπ/2があるのに2πが無いのか」と思いますが、実は「τ(タウ」が6.283….つまり2πを出力してくれるノードです。
ReLu関数と呼ばれたりするやつ。
Operators/Parsing内のParseノードを使う。
color from hex codeを利用する。
Color from hex codeノードは、4つの入力Red,Green,Blue,Alphaそれぞれに入力された2桁の16進数もとに[R,G,B,A]カラー情報を出力してくれるノードです。
Colorデータはunpack xyzwで中身を引っ張り出すことができるので、出てきた数字をいい感じに整理してあげると16進数8ケタを無事0~4294967296のuintに変換できます。
Operators/Parsing内の「Parse (int,double,float系のどれか)」ノードで簡単に行えます。
Parseノードはいろいろありますが、int、double、float系に限り、Parseノードの入力に「Number Style」と「Format Provider」ができます。このうちNumber Styleを(入力からひっぱってセカンダリ押すと出てくるやつから)HexNumberに設定することにより16進数入力を10進数に変換してくれます。
【HexNumberとAllowHexSpecifierの違い】
Number StyleをHexNumberではなくAllowHexSpecifierに設定しても基本的に壊れることはありませんが、壊れる場合があります。この原因となる両者の違いは「数字の前後に空白があってもいい感じに認識してくれるか」どうかです。
実際の挙動を記すと
入力:”1B3”
HexNumber: 435
AllowHexSpecifier: 435
入力:” 1B3”(頭にスペースが入っている)
HexNumber: 435
AllowHexSpecifier: 0
みたいになります。
「誰が数字の前にスペースを入れるねん」ってなるけど例えば「FF FF FF 1B 00 AF FF 14」みたいなスペース区切りのやつを逐一切り抜いてこのノードにつっこみやすくなるとかそのために設定されてるんだと思います。
Formatノードで一瞬でできる {n:X}でn番目の要素を16進数に変換する 例:Formatを{0:X}とし、0番目の要素として14141412を入力するとD7C7E4と出力される {n:Xm}でn番目の要素をm桁の16進数に変換する 例:Formatを{0:X8}とし、0番目の要素として14141412を入力すると00D7C7E4と出力される
分岐するところにCacheノードを挟むといいらしい
Atan2を使えば簡単に角度を取れる。
1文字ごとに数字かどうかIs Digit判定してWrite
intのvalueRegisterに++ノード(インパルスが走るとピンクノードの先に1を足す だけのノード)をつなぐ。valueRegisterの中身を見る。 ・数千から2,3万くらいまでならレインボーな球体が出てくるノードで確認してもいいが、インパルス確認ノードは使いかたによってはroot直下にメッシュ、メッシュレンダラー、マテリアルを含んだslotを1フレームに何度も出現させるという結構ヤバい代物にもなるので、かなり大量のインパルスが飛ぶ可能性のあるwhileやforのiteration等では避けるべき。
「・(ドット積、いわゆる内積)」ノードに角度をとりたい2つのベクトルをつなげて出力先にarccosをつなげたら角度(rad)がとれる。度数法で欲しければ「°」ノードを使う。
直線上の任意の点を原点として、直線のベクトルを正規化したもの(絶対値を1にすること、normalizedノードを通すこと)と点の位置ベクトルの外積の大きさが直線と点の距離になる。 「この向きの円柱の範囲内にいるかどうか」をLogiXだけで判定するためのもの。無限に長い円柱の内部にいるかどうかの判定ができます。
rotation(floatQ)と[0,0,1](float3)を掛け算すると絶対値が1のベクトルがでます。 (=Rotationの方向に向かって1だけ離れた場所の座標が取得できます)
限定的な箇所に利用できるLogiXです。大量に存在し、かつ継続的に削除や複製が行われるSlotに対して、比較的複雑さの大きい(大量のノードを使用する)計算を行いたい場合に使えます。
View Position/View Rotationを活用する。常にViewの前に出す場合はPositionAtUserの方がいいかも。
Operators/Parse内のノードについての解説です。 「1729」という文字をParse int等につなぐと1729という数字になります。 Parse int4等の複数の数字を持つ数字に変換したい場合、「[1;12;9;10]」のようにセミコロン区切りの数字を角カッコで囲んだ文字列を入力につないでください。
文字列の結合は+ノードが一番早い(たぶん)
CanvasのAcceptPhysicalTouchをオフにする
ButtonのRequireLockInToPressをTrueにする
https://api.neos.com/api/users/{UserID} ユーザー名で調べたい場合は https://api.neos.com/api/users/?name={Username}
MeshRendererのSortingOrderを-32000にする
AvatarAnchorのMinScale/MaxScaleを広めに設定する
XiexeToonのMetallicGlossMapの白黒はMetallicにのみ影響します(添付画像は左からMetallic=1、両方0、Glossiness=1)。Glossinessに対してはMetallicGlossMapの透明度情報が使われるので輝度を透明度に変換したマスクテクスチャを使いましょう
ユーザーインスペクターでpresentInWorldのチェックを外す
HandPoserの回転角度を修正する。うまくいってる関節からコピーするとうまくいくことが多い。 $AssimpFbx$スロットが悪さをしてる場合もあるので、上記でうまくいかなかった場合は$AssimpFbx$スロットを消して試すとよい
VRIKAvatar->MaxFeetVelocityOffsetを小さくする
VRIKのMaintainPlevisPositionを調整する
AvatarRootコンポーネントを削除する。
VRIKのIKPositionWeightを0にする。この状態でアバターを着てしまうと身動きが取れなくなるので、着る場合は1に戻してから着るように注意。
SkinnedMeshRenederの[空のボーンの除去]を押すとBonesのリストにウェイトが乗ってるボーンだけが表示されるようになる。BoundingBoxが変わるので注意
VRIKのIKPositionWeightが1になってない
VRIKのArmLengthMipを変更する
VRIKAvatarのHeightCompensationを調整する
VRIKAvatarのGaitsのSpeedRatioを変える
ユーザー直下のViewVisualをアバターに入れて、その中のVisualの見た目を別のモデルに変更する。ViewVisualについているAvatarDestroyOnDequipは破壊する
※yoshi1123_の認識なので、実際の情報とは異なっている可能性があります。
マテリアルを複製して、MainTextureにMatCapMaskでアルファ透過した画像を設定、CutOutまたはAlphaにしてメッシュレンダラーのマテリアルを増やして重ねがけする
アバター内のVRIKのArmLengthMlpという値を左右の腕で調整する。
SkinnedMeshRendererのBoundsComputeMethodにProxyを設定
2重マテリアルする
AvatarBadgeManagerのBadgeSizeを0にする
ガイドラインではないけれど制作者名やバージョンなどの有ると使い勝手がよくなる要素
インスペクターからスロットを掴んで保存する。またはInventoryLinkのEnableをオフにする。
ItemTextureThumbnailSourceコンポーネントをつけてサムネイルにしたい画像を参照する
アイテム内のアセット(メッシュやテクスチャなど)がうまく読み込めていない場合はインベントリに保存できない。多くの場合はアセットがローカルDB参照になっているので、アセットを取り出した人に一度インベントリに保存してもらってneosdbに変換すると保存できるようになる。
可能な限りスロットの移動や入れ替えで対応することである程度軽減可
WorldTextureThumbnailSourceコンポーネントを付けて360度画像を設定する。
任意のSlotにWorldCaptureThumbnailSourceコンポーネントをつけると、ワールド保存時にその位置から撮影された360度画像がサムネイルに設定される。
CommonSpawnAreaのParentUserにチェックを入れると、CommonSpawnAreaの子にユーザーがスポーンする
ダッシュメニューのワールドタブのアクティブセッションやフレンドセッションが少ない場合。注目に切り替えてロードしなおすと治る。治らない場合Neosを起動しなおすと治る。人によっては割とよくある。
まぶしいからと言って問題があるわけでもない
初期同期をする際にワールドにいる人の会話が止まったり時間がかかったりする
[名前をつけて保存]や[コピーを保存]で出てくるリングメニューが表示された状態でLocalHomeへ移動すると[ここに保存]メニューが押せるようになるのでそれを押す
オンラインステータスを非表示にするとよい
BlitToDisplayコンポーネントをつけてユーザーを指定する。
テクスチャの正面にカメラを設置し、平行投影で撮影することで画像編集が行える。
カメラコントロールから「カメラビューからのオーディオ」をオンにする
カメラコントロールの「デスクトップにミラーリング」を押すとカメラの映像がデスクトップ画面に映る。これをOBSのゲームキャプチャで取り込んで録画/配信する。
カメラコントロールの「ユーザー」を押してでてくる画面からスライダーを調整する。
カメラコントロールの「ユーザー」を押してでてくる画面からスイッチングしたいユーザーの目ん玉ボタンを押す。
カメラコントロール右上の歯車から「全員にプレビューを表示」をオンにする。
カメラコントロール右上の歯車から「他人が触れるようにする」をオンにする
InteractiveCameraObjectExcludeTipでトリガーするとローカルカメラに映らなくなる。セカンダリを押すと再び映るようになる。
ReFractModを入れてデリシャスカメラを使う
InteractiveCameraコンポーネントのFarclipをでかい数字に変更する。100000くらいあれば十分
ノードブラウザにすべてのノードがあるわけではない
2重マテリアルする
ReFractModを入れてデリシャスカメラを使う
カメラコントロールから「カメラビューからのオーディオ」をオンにする
カメラコントロールの「デスクトップにミラーリング」を押すとカメラの映像がデスクトップ画面に映る。これをOBSのゲームキャプチャで取り込んで録画/配信する。
カメラコントロールの「ユーザー」を押してでてくる画面からスライダーを調整する。
カメラコントロールの「ユーザー」を押してでてくる画面からスイッチングしたいユーザーの目ん玉ボタンを押す。
カメラコントロール右上の歯車から「全員にプレビューを表示」をオンにする。
カメラコントロール右上の歯車から「他人が触れるようにする」をオンにする
InteractiveCameraObjectExcludeTipでトリガーするとローカルカメラに映らなくなる。セカンダリを押すと再び映るようになる。
RawDataTooltip ComponentのUseLaserをTrueにする
スロットの原点付近にDevtoolTipの先端を当てながらセカンダリーで選択できる
EssentialToolsの公式LogixTipにはDesktopに最適化されているLogixTipもある
MaterialTipを装備した状態で変換したいSlotをグラブした状態でコンテキストメニューから全て変換
Neosを起動した際に何らかの都合でNeosにログインできなくなったり、データベースがクラッシュして再生成に時間がかかることがある。
yt-dlpを更新する
http://cloudx.azurewebsites.net/open/world/U-Sweshelo/R-0c568726-c489-4cdb-bb7c-4df0f102b735 に行く
ガイドラインではないけれど制作者名やバージョンなどの有ると使い勝手がよくなる要素
顔からの距離で画角が変わる
マテリアルごとの詳細や優先度などがあるのかは不明
ボタンを押したときに読み込まれるオブジェクトのこと