クォータービューの描画順

WTR

ユーザー
クォータービューに挑戦しようとしてるんですが壁に当たってしまったので
ちょっとアイデアを募集してみます。

まず大がかりな仕組みの変更は出来ないと見て、遠景とピクチャでやろうと試みています。

画像の左上部分が本物のマップで、ハロルドがプレイヤーです。
クォータービューっぽいのは遠景で、ウルファール(青い子)はプレイヤーっぽく見えるピクチャです。

ハロルドの位置や向きからクォータービュー座標に変換、ハロルドの動きに合わせてキャラピクチャを動かしています。
高さはリージョンを使う予定。
ハロルドの足元のリージョンIDに応じてキャラピクチャのY座標をオフセットする。

ここまでは出来ているんですが
キャラクターをマップオブジェクトの手前に描画するのか奥に描画するのかの切り替えで躓きました。
というか初めから問題視していたけど結局解決策が見つからなかった。

マップオブジェクトがみんな立方体で、立方体毎に描画すれば
キャラとマップオブジェクトのY座標の関係だけ見ておけば描画順を決定できそうなんですが
↓みたいな
https://twitter.com/wtr_in_reverie/status/1065844499664986113

任意形状のオブジェクトだと何を基準にすればいいかわからず…

マップ毎・オブジェクト毎に逐一描画順制御すれば出来なくはないんですが
汎用的な処理で済ませないと挫折必至な気がしています。
何かいい考え方はないでしょうか。

ないですかね。
ない気がしてるんですが…

image_20181126_221929.png
 

WTR

ユーザー
ありがとうございます。
面白そうなツールですね。
マップチップの作り方とか参考にしたいです。

描画アルゴリズムについてはUIを見る限り
オブジェクトはマップチップ化されてて、チップ毎に描画している感じでしょうか。
最初立方体と書きましたが立方体である必要はなくて
要は底面が菱形(長辺と短辺の長さが等しい)であればプレイヤーのY座標だけで描画順を決められる。

ただ、オブジェクトをチップ化するのは避けたい。
それ自体がかなりの作業だし専用のエディタがあるわけじゃないので分割したチップを手動で並べ直さないといけない。
描画する負荷を考えても分割は望ましくないかな…と。

もうどんな形状のオブジェクトでも、というのは3Dじゃないんで無理だろうなと思ってて
底面が平行四辺形である場合に限定すれば…と考え始めています。
底面が菱形なら簡単。
一般の平行四辺形に拡張して、対角線の式を一般化できれば
対角線をプレイヤーが跨ぐかどうかで処理分けできる…かもしれない。

全力で高校数学を思い出しています。。
 

WTR

ユーザー
画像編集する際にパーツを分けるのを嫌がっているわけじゃないんですよ。
分割したパーツを分割したまま、見た目はシームレスに見えるように厳密に位置調整をして
かつそれぞれのパーツの描画順を動的制御するのが果てしなく面倒、という話。

公式プラグインはあんまり期待してません。
よしんば公式リリースがあったとしても使い勝手、表現の自由度の両立は難しいでしょう。
1つのテクスチャから3面生成するってだけで重い制約が目に見えてきます。
 
トップ