AEC璃奈ちゃんボードモデリング2
前回、璃奈ちゃんボードの前面フレームのモデリングを行いました。しかし、私がモデリング初心者であったがために、最後の最後でずれていることが分かりました。
ちなみにこれが前回です。読まなくていいです。
まずは
さて、まず必要なのは正面から見た璃奈ちゃんボードの画像です。
今回はアニメを基準に作っていきます。
ちなみにスクスタ版とアニメ版で、AEC璃奈ちゃんボードにはサイズ的に違いがあります。その辺のことを詳しく書いてるときりがないので、詳しく書かれている記事を拝借して説明したことにします。
完全攻略マニュアルの方はマジで完全攻略してるのでお勧めです。ぜひ読んでください。
正面を探して
ということで、アニメMVの中から割と正面っぽいシーンをスクショしてきました。
正面というのはなかなかないもので、苦労しました。ツナガルコネクトから3枚、ENJOY IT!から2枚、CDCSから1枚ですね。そしてこれらを透過度を調整して、どれが一番正面っぽいか確認していきましょう。見た感じ1と6が正面っぽい気がします。
ボード上部を基準に重ね合わせてみました下の方に向かうに向けてずれていき、ボード最下部ははっきりと分かるくらいずれてますね。格子線がズレていくのも分かります。そして面白いのが、ボードは大体同じ大きさなのに、イヤーカフの部分の大きさが全然違います。なんででしょうね?拡大縮小しているとはいえ、ボードの大きさを同じにしてるのにボード:イヤーカフの比率が違う。……アニメスタッフさんたちが、そのシーンで最も見栄えが良くなるように調整してるんでしょうね!
なにか踏み入ってはいけない部分に入りそうになった気がしたのでこれ以上はやめておきます。
重なってますね。
誤差程度にしかずれていません! 星の飾りもほぼぴったりです。イヤーカフは……まぁいいとして。つまり、2と3はほぼ同じ角度からの描写と言えそうです
無理矢理合わせてみました。合いませんね。でも1と2や1と3のときよりは合っています。4の画像は若干上から見てるだろうと推測できるので、そう考えると1も上からの場面だったのかもしれません。
この二つは割とぴったり合いますね。
合いませんでした。まぁそれはそう。
君らはぴったりなのか。それはそうか。
重なってますね。ぴったりです。
合っているように見えますが、下がズレています。
重なったのは1と2と3と5と6になりました。4は若干斜めからな気がしてましたが、その通りだったのですね。今回はどれもまぁ正面からかなって場面を取ってきたので、重なってよかったといったところでしょうか。以上を持って1,2,3,5,6が正面からのAEC璃奈ちゃんボードであるという理由付けとして、これらの画像からモデリングしていくことにします。
確認のために全部重ねてみましたほぼ完璧に重なってますね。十分でしょう。ちなみに、一番下から透過度0%,15%,30%,50%,65%となってます。なんで15%刻みじゃないかって? そんなのExcel君に聞いてください。そうです。私はこれまでの画像処理をExcelでやってきました。この程度Excelで十分できます
モデリングの準備
モデリングには前回同様 Fusion 360 を使っていきます。
8インチディスプレイ
縦横比4:3の8インチディスプレイの大きさを作ります
「8インチディスプレイ 大きさ」でググッてその大きさの四角を作りました。
大きさを合わせる
先ほどの画像を重ねてみました。ディスプレイギリギリでやってます。ディスプレイの形を特注でもしない限り四隅がフレームからはみ出ます。それをどうするかはいったん置いといて、縦ギリギリでフレーム作っても四隅でしっかり固定できるでしょっていう安直な考えのもと、縦最大幅でフレームをモデリングしていきたいと思います。
Let's モデリング
頑張っていきましょう
フレーム外枠
こんな感じでしょうか?
寸法を消すとこんな感じです
寸法の方を見れば分かるのですが、左右対称じゃありません。多分最初に画像を置いたとき、微妙に中点からズレていたんでしょうね。中点からの距離で見ると1mmくらいずれてますが、画像のフレームと今回作った枠がほぼピッタリ重なってるなら大きさは同じということでそのまま行きます。
ピッタリ重なっているなら、と言いましたが、ピッタリではない気がします。というかピッタリできるのかなぁ? 私には無理なようです。つまり、このままいきます。
フレーム内枠
寸法消してきますね
これもそこそこの精度でできたんじゃないでしょうか?右上と左上の出っ張ってるとこがなんか違う気がする。
ちょっぴり角度いじっていい感じに思えるように直してきました。
フレーム溝
次は溝の部分です。
やばですね。寸法君には消えてもらいましょう。
疲れました。いやマジで疲れました。
フレームの完成
外枠、内枠、溝を全部重ねて表示するとこんな感じです
すっげー本物っぽい! テンション上がりますね。
AEC璃奈ちゃんボードの厚みを調べる
平面でフレームが完成したら次にやることは、厚みを持たせることでしょう。では、AEC璃奈ちゃんボードの厚みはどのくらいなのか。これもアニメの中から探してみましょう。
ということで、璃奈ちゃんボードの厚みが分かりそうなシーンを切り取ってきました
どうやって
どうやって厚みを考えるかなんですが、
ここの長さは分かってるわけですね。だから画像との長さの比を取って厚みを出そうという考えです。角度によってまちまちでしょうから平均を取ろうと思っています。画像の拡大でも長さ変わってきますからね。そこで先に上げた9枚の画像というわけです。
ということで計測してきます
纏めるとこんな感じですね
では、比を計算してきますか
厚みの計算
比をいちいち計算するのが面倒だったので、プログラムを作りました。結果として、電卓で地道に計算したほうが時間として早かった気がします。私の実力不足ですね。計算式が合っているかも不安です。
import numpy as np
import matplotlib.pyplot as plt
def find_x(a,b,c): #比を求める関数
x=(c*b)/a
return x
#測定した上
Measured_upper_edge=np.array([87.881,66.244,83.148,61.809,103.363,109.202,68.995,72.468,123.434])
#測定した縦
Measured_Vertical=np.array([127.56,1,111.086,136.103,143.712,135.157,88.731,167.391,174])
#測定した厚み
Thickness_measured=np.array([35.429,26.137,19.15,19.651,23.799,38.601,9.647,27.435,12.663])
#実際の値,順に上、縦
real=np.array([61.50,90.00])
#上で比を計算した比を入れる
x=np.ones(9)
#縦で比を計算した比を入れる
y=np.ones(9)
for i in range(9):
x[i]=find_x(Measured_upper_edge[i],Thickness_measured[i],real[0])
print(f"上の値で取った比{i+1}: {x[i]}")
y[i]=find_x(Measured_Vertical[i],Thickness_measured[i],real[1])
if(i==1):
y[i]=x[i]
print(f"縦の値で取った比{i+1}: {y[i]}")
plt.plot([0, 26], [0, 26], color='red', linestyle='--', label="x = y")
plt.xlabel("上の値で取った比", fontname="MS Gothic")
plt.ylabel("縦の値で取った比", fontname="MS Gothic")
plt.title("比のプロット", fontname="MS Gothic")
label=["1","2","3","4","5","6","7","8","9"]
for i, label in enumerate(label):
plt.annotate(i+1, (x[i], y[i]))
plt.scatter(x, y)
plt.grid()
plt.xlim(0, 26)
plt.ylim(0, 26)
plt.show()
コードはこんな感じ。需要はないですね。それにもっとわかりやすい書き方があると思います。
さて、比で厚みを出した訳ですが、多分変な値も混じってます。その状態で平均を出してもズレてしまいます。ではどうやってその値を割り出すか。
上のプログラムで言うとxとyはiが同じ時は同じ画像から取ってきた数値で計算しています。
画像で話すと、1の画像から取ってきた数値で計算した厚みは、上の比であれ縦の比であれ同じになるはずです。
そこでこのようなものを用意しました。
比で計算した値をプロットしたものです。y=x付近にある点は信用できるでしょう。多分。ということで1,2,3,5,7,9の値で平均を取って来ようと思います。にしてもばらつきがありますね。平均は3,5あたりになると予測します。
これについてもコードを書きました。
z=0
for i in range(9):
if(i==3)or(i==5)or(i==7):
continue
z+=x[i]
if(i==1):
z=z-x[i]
z+=y[i]
ave=z/11
print("ave=",ave)
多分こんな感じです。途中であるマイナスですが、画像2枚目は縦の長さが測れないので、この前のコードで仮にy=xとしていました。その分です。平均を取るときの分母が11になっているのもそのためです。
そしてここから求められた平均は、ave= 14.91294301408462(mm)でした。四捨五入して15mmですね。
ちなみに画像2枚目の比率を平均に入れないと、ave= 12.707013557694744(mm)となります。
さらにこの二つの値の平均を取ると、13.8099782858896(mm)となります。
面倒なので15mmでやりましょうね。
溝の部分って
溝の部分ってどうなってるんでしょうね。媒体によって、特にスクスタ版とかだと、手元にあるスクショの中で7割くらいは透明素材なんですよね。持ってるアクスタ見ても3割くらい透明素材です。
まぁ今回はアニメ基準で大きさ取ったので凹んでる感じで行こうと思います。
厚みを出そう
本来なら基盤やらマイコンやら入れる関係から厚みを決めるんでしょうが、ここではそこまでやらないってか私の技術的にできないので、厚みは15mm、溝部分は凹みが7.5mmって感じでやろうと思います。
こんな感じになりました。簡単ですね。
色を付けてみる
色、付けたいですよね。
光の当たり方で色が違いますね。当然です。ってかもうほぼ誤差みたいなもんなんで、独断と偏見で右下の色にします。
ってことで色付けてきました。
なんで下側だけ透けてるのかよくわかりませんが、それっぽいものができましたね。
ディスプレイはフレームに挟み込まれる感じの位置にあるので多分こんな感じでしょう。
見て分かるように、一般ディスプレイはフレームからはみ出ます。知ってた。これを解決しつつ、前が見えるようにする方法がテープライトですね。
でもディスプレイのほうが本物感あるんだよなぁ。
まとめ
今回は前回ズレてたフレームを修正すると言いながら1から作り直し、3Dにして、色も付けました。
あの、めちゃくちゃ疲れました。
次はどうしましょうね、サイドパネルをモデリングしますか? 真横向いてるAEC璃奈ちゃんボードのシーンってあったかなぁ?
なんかいい感じのシーン見つけるか、いい方法思いついたらやってみようかなと思います。
スクスタ版ならいい感じのあるかも。
そんな感じです。
最後まで読んでいただきありがとうございます。
この記事が気に入ったらサポートをしてみませんか?