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」みたいなスペース区切りのやつを逐一切り抜いてこのノードにつっこみやすくなるとかそのために設定されてるんだと思います。
https://docs.microsoft.com/ja-jp/dotnet/api/system.globalization.numberstyles?view=net-6.0 https://docs.microsoft.com/ja-jp/dotnet/api/system.int32.parse?view=net-6.0#system-int32-parse(system-string-system-globalization-numberstyles) C#もとい.NETのリファレンスのページだが、Neosの中身が大体コレなので仕方がない
↑上で書いたやりかたを知る前にひらめいた方法。
LogiXのノードの中には、まったく同じ挙動をいくつかのノードで再現できる場合が結構あり、後から「アレ○○で一発だったのか!」となることがあるが、その経験は単に無駄足を踏んだというだけではなく自分自身の脳みそを耕したという経験にもなるので、ぜひ恐れずにトライしてほしい。ただし、前提としてノードを無駄に増やしまくると出したり消したりするときアホみたいに重たくなるのでやりすぎには注意。
“FF14”は、十進数で65300と表す。