ジオメトリノードのUV関係が改善されているようです
Blender3.3で作ったデータを3.6で開いたら
立方体にUVマップという出力が増えています
そして[名前付き属性格納]が自動で増えています
ただし、ベクトルを2Dベクトルに手動で直す必要があります
これでテクスチャーが表示されました
この調子で「カーブのメッシュ化」も
改善して欲しかったですね
ジオメトリノードのUV関係が改善されているようです
Blender3.3で作ったデータを3.6で開いたら
立方体にUVマップという出力が増えています
そして[名前付き属性格納]が自動で増えています
ただし、ベクトルを2Dベクトルに手動で直す必要があります
これでテクスチャーが表示されました
この調子で「カーブのメッシュ化」も
改善して欲しかったですね
Blender Geometry Nodes で tube状の物体にUVがないので
textureが貼れない欠点がありましたが
英語圏の資料を読んで解消しました。
https://www.youtube.com/watch?v=w9LOxkoX-yY
Geometry nodes: UV map in curve objects 2023/01/06
thankyou Leonardo Romero
ただし 3.3ではうまくいったのですが
3.6ではうまく行かないので多少 工夫が必要でした
3.5以後に vectorではなく 2Dvectorが導入されて
それがUVのことらしいです
3.6では convert attribute にUVがなくなっていますが
適応を実行するだけで 済むように改善されています
とりあえず ・・ メモのみ #Blender
今まで曖昧だった点を調べて
3点ほど注意点がみつかったので 備忘録としてかき残します
LODはポリゴンモデルのバウンディングボックスとは別に
LOD専用のバウンディングボリュームという数値を算定していると推理しています
バウンディングボックスはX,Y,Zの3つの値を持っていますが
LOD専用のバウンディングボリュームはobject size 一つだけですので
きっと、球体だろうと推測しました
おそらく、物体にできるだけ近い球体に代表させていると推理しています
図はスザンヌを10x10=100個ならべたLODを作るケースです
このような 扁平な物体はめだって症状が現れるため
今回のトラブルを追求することになりました
3つ目は測定のしかたです
「高さを基準に判断する」とうろ覚えな記憶がありましたが
これで 自分は混乱していました。
どこを測定するかで%数値と実際の精度が変わってきます
LOD%の割り算を分母と分子にわけて考えますと
分母は画面の高さ方向の長さのようです
これは デバイスによって画面のアスペクト比がかわるので
高さ方向を基準にしているようです
それに対して分子は ちょっと難解です。資料がないので推測になります
物体が縦長だったり 扁平だったしても
物体の高さだけで判断するという単純な話しではないようです
バウンディングボックスXYZの最大値に近いと思いますが
正確な計算の仕方がわかりませんでした。
「物体にできるだけ近い球体で代表する」と仮定して話しを進めます
そこで、わかりやすくするために半透明球をおいてみました
正方形もしくは球で考えるなら 縦でも横でも同じですね
それが割り算の分子になります
追記
Unity2019に比べてUnity2021ではLOD groupが少し便利になっています
Unity2019では Object sizeの数値が表示されてなかったようです
cluster公式「テンプレートワールド」のprojectでは
LOD Bias値が1に設定されていました
他にも謎の設定が多数あります。最初からこれを使えばよかった
・・・がっくし orz ○| ̄|_
追記2
Cluster本番のcameraはLOD Bias機能に対応していないと思われます
実験したところそのようです BIAS=1と同じ結果になりました
CCK2.1.0のMtoonのコンフリクト問題
とりあえずは accessoryの試作はできたのですが
Mtoon が大丈夫かどうか点検すると 問題点が発覚
#Cluster
この記事が前提としないユーザー
はじめて CCK2.1.0を使う人
projectは 使いまわしせずに毎回 ゼロから作っている人
この記事が前提とするユーザー
projectは ゼロから作らず 再利用している人
CCK用の projectに VRMもインストールして projectの雛形を 作っていた人
・・・乗り物に揺れものをつけたり Mtoonも使っていた人
症状1 CCK2.1.0にMtoonが見当たらない
CCK2.0.0をCCK2.1.0にupdate しましたが
assetで検索してもMtoonがみあたらないので 同梱されていないと勘違い
症状2 よくみると エラー多数 MtoonがConflictしているらしい
無視して作業続行できなくもないが・・・ うつくしくないので今のうちに解消したい
原因 CCK2.1.0にMtoon3.4が同梱されているが
install場所がassetフォルダの外だった
\Library\PackageCache\・・・・・以下省略
なので assetで検索してもみつからないわけです
ちなみに VRM v0.61.1の由来の VRM Mtoonのインストール場所は
Assets\VRMShaders\MToon
なので assetで検索してヒットするし ここに見えるものだと思っていました
《今後 VRM1.xxで 変わるかも》
対策1 projectの継続使用を諦めて 作り直す
データの方を *.unitypackageで 継承し直すことにする
対策2
VRM VRMshaders の2つのフォルダを削除したら
VRM v0.61.1の由来のMtoonが消えてコンフリクトが解消した
そのかわり SpringBoneが使えなくなった その件は探究することにする
考察 「CCKにいっそspringboneも同梱して欲しい」
CCK1.15 ~ CCK2.0.0までは projectを継続利用できていたように思いますが
CCK2.1.0 で projectを継続利用できない 不連続点ができたように思います
これは projectの運用の仕方によって意見や見方は変わってくるとおもわれます
悪しからず
==== 『OKと言わないジャバコンソール』====
Java script ってどうだっけ
昔にかじっただけなので 思い出せませんね
C#とかluaとか記憶がごっちゃになっているし・・・
そもそも、Unityは java廃止じゃなかったでしょうか
いまさらjavaなんでしょうか
Var let Void 型宣言 とかどうなったのでしょうか
javaも変化していろんなversionがあるようです
今は java scriptは ES2015(ES6) 準拠でしょうか
例えば [??] って文字化けかと思ったら 演算子かなにからしい
アロー関数ってなんだろう そんなのあったかな?
最初は不等号の一種かと思いましたが [ => ] なるほど矢印の形をしている
ちなみにこれは [ <= ] 不等号らしい
《ちなみに 無名関数と アロー関数はちょっと違うらしい》
とりあえず ジャバコンソール(以下ジャバコン)をいじってみます
まず、ジャバコンを開発してくれた方に感謝です
1文字でも変更するとすぐに反応してくれます。早いです
早すぎて scriptを全文読まずに 半分ぐらい読んで実行するらしく
エラーのないはずのscriptでも コンソールにエラーを残してくれます
ですが 『OKとは 絶対に言わない』 ようです
何と言っても 入力待ち なのか フリーズ(応答なし)なのか
ジャバコンでは 判別つきません
《 >1+1を入力すると <2 が返れば フリーズしていないと確認できるようです 》
コンソールは その前の 赤いエラー文字が表示されているだけで
今の状態を伝えてくれません
『返事しなさいよ』と叫びたくなります
うろ覚えの記憶で闇雲にエラーを試していてもラチがあかないのでtutorialをやってみることにします
ポケットさんの記事は 混乱している記憶を整理するのに役にたちました ありがたい
https://gist.github.com/pocketberserker/0a8d4c77780de8defd49ec88447205c8
「スクリプト付きアイテム」のためのJavaScript入門(非公式)
@ポケットバーサーカーpocketberserker
> が入力のエコーで < が出力のようです
> --------------
> let i = 10
< undefined
> i
< 10
> --------------
[undefined]・・って、てっきり エラーかと思っていたら、違うようです
定義しているのに un-defined「未定義」とはどういう 返事なのでしょうか!
[undefined]は[understanded] のミスプリではないかと思いました
《たぶん null や Undefined は トラップに使うのであって OKの代用とは言い難い気がします》
とにかく、代入成功なら [ < OK ]・・て言って欲しいな。
コマンドプロンプトが点滅して入力待ちを示してくれるイメージは
Basic インタープリタの記憶でしょうか
====『お返事なさい!ジャバコン』
《Cluster Javaコンソールの第一印象を愚痴りましたが
開発された方々には感謝とお礼申し上げておきます》
ジャバコンソールが返事をしないなら
ユーザーが返事を書けばよい と気づいたので
以下の print文 相当の 行を挿入することにしました
$.log("----ok Initialize");
$.log("----ok intract");
$.log("----ok update");
//$.onUpdate() 用 注:流れるので 不要になったらレム文にする
$.log("----ok end of sentence");
//文末の点検用
これでやっと試行錯誤ができるようになってきました
具体例として 巨大水面 (20m100m)のscriptについて書きます
125個のOBJを並べるscriptです
「実質4x4x4m制限を超えたアイテム作れるようになった」
という記事に触発されて 闇雲に配列とかいじっていましたが、完成しないので
結局、hyoromoさんのscriptも参考にさせていただきました
《 この記事は CCK2.0.0の頃の記事です
CCK2.0.0では 水面を 128個おけたのですが
CCK2.1.0でuploadしようとすると「Mesh renderer数32以下にせよ」
というエラーに引っかかるようになりました
巨大平面は今後 16mx32m ぐらいが 限界になるかもしれません》
----------------巨大水面 (20m100m) の例 ----------------
$.onUpdate(deltaTime => {
let count1 = $.state.count1 ?? false;
if (!count1) { //初回だけ実行される
$.log("----ok update"); //1回だけ表示されるはず
let index = 0;
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 25; j++) {
let pos = new Vector3(4*i,1,-4 * j ); //高さYは1固定
let tile = $.subNode("plane2side (" + index++ +")");
tile.setPosition(pos); //これで 元のsubnodeにも値が入るらしい 不思議
let rot = new Quaternion().setFromEulerAngles(new Vector3(-89.9, 0, 0)); //BlenderFBXあるある
tile.setRotation(rot);
}
}
$.state.count1 = true;
}else{}
});
$.log("----ok end of sentence"); //文末の点検用
------------------
ちなみに OBJ名は水面ですが両面あるので2sideと命名しています
以下のような名前で 0~124まで用意しています
plane2side (0)
plane2side (1)
plane2side (2)
・・・・・
plane2side (124)
もっとスマートにできそうですが現時点では無理でした
一つだけ用意して Create Itemで 増殖させたらスマートですが
ワールドクラフトではまだ そのコマンドは許可されていないと思います 残念
増殖するポップコーンをみて うっかり もう許可されたのかと錯覚してしまいました
どうせ一回しか実行しないなら onUPdate文の内で実行するのも無駄なので
onUPdateを省いてみたところ、 エラーでした
onUPdateは 必ず必要らしいです
それなら まあ、いいかと そのままにしています
このあたりはウロ覚えと 確証がないので 『java script わからん』
とサジをなげておきます
今後、負荷を考慮した 書き換え 講座とか 期待したいですね
引用して使って下さいというには自信がないですね
処理負荷がどうなのか わからないし 責任もてません
向きが勝手にかわると聞いたので 向きを指定していますが
不要だったかもしれません。恥を書いておきます
おまけ
====「パッケージという用語が多すぎる」====
ワールドクラフトのアイテムにもパッケージという言葉がでてきますが
ここでは パッケージマネージャ と *.unitypackage ファイルの話になります
2022年夏 Clusterが Unity2019から Unity2021 へ移行した 時の話題です
おおざっぱには 自分としては以下のよう理解しています
『CCKやプラグインなどのプログラムは パッケージマネージャ で操作する
メニューでは Window>packageManager
ユーザーデータやアセットは *.unitypackage ファイルを 操作する
メニューでは assets>importPackage>Custum 』
ですが厳密にはそうではないので 自分用に調べたことをまとてみました
間違っていたらごめんなさい。
*.unitypackage ファイルは データもプログラムも両方 梱包できる形式です
混乱があるなら、データのみのファイル形式と プログラムのみファイル形式を分ければ話しはすっきりしそうです
ですが assetでは 3Dデータ以外に sampleシーンも同梱するように ルールがあるようです
scriptやプログラム的なデータも入れたいでしょう
またプラグインのほうでも sampleとして 3Dデータを同梱して 動作確認しやすくしたいようです
そういうわけで *.unitypackage ファイルは データもプログラムも両方 梱包できる形式としてスタートしたようです
たぶん当初は *.unitypackage ファイルの import exportの ひとつのメニューで済んでいたのかもしれません
Unity側のDocumentを読むと
Unity2019では あいまいでしたが Unity2021では メニューを分けて行こうという傾向が見えてきます
プラグインのインストールでは *.unitypackage ファイルも使いますが
他にもurlを指定したりいろんな仕掛けをくわえて
データのimportとは 違う方向に手順が発達してきたのがパッケージマネージャーのようです
例えば CCKの導入方法は 3通りぐらいあるようです
> 1 CCKの入ったProjectフォルダごとZipでユーザーに提供する方法
> 2 パッケージマネージャで 「Add package from disk」
> 3 パッケージマネージャで 「Scoped Registries」云々の方法
3の新しい方法ではURLを入力するだけで 直接 *.unitypackage ファイルを見ることがないようになっています
古いプラグインによっては2の方法でしか利用できないものもありますね
2022年夏 Unity2021 への移行での 2022.0704~0717の約2週間
このときに、ちょっと古い方法 *.unitypackage ファイル で CCK1.15.0を配布するという
方法がとられました。メニューでいうと「Add package from disk」です。
これで多少の混乱がありました。
・・・・・以上
更新やらお疲れ様です
2022.0718のUnity2021対応騒動をきっかけに
ワールドを再訪問してみました
消滅させずに 維持されている方々にお礼申し上げます
元は、ネタ調べの備忘録でしたが
こういう分野のリストがないので
2022年春gamejamの時期に公開していました
いずれ検索機能が充実すれば不要となるリストです
科学解説のワールドを制作予定のかたの
参考になればと思います
物理 科学館 『 バーチャルカミオカラボ 』 ・・・・ 2021対応なし OK
-- 見所-- 粒子が不透明 ミニ展示多数
化学 アスレチック 『 アセチルサリチル酸 』 ・・・・ 2021対応なし OK
-- 見所-- 粒子が不透明 アスレチック風の試み
化学 アスレチック 『 【Molecule Run! ④】 』 ・・・・ 2021対応なし OK
-- 見所-- ESCAPE FROM THE SOLUTION! アスレチック風の試み
化学 アスレチック 『 【Molecule Run! ③】クマリン 』 ・・・・ 2021対応なし OK
化学 アスレチック 【Molecule Run!②】化学反応式の上を走る! ・・・・ 粒子が不透明
化学 アスレチック 『 【Molecule Run!①】アセチルサリチル酸 』 ・・・・
-- 見所-- アスレチック風の試み
生物 水族館 『 水族館 』 ・・・・ 2021対応あり OK
-- 見所-- 今みるとシンプルな水槽に見える
生物 水族館 『 Lost Aquarium 』 ・・・・ 2021対応あり OK
-- 見所-- story仕立て
生物 水族館 『 シラスうなぎ奇説展 』 ・・・・ 2021対応あり OK
-- 見所-- 魚群を動かせる
生物 動物園 『 ほっこりパーク動物園 』 ・・・・ 2021対応あり OK
-- 見所-- いわゆるデート向き動物園
生物 水族館 『 妄想水族館 』 ・・・・ 2021対応なし OK
-- 見所-- 粒子が不透明 エサやりができる
生物 水槽 『 Noriben AQUARIUM 』 ・・・・ 2021対応なし X
-- 見所-- ガラスが変 魚群の動きが見えず残念
生物 水族館 『 Aquarium 』 ・・・・ 2021対応なし X
-- 見所-- ガラスが不透明 残念
生物 野外 『 流木サーフィンV3-58 』 ・・・・ 2021対応あり OK
-- 見所-- サーフィンに乗れる
生物 博物館 『 幻想図書館 -あふれる魂Ver- 』 ・・・・ 2021対応なし OK
-- 見所-- "> 鯨骨あり 骨格標本と建物の効果が考察できる
生物 研究室 『 走査型電子顕微鏡 』 ・・・・ 2021対応なし OK
-- 見所-- 器具の操作練習パターンだろうか
地学 科学館 『 メタバース地球科学ミュージアム 』 ・・・・
-- 見所--
地学 博物館 『 福井バーチャル恐竜展 in cluster 』 ・・・・
-- 見所-- イベント用でしょう
地学 博物館 『 ティラノサウルスの部屋 』 ・・・・ 2021対応なし OK
-- 見所--
地学 博物館 『 恐竜ペーパーミュージアム 』 ・・・・ 2021対応なし OK
-- 見所-- スピノの不透明 図鑑のように一覧にしてみたいものです
地学 博物館『バーチャル恐竜館<別館>』
-- 見所-- 約40体の実物大の3D恐竜が展示されています
リアルな見た目の割に負荷が軽いです 12月追加
天文 野外 『 日食 』 ・・・・ 2021対応なし OK
-- 見所-- 宇宙でなく、ドラマ的、現場での再現だね
天文 野外 『 CHILLOUT 』 ・・・・ 2021対応あり OK
-- 見所-- たぶん木星
天文 野外 『 Sun System 』 ・・・・ 2021対応なし OK
-- 見所-- 粒子が四角 わかりやすい
天文 野外 『 Sector 2.725 』 ・・・・ 2021対応あり OK
-- 見所-- 小惑星イトカワ 無重力を体感できそう
天文 野外 『 はやぶさ2タッチダウン 』 ・・・・ 2021対応あり OK
-- 見所-- リュウグウ 探査船が動く
その他 科学館 『 火星第46コロニー人類史ミュージアム 』 ・・・・ 2021対応あり OK
-- 見所-- story仕立て
その他 博物館 『 バーチャル名大博物館 』 ・・・・
-- 見所-- ミニ展示多数
その他 祭広場風 『 どこでも博物ふぇす!零ブースひろば 』 ・・・・
-- 見所--
その他 野外 『 防災シミュレーション 浸水 』 ・・・・ 2021対応あり OK
-- 見所-- 防災避難をgameにした試み
医療 処置室 『 REVIVE !!! ~心肺蘇生~ 』 ・・・・
医療の訓練
医療 アスレチック 『 ミクロの冒険-たべものがウンチになるまで- 』 ・・・・ 2021対応あり OK
医療 アスレチック 『 ミクロの冒険2 -治療計画をはかる- 』
気管支、肺のあたり
アスレチック風の試み
技術 野外 『 バーチャル高遠さくら発電所 』 ・・・・
-- 見所-- ダム建築
技術 野外 『 ICT建機デモ会場 』 ・・・・
建築土木分野での科学技術表現だね
自然 野外 『 ウユニ塩湖 v2.0 』 ・・・・ 2021対応なし OK
-- 見所-- 雲が流れる 世界遺産もどき
自然 野外 『 大地の果て ver.1.0 』 ・・・・ 2021対応なし △
-- 葉が劣化 自然再現が美しい
自然 野外 『 清流の夏 in a summer brook 』 ・・・・ 7.12更新
-- 水面が劣化 自然再現が美しい
自然 野外 『 清流の夜 』 ・・・・ 7.12更新
水族館の解説パネルが日本語と英語と両方表示すると
長ったらしいので ワールドごと分離してみました
CCKv1.16.0 の新機能 Localize を試してみました
tutorialというより体験記や報告となります
使う新コマンドは2つです
textより画像の方が簡単なので まず そちらから報告。
まず正常にみえる OBJを用意します
standard material textureなしでもよいでしょう
Localized Texture(script)のコンポを追加する
これがすり替えのしかけですね
次にすり替えるデータを用意する
Projectで右クリックし
Create > ScriptableObjects > Localization > Textures
謎の .asset ファイルができます
こちらで 複数設定の textureを 用意します
このデータを 先程のコンポに D&Dします
結果をUnity上で確認できますね
sceneではtextureなしですが
Play Gameで textureが見えます
Cluster>preview>setting
から サーバー言語設定を変更すると
textureが切り替わったことがわかります
ワールド上で確認する場合は
使用言語を かえて ワールドに入り直します
これで切り替えできているか確認できました
最初は Arabic 簡体中文 しか見えませんでしたが
薄くて気づきにくい右のエレベータをスクロールすると
日本語や英語がみつかりました
textの方も同じパターンです
まず正常に文字が見える OBJを用意します
というのも、なにもないOBJに
Localized Text コンポーネントをアタッチすると
Rect Transform
text
Canvas Renderer
この3つが一緒に追加されるようです
文字が見えません、設定の仕方が思い出せません
文字に関しては以前に作っておいた
presetを使うことにしています
imageとかcanvasの階層がすでについています
これの textコンポーネント がある階層に
Localized Text(script)のコンポを追加します
これがすり替えのしかけですね
次にすり替えるデータを用意します
Projectで右クリックし
Create > ScriptableObjects > Localization > Text
謎の .asset ファイルができます
こちらで 複数設定の 文章を 用意します
(ここで改行が無視されることを発見しましたが
textboxが1行にしか対応してないのかな?
とりあえず先に進みます )
このデータを 先程のコンポに D&Dします
(これをしないで noneままplayGameするとエラーです
NullReferenceException: )
Play gameすると textの中身が
すり替えられているのが確認できます
Textureと違ってすり替え先のtargetが近くにみえます
結果をUnity上やCluster上で確認する方法は前述の通りです
文字の大きさや改行や 実際の表示がどうであるかは
省きます。今まで適当だったし 詳しくないし
ここまでを報告して 後は詳しい方の解説や注意を待ちます
何か勘違いや間違いがあったらごめんなさい
参考
https://note.com/cluster_official/n/n23159fb20f5b