見出し画像

AEC璃奈ちゃんボードモデリング2

前回、璃奈ちゃんボードの前面フレームのモデリングを行いました。しかし、私がモデリング初心者であったがために、最後の最後でずれていることが分かりました。

ちなみにこれが前回です。読まなくていいです。


まずは

さて、まず必要なのは正面から見た璃奈ちゃんボードの画像です。
今回はアニメを基準に作っていきます。
ちなみにスクスタ版とアニメ版で、AEC璃奈ちゃんボードにはサイズ的に違いがあります。その辺のことを詳しく書いてるときりがないので、詳しく書かれている記事を拝借して説明したことにします。
完全攻略マニュアルの方はマジで完全攻略してるのでお勧めです。ぜひ読んでください。

正面を探して

ということで、アニメMVの中から割と正面っぽいシーンをスクショしてきました。

超見にくいが連番がついてる 左上から右方向に1,2,…6

正面というのはなかなかないもので、苦労しました。ツナガルコネクトから3枚、ENJOY IT!から2枚、CDCSから1枚ですね。そしてこれらを透過度を調整して、どれが一番正面っぽいか確認していきましょう。見た感じ1と6が正面っぽい気がします。

1と2

ボード上部を基準に重ね合わせてみました下の方に向かうに向けてずれていき、ボード最下部ははっきりと分かるくらいずれてますね。格子線がズレていくのも分かります。そして面白いのが、ボードは大体同じ大きさなのに、イヤーカフの部分の大きさが全然違います。なんででしょうね?拡大縮小しているとはいえ、ボードの大きさを同じにしてるのにボード:イヤーカフの比率が違う。……アニメスタッフさんたちが、そのシーンで最も見栄えが良くなるように調整してるんでしょうね!
なにか踏み入ってはいけない部分に入りそうになった気がしたのでこれ以上はやめておきます。


1と3

重なってますね。

2と3

誤差程度にしかずれていません! 星の飾りもほぼぴったりです。イヤーカフは……まぁいいとして。つまり、2と3はほぼ同じ角度からの描写と言えそうです

1と4

無理矢理合わせてみました。合いませんね。でも1と2や1と3のときよりは合っています。4の画像は若干上から見てるだろうと推測できるので、そう考えると1も上からの場面だったのかもしれません。

1と5

この二つは割とぴったり合いますね。

4と5

合いませんでした。まぁそれはそう。

3と5

君らはぴったりなのか。それはそうか。

3と6

重なってますね。ぴったりです。

3と4

合っているように見えますが、下がズレています。

重なったのは1と2と3と5と6になりました。4は若干斜めからな気がしてましたが、その通りだったのですね。今回はどれもまぁ正面からかなって場面を取ってきたので、重なってよかったといったところでしょうか。以上を持って1,2,3,5,6が正面からのAEC璃奈ちゃんボードであるという理由付けとして、これらの画像からモデリングしていくことにします。

1と2と3と5と6

確認のために全部重ねてみましたほぼ完璧に重なってますね。十分でしょう。ちなみに、一番下から透過度0%,15%,30%,50%,65%となってます。なんで15%刻みじゃないかって? そんなのExcel君に聞いてください。そうです。私はこれまでの画像処理をExcelでやってきました。この程度Excelで十分できます

モデリングの準備

モデリングには前回同様 Fusion 360 を使っていきます。

8インチディスプレイ

縦横比4:3の8インチディスプレイの大きさを作ります

原点を中心に

「8インチディスプレイ 大きさ」でググッてその大きさの四角を作りました。

大きさを合わせる


縦最大幅

先ほどの画像を重ねてみました。ディスプレイギリギリでやってます。ディスプレイの形を特注でもしない限り四隅がフレームからはみ出ます。それをどうするかはいったん置いといて、縦ギリギリでフレーム作っても四隅でしっかり固定できるでしょっていう安直な考えのもと、縦最大幅でフレームをモデリングしていきたいと思います。

Let's モデリング

頑張っていきましょう

フレーム外枠

こんな感じでしょうか?

超見えにくい

寸法を消すとこんな感じです

そこそこ?

寸法の方を見れば分かるのですが、左右対称じゃありません。多分最初に画像を置いたとき、微妙に中点からズレていたんでしょうね。中点からの距離で見ると1mmくらいずれてますが、画像のフレームと今回作った枠がほぼピッタリ重なってるなら大きさは同じということでそのまま行きます。
ピッタリ重なっているなら、と言いましたが、ピッタリではない気がします。というかピッタリできるのかなぁ? 私には無理なようです。つまり、このままいきます。

フレーム内枠

またまた見えにくい

寸法消してきますね

見やすい

これもそこそこの精度でできたんじゃないでしょうか?右上と左上の出っ張ってるとこがなんか違う気がする。

修正後

ちょっぴり角度いじっていい感じに思えるように直してきました。

フレーム溝

次は溝の部分です。

頭おかしくなりそう

やばですね。寸法君には消えてもらいましょう。

目に優しい

疲れました。いやマジで疲れました。

フレームの完成

外枠、内枠、溝を全部重ねて表示するとこんな感じです

こ、これは……

すっげー本物っぽい! テンション上がりますね。

AEC璃奈ちゃんボードの厚みを調べる

平面でフレームが完成したら次にやることは、厚みを持たせることでしょう。では、AEC璃奈ちゃんボードの厚みはどのくらいなのか。これもアニメの中から探してみましょう。
ということで、璃奈ちゃんボードの厚みが分かりそうなシーンを切り取ってきました

その1
その2
その3
その4
その5
ほかのシーンの2倍くらい厚みありそう
その6
その7
その8
その9

どうやって

どうやって厚みを考えるかなんですが、

上が61.5mm、横が90mm

ここの長さは分かってるわけですね。だから画像との長さの比を取って厚みを出そうという考えです。角度によってまちまちでしょうから平均を取ろうと思っています。画像の拡大でも長さ変わってきますからね。そこで先に上げた9枚の画像というわけです。
ということで計測してきます

その1
その2
その3
その4
その5
厚みは均一だと信じて
その6
その7
その8
その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

比で計算した値をプロットしたものです。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って感じでやろうと思います。

正面
斜め
裏側

こんな感じになりました。簡単ですね。

色を付けてみる

色、付けたいですよね。

これはツナガルコネクト
そしてこれはカラーピッカー カラーコードは76a8c3
9ad3e9
a7dfec
abd0d3

光の当たり方で色が違いますね。当然です。ってかもうほぼ誤差みたいなもんなんで、独断と偏見で右下の色にします。

ってことで色付けてきました。

正面
斜め
裏側

なんで下側だけ透けてるのかよくわかりませんが、それっぽいものができましたね。

ディスプレイはフレームに挟み込まれる感じの位置にあるので多分こんな感じでしょう。

推定ディスプレイ位置・表
推定ディスプレイ位置・裏

見て分かるように、一般ディスプレイはフレームからはみ出ます。知ってた。これを解決しつつ、前が見えるようにする方法がテープライトですね。
でもディスプレイのほうが本物感あるんだよなぁ。

まとめ

今回は前回ズレてたフレームを修正すると言いながら1から作り直し、3Dにして、色も付けました。
あの、めちゃくちゃ疲れました。
次はどうしましょうね、サイドパネルをモデリングしますか? 真横向いてるAEC璃奈ちゃんボードのシーンってあったかなぁ?
なんかいい感じのシーン見つけるか、いい方法思いついたらやってみようかなと思います。
スクスタ版ならいい感じのあるかも。

そんな感じです。
最後まで読んでいただきありがとうございます。

この記事が気に入ったらサポートをしてみませんか?