(約 1,800文字の記事です。)
さて、Ver.2.1をリリースできて満足していたところに、Twitterでこんな内容の質問があったので、今後の開発計画に加えることにした。今回はそんな日記的な記事。
毎回XZ軸とセンターを指定しないといけないの?
いわれてみれば確かに。あの操作Step1~3は、要するに回転情報を取得するための手段なわけだから、一度取得した角度情報をメモリ上できちんと保管できれば、2回目以降からはワンボタンで元の位置と原点とに往復自在になるはずだよね。
考えてみれば、そりゃそうだ。
非公開版でテストしてみた
あっさり出来ました(笑)ただし、メモリ内での取り扱いでの話。複数メモリに保持させるための実装は今のところ準備していない。
コピペで対応可能な1つの回転情報については、実装可能だった。
で、1つのパーツの回転情報を保持させられるならば、もっとたくさんのパーツの回転情報も保持させたいでしょ?欲が出る。
顔は確実にキューブを入れてポージングさせるとして、他にも、剣やら盾やら防具やら、たくさんあるよね。コピペで試すには手間が多すぎるので却下。今はね。
でも、それらを1回ずつ毎回Step1~3をやるのは確かにしんどい。一度回転情報を取得できたら、ポージングが変わらない限りはメモリの情報からクリック一発でローカル位置とワールド軸への往復をさせたい。
ファイル書き出しへの壁
そう、複数のパラメータを外部のファイルに書き出して保存と読み込みが出来れば解決だ。だが私はまだZscriptでデータのファイル書き出し・読み込みを行ったことがない。まったくどんな挙動になるのか、どんな値が出るのかも分からない(バイナリなのかテキストなのかも知らん。)
なので、ここからの話は実装予定というか、実装したいこと、実装できたらこうなるのだろうなという希望的観測です。
パラメータがファイル書き出しできるなら長期間の作業が可能
体中の防具の位置を記憶させてファイル保存すれば、作業後半での微調整でもワンクリックで左右対称編集して、ワンクリックで元の位置へ。事前にBTCにかけていればStep1~3は終わっているから早い。これは特にポージングが完全に固まっている場合にはとても役に立つだろう。
インターフェースが課題
どういうインターフェースにするかとか。Zscriptで出来ることは限定的なので、恐らくは、ボタンセット群を作って、各ボタンセットの中の保存ボタンを押して保存、進む、戻る、の3つが基本になるのかな。そして親玉としてデータのSaveとLoadボタンだろう。とにかくまずは1セットを作ってテストしてみたい。1つが出来れば後は繰り返して作れるから。
イメージはこんな感じ。
文字幅とボタン配置の関係があるので、出来るだけ少ない文字列にする必要がある。Store1はSet1になるかも。L to W1はLtoW1かも知れない。意味が分かればいいよね?
ちなみにZbrushではボタンにユーザーが名前を自由に付けることが出来ない。プログラムする際に決めれば出来るけど、変更できない。ないでしょ?そんなボタン。サブツールの名前くらいしか文字入力できない。なのでユーザーが各自対照表をメモするなどして管理することになるだろう。これはどうにもならない。
できそうな気がしてきた
明日色々テストしてみよう。
まずはデータのファイル読み書きと、Set1グループが作れるかどうか、だな。
その後10個くらいまで増やして、SaveボタンとLoadボタンを置けば完了。
Setボタンの挙動には押した後にデータのメモリ登録以外にもデータファイルも上書きする仕様にしておけば安全だろう。Saveボタンはどちらかというと人の心理的影響のためにある(押してももちろん保存されるけど。)
筆者はAmazonアソシエイト・プログラムに参加しています。(Amazon様の商品を宣伝することで紹介料をAmazon様から頂けるという大変ありがたい仕組みのこと。)
以下の商品名や画像アイコンをクリックしてからAmazon様で何かお買物をして頂ければそのご購入総額の1~2%が私に寄付されます。クリック後に別の商品のご購入でもOKです!誰が何を買ったかは私に通知されませんのでご安心下さい😊
また当サイトは楽天アフィリエイト、バリューコマース Yahoo!ショッピング アフィリエイト、および第三者配信の広告サービス(Googleアドセンス)を利用しています。