変態の変態による変態のためのラブドールブログ
since 2009.11~
当サイトの記事にはアフィリエイト広告のリンクが含まれる場合があります

たぶんラブドールのショップサイトに求められているのはこういう機能

↓こういうの。

※マウスまたはタッチ操作で回転します。もしくは一度画像をクリックしてからキーボードの矢印キーでも操作可能。

最初に提案したのは2015年4月頃に投稿した「Libidollのヘッドを360度ぐりぐり動かせるページを作ってみた」でした。

当時は一部のパソコンメーカーや車のページで導入されているくらいでしたが、実際導入するのは大した手間でもないのでドールの販売サイトでも頼んますよ、という投げかけでしたが、ほぼ無反応。

一部、写真家の方が「これ作るのに写真何枚くらい必要ですか?」と聞いてきたくらい。最低8枚、できれば12枚以上必要です。

しかし…

3面図も12面図も写真撮る手間は大して変わらない

今回撮った写真はこれで全部。

恥ずかしながら五十肩………整形外科いわく厳密には五十肩ではなく、石灰化らしいのですが、ともかく肩の調子がとても悪く、この撮影中も激痛でドールさん倒してしまったので、途中で顔の角度変わってしまっていますが、健康体の人ならそんなこともないはず。

ターンテーブルに載せれば良いだけの小物撮影に比べると手間ですが、いったん裸のドールさん用意したら30度ずつ角度変えてシャッター押すだけなんだから、簡単でしょ?

もちろん動画でも良いし、むしろ動画のほうが良いんだけど、あらゆるドールさんの動画撮影とかファイルサイズ、帯域幅等を考えると普通のショップサイトでやるのは現実的ではないように思います。ラブドールのショップサイト、4000商品とか扱ってるからね。

それに、少しでも魅力的な写真を撮って現像処理でコネコネ加工して魅力的に魅せたいというそんな思惑もあるはず。だから加工が面倒な動画はメーカーも作りたがらないのではないだろうか。実情は知らんけどw

いずれにせよ、静止画であれば正面写真を撮る→現像処理を頑張る→残りの角度違いの全部の写真に現像設定をコピペする、なんてことが可能なので、動画よりはだいぶ楽かと。

更に言うと背景加工も静止画のほうが楽でしょ。

上の12枚の写真、実際はこんな感じの部屋です。

電源コンセントや壁の影が気になるので背景をカットしました。

カット処理に使ったのは、rembgというPythonで作られたツール。AI学習モデルを利用してワンクリックで背景をカットしてくれます。12枚ほおり投げて数十秒待てば完了。よく見るとワリと雑な切り抜きで、ドールさんのまわりに灰色の影が残っています。だから背景も灰色にして誤魔化してる。
https://github.com/danielgatis/rembg

真面目にやりたいなら、Adobeなり何なりにしっかりお布施すればもっと良い加工できるんじゃないですかね。

導入方法1

2015年に使ったのは threesixtyjs というjQueryプラグインです。
https://github.com/nick-jonas/threesixtyjs

jQueryに抵抗がないなら、これが一番楽じゃないかしら。

個人的にはモダンブラウザが一般的になった今jQueryを使うことに抵抗があるので自分で作りました。

というわけで、

導入方法2

ジジ謹製スクリプト
20231211_zimage360.zip

使い方

中に入っているsample.htmlを見ればわかりますが、cssとjsを入れてこんな感じに書けばOK。

<link rel="stylesheet" type="text/css" href="zimage360.css">
<script src="zimage360.js" defer></script>
<div class="zimage360" tabindex="0" style="aspect-ratio:721/1080;background-color:#808080;">
	<img src="/uploads/20231211_irokebijin_110cm_01.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_02.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_03.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_04.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_05.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_06.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_07.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_08.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_09.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_10.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_11.webp" loading="lazy">
	<img src="/uploads/20231211_irokebijin_110cm_12.webp" loading="lazy">
</div>

JavaScriptコード

そんなこと言われたって、どこの誰とも知らんヤツの配布したJavaScriptなんて怖くて使えるか!という方もおられるかと思います。

その認識は正しい。

中身のコードはついさっき書いた60行程度のものなので、JavaScript初心者でも理解できるはずです。

こんなものに著作権とか主張しないので、ご自由にお使いください。

堅苦しいコンプライアンスがあるところで使う場合は、MITライセンス扱いでOKです。

document.addEventListener('DOMContentLoaded',function () {
	document.querySelectorAll('.zimage360').forEach (elm => { new zimage360(elm); });
});
class zimage360 {
	constructor (elm) {
		let thisObj = this;
		this.elm = elm; //parent element
		this.inDrag = false;
		this.px = 0; //previous position
		this.imgArray = []; //image elements
		this.frameNo = 0;
		this.threshold = elm.clientWidth / 200; //Sensitivity of rotation
		elm.onpointerdown = function () {
			thisObj.inDrag = true;
			thisObj.px = event.clientX;
		};
		elm.ontouchmove = function () {
			event.preventDefault();
		};
		elm.onpointerup = function () {
			thisObj.inDrag = false;
		};
		elm.onpointerleave = function () {
			thisObj.inDrag = false;
		};
		elm.oncontextmenu = function () {
			return false;
		};
		elm.onpointermove = function () {
			if (!thisObj.inDrag) return;
			thisObj.imgArray[thisObj.frameNo].style.visibility = 'hidden';
			if (thisObj.px - event.clientX < -(thisObj.threshold)) {
				thisObj.frameNo++; //to the right
				thisObj.px = event.clientX;
			}
			if (thisObj.px - event.clientX > (thisObj.threshold)) {
				thisObj.frameNo--; //to the left
				thisObj.px = event.clientX;
			}
			if (thisObj.frameNo >= thisObj.imgArray.length) thisObj.frameNo = 0;
			if (thisObj.frameNo < 0) thisObj.frameNo = thisObj.imgArray.length - 1;
			thisObj.imgArray[thisObj.frameNo].style.visibility = 'visible';
		};
		elm.onkeydown = function () {
			thisObj.imgArray[thisObj.frameNo].style.visibility = 'hidden';
			switch (event.keyCode) {
				case 37://arrow left
					thisObj.frameNo--;
					break;
				case 39://arrow right
					thisObj.frameNo++;
					break;
			}
			if (thisObj.frameNo >= thisObj.imgArray.length) thisObj.frameNo = 0;
			if (thisObj.frameNo < 0) thisObj.frameNo = thisObj.imgArray.length - 1;
			thisObj.imgArray[thisObj.frameNo].style.visibility = 'visible';
		}
		elm.querySelectorAll('img').forEach (elm => {
			thisObj.imgArray.push(elm);
		});
		this.imgArray[0].style.visibility = 'visible';
	}
}

余談

IT系に関しては、どこまでが必要とされている知識で、どこからが難しいと感じさせてしまうのかが、いまいちよくわかりません。

むかーし、ブログシステム作るのを頼まれたので、ホイっと作ったら「お客様にHTML入力させるとはなにごとか」と上司に怒られたことがあり、はぁそうっすか、とワードやエクセルのような編集機能をWebに組み込んだことがあります。出来ないのか?と言われたら、出来らぁ!とその必要性はともかくとしてついやってしまうという若気の至りです。あ、いまも変わってないや。

一方、少し前のことですが、WordPressでWYSIWYGエディタ(ワードみたいな編集機能)しか使えなくなったとき、えらい炎上してました。そりゃするでしょうとも。やってみりゃわかりますが、WYSIWYGエディタだけでブログ運営とか正気の沙汰じゃないです。

どこかで書いた気もするけれど、1~10まで説明すると話長いから聞いてもらえないし、いきなり10を話しても理解してもらえないし、人とのコミュニケーションって難易度高すぎない? プラグ挿したら理解しあえる未来はよ。

(́∀`(⊃*⊂)

まとめ

コメント欄で、写真によってチチケツサイズが違って見えるという話を聞いて、思いつきで作ってみました。

たぶん無理だろうなァとは思っているけれど、ラブドールでも360度写真増えてくれると良いなぁ。

関連記事

QIEでドール写真を着せ替えて遊ぼう

昨年末、edollsの投稿でGeminiがすごいことになっていると初めて知りました。 「このドール写真をサンタ衣装に変えて」と頼むだけでこんな写真が出来てしまうのだもの、ぶったまげてしまいます。驚き

ラブドール趣味を暴露することの是非…というより雑談

特に中身のない自分語りの雑記、はっじまっるよ~~~!いつもどおり超絶暇人しかおすすめしません。一般人は回避推奨。…………警告、しましたからね? たまにですが、ブログ読者様からお迎えに至ったエピソ

来月(10/1~)からステマ規制がはっじまっるよ~♪

アフィとステマの話。なっがいです。暇人のみ推奨。 どこかの記事でも書いた気がしますが、ぼくは20年くらい前にAmazonのアフィリエイトがはじまった際に、「え、自分が気に入った商品紹介して購入さ

コメント

  • ちょちょいでこんなの作れるのすごい!
    一応コードはなんとなくは読めるけど自分では書けない、せいぜいSQLぐらいかなあw
    昔はプログラマに憧れて独学で勉強はしたものの結局作るものが無くて忘れちゃいましたw
    PythonもAIに強いよ、みたいなのは聞いているものの「何作るの?」ってなって勉強する気がおきないw

    やはり、こんなの作りたいがないとプログラムは上達しませんね

    ジジさんのこのプログラムへ向かう情熱の原動力はなんだろう?
    やはりエロ?w
    [返信]
    • エロです(即答) Elfのドラゴンナイト4というエロゲのエロシーンを見たいがためにリアルタイムにメモリ書き換えて自キャラを強くするプログラムを作り、その技術の副産物で作ったフリーソフトがIT企業の目にとまり…と予想外の広がりを見せましたw

      でも今の子はAI技術とか求められる知識が、生み出すというより、使いこなす方向なので、なんだろう、ストレス溜まって大変そうだなーとおもいました(小並感
      [返信]
  • こばんは
    360度ぐりぐり回す奴、2000年頃のオリエント工業さんのサイトで使われてた気がします
    記憶が確かならフルシリコンになる前で4姉妹設定のキャラクタ展開してて末っ子がショートカットでもこもこ着ぶくれブレザーとルーズソックス装備の頃
    今なら正面背面左右側面の4枚で間をAIが補完してぬるぬるなめらか360度回転とかもできるんでしょうけどそうなると捏造度上がりますね
    商品見本として好ましくない(仮定に仮定を重ねて勝手に憤るスタイル)

    それはさておき
    エロゲのエロシーンを見るためグラフィックデータをブッコ抜くんじゃなくてメモリエディタ作るところに現在につながる何かの一端を見た気がします
    [返信]
    • 当時のエロゲって各社独自の画像形式でその変換だけでも苦労しそうだったのと、ふとキャラクターステータスの経験値欄を見て、この数字をメモリ内で検索すればその周辺にキャラデータもあるんじゃね?とアタリをつけたら思いのほかうまくいったというw

      > 2000年頃のオリエント工業さんのサイトで使われてた気がします

      なにィ!我々がY2K問題で必死にパッチ作っていた頃すでに実現していたとは…さすがオリエント…。

      AIフレーム補間についてはちょうどぼくも考えていたので早速次の記事にしてみました。
      https://zizi.edolls.net/frame-interpolation-for-lovedoll/
      [返信]
  • 肩の状態が思っているよりも悪そうですね

    ちょっと調べると鍼灸は意味ない……ステロイド注射……リンを摂らない食事は難しい……とか、なかなか厄介ですね

    うちの親が絵描きで強烈な肩凝り? で、僕が子どものころ「腕を切り落としたいくらい痛い」って言ってたの思い出しましたよ

    ステロイド注射でカルシウム溶かして「はい、治った」とはいかないのですね〜、辛ひ……

    クルクル360度、見たい客側はたくさんおられると思います! メーカー(ブランド)もやってみたいとこ多いんじゃないですかね?

    代理店側はう〜ん……イメージイラストのような美麗な宣材写真でリビドーの背中を押して買わせたいので、360度クルクルで詳細がわかると
    「よし、コレだ! 買おう」
    と思う人と
    「よく見たらやっぱり思てんのとちゃうわ」
    で、買うのやめちゃう人がいるので売り上げアップにならない気がします

    それにせっかく用意しても、そこまで詳しく見る人は他所の代理店も見てまわってるでしょうし、A代理店で360度クルクルを見て安いB代理店で買う……とかされそうですし……

    メーカーが用意するのが一番良さそうですね
    [返信]
    • もう3か月近く整形外科へ通っているのですが、リハビリのやり方を教えてくれるだけで、それだとYouTube見てるのと変わらないのでw もう通うのやめようかなーと思うちょります。

      そうそう、メーカーが用意してくれるのが一番なのですが、最近ラブドールDBをごりごり編集してて思ったのが………公式サイトが見当たらないブランド多すぎ問題。
      もしかしてメーカーとショップという区分けではなく、1)工場 2)力のあるショップ 3)ただの代理店(ショップ)という図式なのではないかと妄想してしまいます。

      まぁどっちでも良いので、ぐるっとひとまわり見られる写真を用意してほしいですねー。

      出荷時の写真を各ユーザーに送っているくらいなのだから、いっそライブカメラ設置するとか、そういう方向も面白そう。ピザ屋の出前サイトでそんなのありましたよね。注文したら、作業風景が映し出されるみたいな。あれ、あれはただの録画した動画なんだっけw なんにしてもはじめて見たときはちょっと感動しました。
      [返信]

新しいコメントを投稿する

[新規投稿]
 
TOP