アバター作成をして、イラストに変換してみる。

皆さん、こんにちは。

今回は、アバター作成をして、ジェネレーターサイトでAIイラストにしてみます。

ジェネレーターサイトでAI加工した参考画像です。

作業としては、割と簡単なのですが、少し意識しておくと無駄が無いですし、出来上がりも良いと感じます。大まかには、VRoidstudioで、イラスト化する為の人形を作成して、VRM ポージングデスクトップというアプリで、ポーズを付けます。最後は Fotor と言うジェネレーターサイトでAI加工したら、完成です。

サイトでイラスト化をする際に、やり易い(結果が出やすい)形だと良いのですが、写真からですと、上手く行かない事も有りそうです。その辺りを、VRoidstudioで、イラスト化し易い物に作っていけば、お気に入りのイラストが出来上がります。

合わせまして、AIイラスト化は、顔が小さい程、精度が下がる傾向に有る様です。例えば、腰から上の元画像でイラスト化しようとすると、場合によっては、指の数がちょっとおかしかったり、腕がおかしな方向から出ていたりしました。進化の過程ですから、後々には、もっと良くなると思いますが、今は、大体、胸から上の元画像で考えて行くと、無駄が無い気がします。

何回でもやり直す事が可能ですが、クレジットも消費していきます。出来れば、1回で出来ると有難いですね^^。

では、最初に元になるアバター作成をしていきます。アバター自体は、VRoidstudioで作っていきますが、衣装アイテムの点数はそんなに多くなないのです。AIイラスト化する際に、アバター自身のコーディネーターをコピーして貰えるかと言えば、それは難しい感じなので何を着せても良いのですが、せっかく作るので、少しこの形に仕上げていきたいですね!

そんな時に、BOOTHと言うアイテムの配布・販売をしているサイトが有ります。沢山の方が投稿していて、VRoid Studioの通販・ダウンロード商品は20892件ありますと書かれていました。(2024,5,2現在)

無料配布(今回利用のアイテムも有りがたい無料配布でした)のアイテムも、結構ありますから、ウィンドショッピングがてらに見に行くのも楽しいですよ!

上記のアドレスは、上部の検索窓にVRoidstudioの文字が入っていますので、VRoidstudioで使用出来るアイテムしか検索しませんので、ご注意ください。

見つけたアイテムは此方です。新着で検索して最初の方に出て来ましたので、新しいアイテムだと思います。無料が嬉しいですね^^。

今回は、左側のコーディネートでやって見ます。着用方法は、販売者さん其々のアイテムで違いますので、ファイルをダウンロードする時に、配布ページの使用方法も見ておくと、作業が進みやすいと思います。

それと、VRoidstudioを開いてみると、アップデートが来てました。アプリがSteam扱いになったので自動アップデートしてくれるのも嬉しいです。以前は、自分でやらなくてはいけなかったので、お知らせを気が付かないと、いつまでもアップデートを忘れていたりして…💦。

顔や髪など必ず使用する部分のアップデートなので、嬉しいですね^^。

では、始めてみます。

お顔に関しては、どんどんお好みで進められたら良いと思います。瞳のアイテムもプリセット(最初から付いているアイテム)が多くなりましたから、選ぶのが楽しいと思います。

今回は、瞳・髪型共に新しいアイテムを使ってみました。

次は、衣装アイテムです。この作家さんは、非常に丁寧な方で、ワンタッチ着用が可能な.vroidcustomitem形式と、一つづつ着用するテクスチャーが入っていました。

これで、無料なんて、とても有難いですね!販売ページにも有る様に、沢山のコーディネートが楽しめるアイテムですので、ファイル数も沢山になっています。今回は、簡単着用の.vroidcustomitem形式で、バリエーションの多い形なので、そこの部分をやって見ます。

カスタムアイテム形式は、どのページからでも③カスタムの表示が出ていれば着用可能です。しかしながら、今回の様に、色替え等の調整が必要ですと、そのアイテムのページに移動が必要ですので、移動してから始めてみます。

上段の①衣装、左の②トップスと進みます。③カスタムをクリックすると、④インポートが出ますので、先程、ダウンロードしたファイルから、.vroidcustomitem形式のファイルを選択して下さい。

最初に見えるファイル3枚がロングスカートのセットで、もう一つのファイルがミニスカートのセットです。ダウンロードしたファイルの中に、.vroid形式の物が有りますが、此方は、アバター込みのデーターになっています。サクッと使う時に便利ですし、アバターを呼び出して、使用アイテムをコピーしたら、自分のアバターに転用も出来ます。

着用が出来たら、⑤テクスチャを編集をクリックします。今回は、スカート(ボトムズ)のページでやって見ます。ページが切り替わって、左のテクスチャを見ますと、沢山のカラーが並んでいます。

の部分を、少し注意して見ますと、👁マークに濃淡があるのが分かります。色の薄いのが、現在出ているカラーで、色の濃い物が見えていません(2個以上見えている状態の場合は、上側が優先されます)。この決まりを使いながら、自分の希望するカラーに変更していきます。

それと、作業が進んでいくと、変更の保存を聞かれますが、例えば、顔が出来た時とか、切りの良い所では、アバターを保存しておく方が、作業が無駄にならないと思います^^。これで、先ず女性アバターが出来ました、次は、男性をやって見ます。

今回、ご案内したいアイテムは此方です。

此方のショップさんは、スニーカーしか扱っていません。ですから、カラーバリエーションも豊富で、しかも無料配布のアイテムも有って、新作も出ていますので、時間が有る時に覗いています。今回は、男性に着用したのですが、嬉しい無料配布のかわいい感じのモデルにしてみました。

作業は、先程と同じ感じで進めて行きます。スニーカーの所も、簡単着用の.vroidcustomitem形式なので、①上段の衣装から、②左の靴、③カスタムを選択して、④インポートして下さい。

今回のアップデートで、男性用のヘアースタイルが大分増えました。BOOTH含めてなのですが、やっぱり女性アイテムが多くて、特にヘアースタイルは男性用がバリエーションも少なかったのです><。

今回の髪型も男性用(男女兼用かな?)の新しい髪型です。

これで出来たなと思ったら、右上のから、VRMエクスポートで保存して保存してください。此処で、保存する事で、これから後、VRM ポージングデスクトップでポーズを付ける事が出来る様になります。

作業を進めて行きますと、ポーズを付ける作業は結構面倒です。出来るだけ、簡単に進める為にアバターの身長は有る程度、同じにしておくと良いと思います。成人男女、幼年男女位の感じで統一しておくとポーズの流用が簡単です。いつも細かく変えていますと、前のポーズを流用する際に、調整が必要になるケースが有ります。

では、次はVRM ポージングデスクトップでポーズを付けて行きます。

正直、アバター作成は、あくまで人形作りで、例えば、いい感じの衣装アイテムを着けても、AIイラスト化では表現されないケースが多いと感じます。しかしながら、ポーズはしっかりと反映されている事が多いので、細かい作業が必要です。

余り複雑なポーズは、上手く行かない(おかしな表現になってしまう事、例えば、有りえない方向に手が曲がったり、指の数がおかしくなったり…)事も有るので、シンプルで分かり易いポーズを付けてやる事が、AIイラスト化が上手く行くコツの様に感じています。

ここで、ポーズを付ける方法について、少し書きます。

①voidostudioでつける。操り人形にポーズを付ける様な感じのIkスタイル。肘・膝に操作点が無いので、少し癖が有って、難しいかもしれない。1人だけしかポーズを付ける事が出来ない。

②Vピクでポーズを付ける。voidoHubでも販売しているポーズアプリ。基本は、無料で利用可能。二人以上のアバター同時ポーズ付けが出来るが、ワンタッチで付ける事が出来るポーズが圧倒的に少ない。

ポーズスキャナーと言う機能もあるが、余り上手く行かない感じがした。

③VRM ポージングデスクトップでポーズを付ける。ポーズアプリの中で唯一有料(Stramで現在1400円の買い切り)Stramワークショップ内に、ワンタッチで付ける事ができるポーズが、本日現在1171個有り、増殖中である。

この、ワークショップ内のポーズファイルが凄く魅了的で、このアプルを使っています。すこし前までは、きちんとチュートリアルも有るVピクをお勧めしていたのですが、voidostudioにポーズの保存機能が付いて、BOOTH内でも無料のポーズ配布が沢山見られる様になって、Vピクに魅力が少なくなりました。

今回、利用させて頂いたのが、カップルポーズの此方です。

余談では有りますが、VRM ポージングデスクトップ内でも、Stram ワークショップ内のポーズファイルを見れる様になっています。しかしながら、日々、ポーズファイルは増えていて、Steam内ですと、割とスムーズに閲覧できますが、アプリ内ですとかなり時間が掛かるのと、ポーズのプレビューも小さくて分かり難いです。ポーズを探すならSteam内で探すのがお勧めです。

ポーズを付けて、画像にしてジェネレーターサイトでAIイラスト加工してをやっていますと、いくつか方向が見えてみました。出来上がった画像に出来るだけ近い感じで、そして少ない枚数(何回でもクレジットを消費してやり直しが可能な為)イラスト化にするには…。

①一人ポーズなら、何とか全身でも大丈夫だが、上手く行かない事もある。安全なのは、大体、腰から上ぐらいのポーズが良い。

②ふたりポーズは、バストより上ぐらいなら、作ったアバターに近い形で出来上がる。

③もし、それより沢山のアバターで作る場合は、そのサイトで背景を切り抜くが出来るので、それで合わせた方が良いかもです。

④アバターの輪郭がはっきりしない場合は、VRM ポージングデスクトップで少しはっきりさせる方が結果が良い。

その辺りを踏まえて、今回やって見ました。

変換にも、、少し癖が有ってアニメ化の場合には、髪色とかは、いい感じで表現しますが、どうしてもこまかい部分(特に腕と指先)が上手く行かない事が多いので、出来れば、そこは無い感じの表現だと問題なさそうです。イラスト化になると胸から上ぐらいは、割と細かい部分も表現しますが、色調の関係は、好みが分かれるかもですね^^。

画像編集ソフト(例えばPhotoshop等)でも初期に比べると、大きく進化しています。始まったばかりのAIイラスト化なので、どの辺りが皆さんに求められているか、まだ、分かりませんし進化の途中だと思います。

それでも、全然イラストが描けない人でも、自分が思った形にイラストに出来るのは楽しいと思いますし、ポーズアプリが有料なので、そこが悩みどころかもしれませんが、最初は、voidostudio内で、簡単なポーズでも良いと思います。

お暇な時間を見つけて、チャレンジしてみて下さい。自分の作ったアバターが良い感じのイラストになったら、結構楽しいですよ!

皆さんのアバター作成、イラスト加工の一助になれば幸いです。

おつかれさまでした。

コメント

");const o=ie?ie.createHTML(e):e;if(nt===tt)try{t=(new W).parseFromString(o,at)}catch(e){}if(!t||!t.documentElement){t=le.createDocument(nt,"template",null);try{t.documentElement.innerHTML=ot?ae:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),nt===tt?ue.call(t,Ie?"html":"body")[0]:Ie?t.documentElement:i},bt=function(e){return ce.call(e.ownerDocument||e,e,H.SHOW_ELEMENT|H.SHOW_COMMENT|H.SHOW_TEXT|H.SHOW_PROCESSING_INSTRUCTION|H.SHOW_CDATA_SECTION,null)},St=function(e){return e instanceof B&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof z)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Rt=function(e){return"function"==typeof b&&e instanceof b},wt=function(e,t,n){pe[e]&&u(pe[e],(e=>{e.call(o,t,n,ut)}))},Ct=function(e){let t=null;if(wt("beforeSanitizeElements",e,null),St(e))return _t(e),!0;const n=st(e.nodeName);if(wt("uponSanitizeElement",e,{tagName:n,allowedTags:Ne}),e.hasChildNodes()&&!Rt(e.firstElementChild)&&_(/<[/\w]/g,e.innerHTML)&&_(/<[/\w]/g,e.textContent))return _t(e),!0;if(e.nodeType===J)return _t(e),!0;if(Me&&e.nodeType===Q&&_(/<[/\w]/g,e.data))return _t(e),!0;if(!Ne[n]||Ce[n]){if(!Ce[n]&&Dt(n)){if(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,n))return!1;if(we.tagNameCheck instanceof Function&&we.tagNameCheck(n))return!1}if(Ye&&!qe[n]){const t=re(e)||e.parentNode,n=oe(e)||e.childNodes;if(n&&t){for(let o=n.length-1;o>=0;--o){const r=X(n[o],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,$(e))}}}return _t(e),!0}return e instanceof R&&!Et(e)?(_t(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!_(/<\/no(script|embed|frames)/i,e.innerHTML)?(ke&&e.nodeType===Z&&(t=e.textContent,u([fe,de,he],(e=>{t=g(t,e," ")})),e.textContent!==t&&(p(o.removed,{element:e.cloneNode()}),e.textContent=t)),wt("afterSanitizeElements",e,null),!1):(_t(e),!0)},Lt=function(e,t,n){if(Be&&("id"===t||"name"===t)&&(n in r||n in mt))return!1;if(ve&&!Le[t]&&_(ge,t));else if(De&&_(Te,t));else if(!Se[t]||Le[t]){if(!(Dt(e)&&(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,e)||we.tagNameCheck instanceof Function&&we.tagNameCheck(e))&&(we.attributeNameCheck instanceof RegExp&&_(we.attributeNameCheck,t)||we.attributeNameCheck instanceof Function&&we.attributeNameCheck(t))||"is"===t&&we.allowCustomizedBuiltInElements&&(we.tagNameCheck instanceof RegExp&&_(we.tagNameCheck,n)||we.tagNameCheck instanceof Function&&we.tagNameCheck(n))))return!1}else if(Ze[t]);else if(_(Ae,g(n,Ee,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==T(n,"data:")||!Ke[e]){if(Oe&&!_(ye,g(n,Ee,"")));else if(n)return!1}return!0},Dt=function(e){return"annotation-xml"!==e&&h(e,_e)},vt=function(e){wt("beforeSanitizeAttributes",e,null);const{attributes:t}=e;if(!t)return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Se};let r=t.length;for(;r--;){const i=t[r],{name:a,namespaceURI:l,value:c}=i,s=st(a);let p="value"===a?c:y(c);if(n.attrName=s,n.attrValue=p,n.keepAttr=!0,n.forceKeepAttr=void 0,wt("uponSanitizeAttribute",e,n),p=n.attrValue,n.forceKeepAttr)continue;if(At(a,e),!n.keepAttr)continue;if(!xe&&_(/\/>/i,p)){At(a,e);continue}if(Me&&_(/((--!?|])>)|<\/(style|title)/i,p)){At(a,e);continue}ke&&u([fe,de,he],(e=>{p=g(p,e," ")}));const f=st(e.nodeName);if(Lt(f,s,p)){if(!We||"id"!==s&&"name"!==s||(At(a,e),p=Ge+p),ie&&"object"==typeof G&&"function"==typeof G.getAttributeType)if(l);else switch(G.getAttributeType(f,s)){case"TrustedHTML":p=ie.createHTML(p);break;case"TrustedScriptURL":p=ie.createScriptURL(p)}try{l?e.setAttributeNS(l,a,p):e.setAttribute(a,p),St(e)?_t(e):m(o.removed)}catch(e){}}}wt("afterSanitizeAttributes",e,null)},Ot=function e(t){let n=null;const o=bt(t);for(wt("beforeSanitizeShadowDOM",t,null);n=o.nextNode();)wt("uponSanitizeShadowNode",n,null),Ct(n)||(n.content instanceof s&&e(n.content),vt(n));wt("afterSanitizeShadowDOM",t,null)};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,i=null,l=null;if(ot=!e,ot&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Rt(e)){if("function"!=typeof e.toString)throw A("toString is not a function");if("string"!=typeof(e=e.toString()))throw A("dirty is not a string, aborting")}if(!o.isSupported)return e;if(Ue||ft(t),o.removed=[],"string"==typeof e&&(je=!1),je){if(e.nodeName){const t=st(e.nodeName);if(!Ne[t]||Ce[t])throw A("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof b)n=Nt("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===V&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r);else{if(!Fe&&!ke&&!Ie&&-1===e.indexOf("<"))return ie&&ze?ie.createHTML(e):e;if(n=Nt(e),!n)return Fe?null:ze?ae:""}n&&Pe&&_t(n.firstChild);const c=bt(je?e:n);for(;i=c.nextNode();)Ct(i)||(i.content instanceof s&&Ot(i.content),vt(i));if(je)return e;if(Fe){if(He)for(l=se.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(Se.shadowroot||Se.shadowrootmode)&&(l=me.call(a,l,!0)),l}let m=Ie?n.outerHTML:n.innerHTML;return Ie&&Ne["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&_(q,n.ownerDocument.doctype.name)&&(m="\n"+m),ke&&u([fe,de,he],(e=>{m=g(m,e," ")})),ie&&ze?ie.createHTML(m):m},o.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ft(e),Ue=!0},o.clearConfig=function(){ut=null,Ue=!1},o.isValidAttribute=function(e,t,n){ut||ft({});const o=st(e),r=st(t);return Lt(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&(pe[e]=pe[e]||[],p(pe[e],t))},o.removeHook=function(e){if(pe[e])return m(pe[e])},o.removeHooks=function(e){pe[e]&&(pe[e]=[])},o.removeAllHooks=function(){pe={}},o}();return oe}))
タイトルとURLをコピーしました