カボチャ祭りが終わってしもうた。
お祭りが終わると寂しいね。
ちょっと寒くなってきたからなおのこと。
「寂しい」の語源は「寒い」らしいしね。
最初の写真はハントの地図と賞品のAD。
なーんか右上に残念なのありませんか?
これね。
ほんと、もらってくれた人にはありがとうと言いたいです。
遊んでくれたかなー? ちょっと傷んだ人の作品ぽいけど。
数えたら188人がもらっていってくれました!
すごいよね、数。
遊んでくれるだろうという願いを込めて。
どうやって作ったんだという嘲笑を浴びるために。
ひととおり手順を公開したいと思っています。
まず。
このカボチャのとこにあったのよという思い出SS。
いいか。
さてさて。
まーだBlender2.79で作ってたんですね。
これ、帽子と胴体のマテリアルを分けてる図。
帽子は青。胴体はピンク? 紫?
まず帽子。
これ見ながら作ったと思う。
なんかね。モディファイアとかよくわかってなくて
こりゃ灯台下暗しだよなーと思って作った記憶。
で胴体。
これはクロスシミュレーションというナマイキなのを使いました。
文字でちゃっちゃと書いてしまいます。
まず縦に長い球体を出してその上に両面を張った四角いメッシュを
落として(たしかゴムにしたかな?)布がクシャッとなるような
作業をしてあたかも中になんか入ってるようにしました。
四角いメッシュはいくつかに面を細分化するんですね。
そのほうがより布っぽくクシャッとなる。
古い記事かもかもですがここらあたりが参考になると思われ。
で。
色塗りは毎度のサブペなので省略するとして
これをどーやってあーやって動かしたかについて。
どう動くのか動画つくらない。
もらってくれた人へのプレゼントですからね。
どーしても気になるということなら
この記事の情報から再現するとよいわけで。
覚えちゃいますよいろいろ。
さて。
まずは大まかな構造。
ゴーストくんはアニメッシュで動きます。
SecondLifeのアニメッシュとはなんぞや?
雑に書くと人間の動きをモノがやりますよという感じ。
SecondLifeのアバターはほぼアニメで動いています。
これをオブジェクトに適応しちゃおうじゃないの
というのがアニメッシュだと把握してます。
ゴーストくんにリグを入れて動かしました。
が。
どうもうまくリグが入らず。
したがってウエイトもうまく塗れず。
ただゆらゆらーっと動くだけになっちゃった。
もうちょっとスソをひらひらとか考えたんですが。
まだリグ入れがうまくいかない。
別件でAVASTARのDiscordに入って
(Avastarのインワのグループに入れば招待される)
「なんででしょう?」と聞いたら
「あなたのそれはバグねー。2.8のAvastar作ってて
たぶんそっちで直ってるから待っててねー」
とぶん投げられました。
脱線。
とにかくゆらゆら動くゴーストくんにはなりました。
これを動かすのにもアニメを作って
アニメを制御するスクリプトを入れないといけない。
安定してるなーと思っているスクリプトはこちら。
まるっと使わせていただきましたm(_ _)m。
そして。
ゴーストの設計なんですが
0.ゴーストを装着してもらう。
1.ゴーストを触ると不気味な音楽が鳴る。
2.ゴーストが「Goast」という名前で喋る。
3.ゴーストが笑ってバーンと狂った速さで一緒に上昇する。
4.適当なところでゴースト消える(インベントリには残る)。
5.アバターさんすっげー高さから自由落下させられる。
こんな感じ。
こちらの画像を見ていただきましょう。
SecondLife慣れしてる人にはおなじみの
透明なものを赤く表示させてます。
四角い箱を子プリムにして
こちらにゴーストを制御するスクリプトを入れています。
見る人みればかなりの力業と思われると察せられ。
最初のほうで装着したときに動く力を0にして
スクリプト(この小さなプログラム)をリセットしてます。
で、次が1.〜3.4.の途中までの台本みたいなものを書いていってます。
最後の"llMessageLinked();"ってとこで
ゴーストの中に入れているもうひとつのスクリプトに指令を飛ばしています。
それがコチラ。
「ん? たいしたこと書いてないのになんでメイン?」
と思われるかもしれません。
でも大事なのよこれ。
上からこれを装着せずにポンと地面に置いた場合。
想像してください。
バーンとゴーストだけ飛んでいったら困ります。
SIMオーナーもしくはリンデンさんに叱られます。
ですので地面に置いた(SecondLifeではRez"レズ"するといいます)場合
2秒でゴースト自体消滅するようにしています。
次にゴーストの中に入ってるスクリプトが出す命令を
許可してくださいねという文章が入っていて
そのあと"link_message( )"以下で
先のスクリプトの台本が終わったことを
受けているんです。
でアバターからゴーストがデタッチ(装着から外れる)される
という塩梅。
これね。
ひとつのスクリプトにまとめる方法ぜったいあると思うんです。
できない。スクリプターじゃないもの(何回目だ書くの)。
「動いてるからいいや」なんですが
まず先に書いた「Rezしちゃったらどうすんのさ?」を
ぽっかり忘れててあわてて調整したんですね。
で。
バーンて飛んで不愉快になって自分で外した場合。
台本途中ですからまた身につけると
途中から始まっちゃってワケワカランことになる。
これ直してない。
ワシの限界。
そんなわけでどんなわけかわからぬまま前編の反省。
ちゃんと仕様をまとめてあらゆることを想定しましょう。
想定というなら「ハロウィンなんだから」
もっとカワイイものを作りましょう。
うん。無理なんだけどね。わかんないから。カワイイって。
でも頑張らないといけないのよ。
そんなわけで後編にたぶん続きます。
⇒TAXY RosalitaJunkYard
お祭りが終わると寂しいね。
ちょっと寒くなってきたからなおのこと。
「寂しい」の語源は「寒い」らしいしね。
最初の写真はハントの地図と賞品のAD。
なーんか右上に残念なのありませんか?
これね。
ほんと、もらってくれた人にはありがとうと言いたいです。
遊んでくれたかなー? ちょっと傷んだ人の作品ぽいけど。
数えたら188人がもらっていってくれました!
すごいよね、数。
遊んでくれるだろうという願いを込めて。
どうやって作ったんだという嘲笑を浴びるために。
ひととおり手順を公開したいと思っています。
まず。
このカボチャのとこにあったのよという思い出SS。
いいか。
さてさて。
まーだBlender2.79で作ってたんですね。
これ、帽子と胴体のマテリアルを分けてる図。
帽子は青。胴体はピンク? 紫?
まず帽子。
なんかね。モディファイアとかよくわかってなくて
こりゃ灯台下暗しだよなーと思って作った記憶。
で胴体。
これはクロスシミュレーションというナマイキなのを使いました。
文字でちゃっちゃと書いてしまいます。
まず縦に長い球体を出してその上に両面を張った四角いメッシュを
落として(たしかゴムにしたかな?)布がクシャッとなるような
作業をしてあたかも中になんか入ってるようにしました。
四角いメッシュはいくつかに面を細分化するんですね。
そのほうがより布っぽくクシャッとなる。
古い記事かもかもですがここらあたりが参考になると思われ。
で。
色塗りは毎度のサブペなので省略するとして
これをどーやってあーやって動かしたかについて。
どう動くのか動画つくらない。
もらってくれた人へのプレゼントですからね。
どーしても気になるということなら
この記事の情報から再現するとよいわけで。
覚えちゃいますよいろいろ。
さて。
まずは大まかな構造。
ゴーストくんはアニメッシュで動きます。
SecondLifeのアニメッシュとはなんぞや?
雑に書くと人間の動きをモノがやりますよという感じ。
SecondLifeのアバターはほぼアニメで動いています。
これをオブジェクトに適応しちゃおうじゃないの
というのがアニメッシュだと把握してます。
ゴーストくんにリグを入れて動かしました。
が。
どうもうまくリグが入らず。
したがってウエイトもうまく塗れず。
ただゆらゆらーっと動くだけになっちゃった。
もうちょっとスソをひらひらとか考えたんですが。
まだリグ入れがうまくいかない。
別件でAVASTARのDiscordに入って
(Avastarのインワのグループに入れば招待される)
「なんででしょう?」と聞いたら
「あなたのそれはバグねー。2.8のAvastar作ってて
たぶんそっちで直ってるから待っててねー」
とぶん投げられました。
脱線。
とにかくゆらゆら動くゴーストくんにはなりました。
これを動かすのにもアニメを作って
アニメを制御するスクリプトを入れないといけない。
安定してるなーと思っているスクリプトはこちら。
まるっと使わせていただきましたm(_ _)m。
そして。
ゴーストの設計なんですが
0.ゴーストを装着してもらう。
1.ゴーストを触ると不気味な音楽が鳴る。
2.ゴーストが「Goast」という名前で喋る。
3.ゴーストが笑ってバーンと狂った速さで一緒に上昇する。
4.適当なところでゴースト消える(インベントリには残る)。
5.アバターさんすっげー高さから自由落下させられる。
こんな感じ。
こちらの画像を見ていただきましょう。
SecondLife慣れしてる人にはおなじみの
透明なものを赤く表示させてます。
四角い箱を子プリムにして
こちらにゴーストを制御するスクリプトを入れています。
default
{
state_entry()
{
}
attach(key id)
{
if(id)
{
llSetBuoyancy(0.0);
llResetScript();
}
else
{
llSetBuoyancy(0.0);
llResetScript();
}
}
touch_start(integer total_number){
llRequestPermissions(llDetectedKey(0),PERMISSION_ATTACH);
if (llDetectedKey(0) == llGetOwner()) {
llSetObjectName("Ghost");
llSetStatus(STATUS_PHYSICS, TRUE);
llPlaySound("8bit01",1.0);
llOwnerSay("連れていくよ。I'll take far away...");
llSleep(3.0);
llOwnerSay("3つ数えなさい。Count 3.");
llSleep(3.0);
llOwnerSay("3");
llSleep(1.0);
llOwnerSay("2");
llSleep(1.0);
llOwnerSay("1");
llSleep(1.0);
llOwnerSay("0");
llSetBuoyancy(3.0);
llSleep(10.0);
llOwnerSay("慌ててるね。じゃあ消えるよ。 Oh...You afraid. I'll detach from you.");
llSleep(1.0);
llPlaySound("3_ahhahha",1.0);
llSetObjectName("[D-Ros.]GoastHand(AttachOnly)");
llSleep(6.5);
llMessageLinked(LINK_ALL_OTHERS, 0, "touched", NULL_KEY);
}
}
}
なんのコッチャでしょうけど
見る人みればかなりの力業と思われると察せられ。
最初のほうで装着したときに動く力を0にして
スクリプト(この小さなプログラム)をリセットしてます。
で、次が1.〜3.4.の途中までの台本みたいなものを書いていってます。
最後の"llMessageLinked();"ってとこで
ゴーストの中に入れているもうひとつのスクリプトに指令を飛ばしています。
それがコチラ。
defaultつかコチラがメインのスクリプトになります。
{
on_rez(integer start_param)
{
llSleep(2.0);
llDie();
}
attach(key AvatarKey)
{
if(AvatarKey)
{
llRequestPermissions(AvatarKey, PERMISSION_ATTACH );
}
}
link_message(integer sender_num, integer num, string str, key id)
{
if (str == "touched")
{
llDetachFromAvatar( );
}
}
}
「ん? たいしたこと書いてないのになんでメイン?」
と思われるかもしれません。
でも大事なのよこれ。
上からこれを装着せずにポンと地面に置いた場合。
想像してください。
バーンとゴーストだけ飛んでいったら困ります。
SIMオーナーもしくはリンデンさんに叱られます。
ですので地面に置いた(SecondLifeではRez"レズ"するといいます)場合
2秒でゴースト自体消滅するようにしています。
次にゴーストの中に入ってるスクリプトが出す命令を
許可してくださいねという文章が入っていて
そのあと"link_message( )"以下で
先のスクリプトの台本が終わったことを
受けているんです。
でアバターからゴーストがデタッチ(装着から外れる)される
という塩梅。
これね。
ひとつのスクリプトにまとめる方法ぜったいあると思うんです。
できない。スクリプターじゃないもの(何回目だ書くの)。
「動いてるからいいや」なんですが
まず先に書いた「Rezしちゃったらどうすんのさ?」を
ぽっかり忘れててあわてて調整したんですね。
で。
バーンて飛んで不愉快になって自分で外した場合。
台本途中ですからまた身につけると
途中から始まっちゃってワケワカランことになる。
これ直してない。
ワシの限界。
そんなわけでどんなわけかわからぬまま前編の反省。
ちゃんと仕様をまとめてあらゆることを想定しましょう。
想定というなら「ハロウィンなんだから」
もっとカワイイものを作りましょう。
うん。無理なんだけどね。わかんないから。カワイイって。
でも頑張らないといけないのよ。
そんなわけで後編にたぶん続きます。
⇒TAXY RosalitaJunkYard