SecondLifeの気ままライフ
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
世界的に見るとユーザー数は減っているとは全く感じない
日本人のほうは確実に減少しているようだ
極東のちっこい島国のユーザー数がどうなろうが私的にはどうでもいいことだけどね
一度ダメ出しの烙印を押されると再浮上はかなりキツイし日本で再び注目されることはないだろう
システム的にもいろいろと改良されているようだがいつまで経ってもサクサク快適でラグも低い状態とはほど遠い部分もダメ要素なんだよな~
どんな理由があるにしろその時期の他のMMO系と比較されることは避けられない
よほどヘボなサービス提供側でない限り大抵はSLより綺麗で快適な仮想空間を提供してくる
すでにSL経験者には関係ないがこれからSL始める人の前にそのような関門があるのだ
さて自分の見た目でインワールド内の状況はどんなカンジかというと
以前にも増してシムの数が増えている
半端じゃないぐらい増えている
単純に安価な環境シムが爆発したと思えるのだがノーマルのシムでも環境シムでも1つのシムは1つのシムとして区別無く地図に載る
ユーザー数はあんまり変化してないように感じるから以前でさえ低い人口密度がさらに低くなったように感じた
日本に目を向けてみると
やはりユーザー数減っているのが目立つ
有名レンタル企業のシム群の縮小
その縮小した規模でも空き区画が一目でわかるほどのひどい有り様だ
人のほうに目を向けると
新規の人はそれなりには居るようですね
ただ登録日が新しい=新規ではない
以前のアカウントのパスを忘れた復帰組が新規アカウントを使っているケースのほうが完全な新規さんよりも多いようだ
んで
継続ユーザーのほうを見た感じの感想は
集団のほうは
以前は田舎の集落のようだったが
ド田舎の集落に変わったように感じた
変化を好まずよそ者は歓迎せずな非活性の感じといえば理解しやすいか
個人継続ユーザーのほうは
SLとは付かず離れず一定距離を保ったプレイスタイルに変化する人が多いようだ
今の私がこのスタイルになるのかな
ま
私の目から見た今のSLはこんな感じに映った
-----------------------------------
最近SLで何してるのかは
ヒマツブシ散歩とリアルお仕事の補助道具として使っている
散歩はそのままインワールドの散策
お仕事の補助道具の使い道は~
わかり易く説明すると例えば動く機械の模型造り
積み木のプリムとスクリプトで程度は低いがCG動画を簡単に造れるあたりがSLの便利なところでヘタに3DCADやCG専用ソフトで造るより簡単だし
遠くにいる相手にもログインしてもらえばその場で同じモノ見ながらあ~だこ~だできるし
それは他のツールじゃできないからSLって改めて便利だなと思ったりした
とまぁこんなカンジ
日本人のほうは確実に減少しているようだ
極東のちっこい島国のユーザー数がどうなろうが私的にはどうでもいいことだけどね
一度ダメ出しの烙印を押されると再浮上はかなりキツイし日本で再び注目されることはないだろう
システム的にもいろいろと改良されているようだがいつまで経ってもサクサク快適でラグも低い状態とはほど遠い部分もダメ要素なんだよな~
どんな理由があるにしろその時期の他のMMO系と比較されることは避けられない
よほどヘボなサービス提供側でない限り大抵はSLより綺麗で快適な仮想空間を提供してくる
すでにSL経験者には関係ないがこれからSL始める人の前にそのような関門があるのだ
さて自分の見た目でインワールド内の状況はどんなカンジかというと
以前にも増してシムの数が増えている
半端じゃないぐらい増えている
単純に安価な環境シムが爆発したと思えるのだがノーマルのシムでも環境シムでも1つのシムは1つのシムとして区別無く地図に載る
ユーザー数はあんまり変化してないように感じるから以前でさえ低い人口密度がさらに低くなったように感じた
日本に目を向けてみると
やはりユーザー数減っているのが目立つ
有名レンタル企業のシム群の縮小
その縮小した規模でも空き区画が一目でわかるほどのひどい有り様だ
人のほうに目を向けると
新規の人はそれなりには居るようですね
ただ登録日が新しい=新規ではない
以前のアカウントのパスを忘れた復帰組が新規アカウントを使っているケースのほうが完全な新規さんよりも多いようだ
んで
継続ユーザーのほうを見た感じの感想は
集団のほうは
以前は田舎の集落のようだったが
ド田舎の集落に変わったように感じた
変化を好まずよそ者は歓迎せずな非活性の感じといえば理解しやすいか
個人継続ユーザーのほうは
SLとは付かず離れず一定距離を保ったプレイスタイルに変化する人が多いようだ
今の私がこのスタイルになるのかな
ま
私の目から見た今のSLはこんな感じに映った
-----------------------------------
最近SLで何してるのかは
ヒマツブシ散歩とリアルお仕事の補助道具として使っている
散歩はそのままインワールドの散策
お仕事の補助道具の使い道は~
わかり易く説明すると例えば動く機械の模型造り
積み木のプリムとスクリプトで程度は低いがCG動画を簡単に造れるあたりがSLの便利なところでヘタに3DCADやCG専用ソフトで造るより簡単だし
遠くにいる相手にもログインしてもらえばその場で同じモノ見ながらあ~だこ~だできるし
それは他のツールじゃできないからSLって改めて便利だなと思ったりした
とまぁこんなカンジ
PR
SLプレイする時間無いわけではないのだけれど・・・・
ビューワー2にアップデートしてからどうにもインする気にならない
以前のビューワーに戻したいんだけれど
そこまで検索する気もいまいち起きないんだよな~
WindowsもさXPからVistaに変わったときすごく反感有った
やっぱさ
続編もののヒューマンインターフェイスをガラリと変えると気分も変わってくるものだ
たまにインしても扱い難さ故にカッタルくなってすぐにログアウトしてしまう
そろそろ辞める潮時なのかな~と思ってきた
まぁMMOなんて気が向いたら遊べばいいんだし引退とかって線引きしなくてもいいんだけどね
ビューワー2にアップデートしてからどうにもインする気にならない
以前のビューワーに戻したいんだけれど
そこまで検索する気もいまいち起きないんだよな~
WindowsもさXPからVistaに変わったときすごく反感有った
やっぱさ
続編もののヒューマンインターフェイスをガラリと変えると気分も変わってくるものだ
たまにインしても扱い難さ故にカッタルくなってすぐにログアウトしてしまう
そろそろ辞める潮時なのかな~と思ってきた
まぁMMOなんて気が向いたら遊べばいいんだし引退とかって線引きしなくてもいいんだけどね
integer number_of_FACE;
default
{
touch_start(integer total_number)
{
number_of_FACE = llDetectedTouchFace(0) ;
llSay(0, (string)number_of_FACE);
}
}
default
{
touch_start(integer total_number)
{
number_of_FACE = llDetectedTouchFace(0) ;
llSay(0, (string)number_of_FACE);
}
}
以前作成した1プリムで88音階弾けるキーボードの中身スクリプトの公開
私はプロではないから色々と見苦しいところはある
UUID(サウンドファイル)のリストは公開しないのでマスクしてます
以下のような感じ
float x=256;
float y=1.0;
float Vol;
integer Pos;
integer RePos;
integer SarchTone;
list Tuch_list=[
0,0,0,
1,1,1,
2,2,2,2,
3,
4,4,4,
5,
6,6,6,
7,7,7,7,
8,
9,9,9,
10,
11,11,11,
12,
13,13,13,
14,14,14,14,
15,
16,16,16,
17,
18,18,18,
19,19,19,19,
20,
21,21,21,
22,
23,23,23,
24,
25,25,25,
26,26,26,26,
27,
28,28,28,
29,
30,30,30,
31,31,31,31,
32,
33,33,33,
34,
35,35,35,
36,
37,37,37,
38,38,38,38,
39,
40,40,40,
41,
42,42,42,
43,43,43,43,
44,
45,45,45,
46,
47,47,47,
48,
49,49,49,
50,50,50,50,
51,
52,52,52,
53,
54,54,54,
55,55,55,55,
56,
57,57,57,
58,
59,59,59,
60,
61,61,61,
62,62,62,62,
63,
64,64,64,
65,
66,66,66,
67,67,67,67,
68,
69,69,69,
70,
71,71,71,
72,
73,73,73,
74,74,74,74,
75,
76,76,76,
77,
78,78,78,
79,79,79,79,
80,
81,81,81,
82,
83,83,83,
84,
85,85,85,
86,86,86,86,
87,
88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,
88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,
88,88,88,88
];
list Tone_list=[
"A0","5933feb1-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A0#","be78cc90-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B0","b72b9e7b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C1","26ed0f29-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C1#","76694637-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D1","0d881f97-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D1#","0e835aad-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E1","3a398b6b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F1","ab672f8e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F1#","f06340d9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G1","b1f87158-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G1#","f4775bf5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A1","7e15855c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A1#","ce43d232-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B1","fe473eab-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C2","c25a576f-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C2#","cd99b2f6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D2","cc10ee3d-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D2#","9c113876-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E2","ee9c4acd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F2","5b1c7dc5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F2#","6ec25e6e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G2","677ea950-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G2#","c2c99e3b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A2","eba2c7d5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A2#","a31099c6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B2","092a670a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C3","fa03cf47-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C3#","7f1f7866-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D3","f327e153-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D3#","39b4b3c9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E3","3c076f2a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F3","7e0704fc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F3#","e17f5504-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G3","2c51b725-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G3#","fbcbff5f-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A3","5dd2ea5c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A3#","62cae7e3-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B3","65624290-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C4","9699d668-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C4#","5b50bf02-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D4","0be195d5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D4#","64d64536-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E4","b99a4959-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F4","e439ca32-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F4#","a89cded2-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G4","9f04a14d-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G4#","31c5ed33-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A4","b00dd1ca-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A4#","b88f3a03-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B4","8b35edf8-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C5","f2b282ef-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C5#","0c3c70bd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D5","dbb56bae-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D5#","a8ca1900-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E5","326758ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F5","811e0c40-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F5#","c0fa3097-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G5","69ebb17e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G5#","376dc1fb-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A5","d911be21-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A5#","855b686c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B5","e47fe4bc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C6","7d7fe1b5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C6#","24a38737-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D6","6454b1ed-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D6#","df6af006-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E6","6f3b93ee-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F6","2a3898a9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F6#","451d4de5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G6","1d438104-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G6#","ee56b417-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A6","0530c909-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A6#","a11a4066-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B6","786d3aca-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C7","65476210-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C7#","2964dcd3-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D7","ec1568fc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D7#","c24faf67-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E7","66055e4a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F7","0ea810a7-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F7#","c233495e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G7","b62c53c2-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G7#","e2481d30-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A7","929068ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A7#","de213874-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B7","191b63ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C8","4b82c978-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"RR","4f559bb0-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
];
default{
state_entry()
{
Vol = 1.0 ;
}
touch_start(integer total_number)
{
RePos = 88;
}
touch(integer total_number)
{
vector pos = llDetectedTouchST(0);
Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
SarchTone = llList2Integer(Tuch_list,Pos);
if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;
}
}
とまぁこのようになっているのだ
ほとんどがリストデータばっかしw
default{~}がキーボードのメイン処理部分
そのまま使うコトはキーボードのスカルプUVMAPで作成したプリムと組み合わせないとヘンになるからムリ
でもこれから覚えたいかたの参考に少しでも役に立つならいいかな
解説
float x=256;
float y=1.0;
float Vol;
integer Pos;
integer RePos;
integer SarchTone;
変数の宣言と定義?だったかな
float は浮動小数点扱う
integer は整数
x=256 y=1 これはスカルプテッドプリムに合わせてここではこの数字で固定
Vol のほうはここでは数字固定しない
ここで固定しても良かったんだけど使いまわし応用のためw
Pos RePos は触った場所の位置を入れておくためのもの
SarchTone はタッチした位置でトーンリスト番号を示すためのもの
list Tuch_list=[
コイツはスカルプテッドプリムの面の位置を音階に変換するためのデータベース
list が宣言で Tuch_list がリストネーム
=[~~~~] が Tuch_list に入れる中身のデータとなるわけ
キーボードをスカルでいくつか種類造ったから応用しやすいように別置き
list Tone_list=[
こちらは音階とそれに対応したサウンドファイルのUUIDのリスト
ある意味心臓部分
UUIDを差し替えて別な音色にしやすいように敢えて別置きにしている
default{
ここから先がメインの処理部分になる
state_entry()
{
Vol = 1.0 ;
}
Vol サウンドファイルの音量の変数なんでこんな所で固定してるんだw
い~~の!
本来は音量コントロールするハズだったけど1プリキーボでムリだったから残骸w
別Verではきちんと音量コントロールできるようになってるw
touch_start(integer total_number)
{
RePos = 88;
}
プリムをクリックした時に実行することが書いてある
この場合だと RePos に 88 をセットしてくださいってことになる
ちなみに 88 は無音です
後述する touch(integer total_number) だけだとうまく機能しないので初めに
コレやっとかなければダメだったみたい
コレすごく悩んだっけな~
どうしてもわからなくてFさんに助けられたっけ
ありがとうFさん
touch(integer total_number)
{
vector pos = llDetectedTouchST(0);
Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
SarchTone = llList2Integer(Tuch_list,Pos);
if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;
}
ここはタッチ(クリック)し続けている(連打じゃないよ)時に実行することが
書いてある部分
vector pos = llDetectedTouchST(0);
vector は変数宣言で pos に DetectedTouchST の結果を格納する
Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
ちょっとややこしいけど vector pos から integer Pos に変換格納する式
SarchTone = llList2Integer(Tuch_list,Pos);
ここは Tuch_list から Pos の位置にあるデータを integer 形式で SarchTone
に格納するよう書いてある
if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;
ここが音を鳴らすメインの部分
RePos != SarchTone とは RePos と SarchTone が同じ値でない場合って意味
if(条件式)
{
条件式が正しい場合に実行される処理
}
条件式が正しくない場合に実行される式
この場合だとRePos と SarchToneが違った場合となるので正しい
逆に値が同じだった場合は != では正しくないになる
ややこしいけど if文 は touch(integer total_number) の中に入っている
そのためこのif文を入れないと同じ音が鳴り続けてしまうのだ
それを防止するためにタッチしている位置が同じ鍵盤上にある場合は連続して
音を出さないようにするための条件式を入れている
先にあった touch_start でわざわざ RePos に 88 を設定しているのは
RePos は最後に触っていた鍵盤の位置を格納しておくもので
touch の中に設定するとうまく機能しなくて例えば同じ鍵盤を連続してクリック
した場合に2回目以降のクリックで音が出なくなってしまう
そのため次のクリック時に無音リセットしているのだ
この記述だと左クリックしたままドラッグして鍵盤を移動させる演奏も可能になる
ちなみにこのスクリの重さは 0.02~0.03 すげぇ~軽いw
きょ~たさんの人魚神殿にて計測
おさらい終わりw
私はプロではないから色々と見苦しいところはある
UUID(サウンドファイル)のリストは公開しないのでマスクしてます
以下のような感じ
float x=256;
float y=1.0;
float Vol;
integer Pos;
integer RePos;
integer SarchTone;
list Tuch_list=[
0,0,0,
1,1,1,
2,2,2,2,
3,
4,4,4,
5,
6,6,6,
7,7,7,7,
8,
9,9,9,
10,
11,11,11,
12,
13,13,13,
14,14,14,14,
15,
16,16,16,
17,
18,18,18,
19,19,19,19,
20,
21,21,21,
22,
23,23,23,
24,
25,25,25,
26,26,26,26,
27,
28,28,28,
29,
30,30,30,
31,31,31,31,
32,
33,33,33,
34,
35,35,35,
36,
37,37,37,
38,38,38,38,
39,
40,40,40,
41,
42,42,42,
43,43,43,43,
44,
45,45,45,
46,
47,47,47,
48,
49,49,49,
50,50,50,50,
51,
52,52,52,
53,
54,54,54,
55,55,55,55,
56,
57,57,57,
58,
59,59,59,
60,
61,61,61,
62,62,62,62,
63,
64,64,64,
65,
66,66,66,
67,67,67,67,
68,
69,69,69,
70,
71,71,71,
72,
73,73,73,
74,74,74,74,
75,
76,76,76,
77,
78,78,78,
79,79,79,79,
80,
81,81,81,
82,
83,83,83,
84,
85,85,85,
86,86,86,86,
87,
88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,
88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,
88,88,88,88
];
list Tone_list=[
"A0","5933feb1-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A0#","be78cc90-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B0","b72b9e7b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C1","26ed0f29-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C1#","76694637-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D1","0d881f97-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D1#","0e835aad-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E1","3a398b6b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F1","ab672f8e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F1#","f06340d9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G1","b1f87158-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G1#","f4775bf5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A1","7e15855c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A1#","ce43d232-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B1","fe473eab-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C2","c25a576f-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C2#","cd99b2f6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D2","cc10ee3d-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D2#","9c113876-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E2","ee9c4acd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F2","5b1c7dc5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F2#","6ec25e6e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G2","677ea950-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G2#","c2c99e3b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A2","eba2c7d5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A2#","a31099c6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B2","092a670a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C3","fa03cf47-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C3#","7f1f7866-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D3","f327e153-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D3#","39b4b3c9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E3","3c076f2a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F3","7e0704fc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F3#","e17f5504-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G3","2c51b725-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G3#","fbcbff5f-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A3","5dd2ea5c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A3#","62cae7e3-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B3","65624290-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C4","9699d668-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C4#","5b50bf02-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D4","0be195d5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D4#","64d64536-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E4","b99a4959-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F4","e439ca32-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F4#","a89cded2-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G4","9f04a14d-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G4#","31c5ed33-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A4","b00dd1ca-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A4#","b88f3a03-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B4","8b35edf8-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C5","f2b282ef-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C5#","0c3c70bd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D5","dbb56bae-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D5#","a8ca1900-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E5","326758ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F5","811e0c40-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F5#","c0fa3097-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G5","69ebb17e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G5#","376dc1fb-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A5","d911be21-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A5#","855b686c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B5","e47fe4bc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C6","7d7fe1b5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C6#","24a38737-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D6","6454b1ed-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D6#","df6af006-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E6","6f3b93ee-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F6","2a3898a9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F6#","451d4de5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G6","1d438104-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G6#","ee56b417-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A6","0530c909-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A6#","a11a4066-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B6","786d3aca-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C7","65476210-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C7#","2964dcd3-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D7","ec1568fc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D7#","c24faf67-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E7","66055e4a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F7","0ea810a7-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F7#","c233495e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G7","b62c53c2-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G7#","e2481d30-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A7","929068ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A7#","de213874-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B7","191b63ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C8","4b82c978-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"RR","4f559bb0-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
];
default{
state_entry()
{
Vol = 1.0 ;
}
touch_start(integer total_number)
{
RePos = 88;
}
touch(integer total_number)
{
vector pos = llDetectedTouchST(0);
Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
SarchTone = llList2Integer(Tuch_list,Pos);
if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;
}
}
とまぁこのようになっているのだ
ほとんどがリストデータばっかしw
default{~}がキーボードのメイン処理部分
そのまま使うコトはキーボードのスカルプUVMAPで作成したプリムと組み合わせないとヘンになるからムリ
でもこれから覚えたいかたの参考に少しでも役に立つならいいかな
解説
float x=256;
float y=1.0;
float Vol;
integer Pos;
integer RePos;
integer SarchTone;
変数の宣言と定義?だったかな
float は浮動小数点扱う
integer は整数
x=256 y=1 これはスカルプテッドプリムに合わせてここではこの数字で固定
Vol のほうはここでは数字固定しない
ここで固定しても良かったんだけど使いまわし応用のためw
Pos RePos は触った場所の位置を入れておくためのもの
SarchTone はタッチした位置でトーンリスト番号を示すためのもの
list Tuch_list=[
コイツはスカルプテッドプリムの面の位置を音階に変換するためのデータベース
list が宣言で Tuch_list がリストネーム
=[~~~~] が Tuch_list に入れる中身のデータとなるわけ
キーボードをスカルでいくつか種類造ったから応用しやすいように別置き
list Tone_list=[
こちらは音階とそれに対応したサウンドファイルのUUIDのリスト
ある意味心臓部分
UUIDを差し替えて別な音色にしやすいように敢えて別置きにしている
default{
ここから先がメインの処理部分になる
state_entry()
{
Vol = 1.0 ;
}
Vol サウンドファイルの音量の変数なんでこんな所で固定してるんだw
い~~の!
本来は音量コントロールするハズだったけど1プリキーボでムリだったから残骸w
別Verではきちんと音量コントロールできるようになってるw
touch_start(integer total_number)
{
RePos = 88;
}
プリムをクリックした時に実行することが書いてある
この場合だと RePos に 88 をセットしてくださいってことになる
ちなみに 88 は無音です
後述する touch(integer total_number) だけだとうまく機能しないので初めに
コレやっとかなければダメだったみたい
コレすごく悩んだっけな~
どうしてもわからなくてFさんに助けられたっけ
ありがとうFさん
touch(integer total_number)
{
vector pos = llDetectedTouchST(0);
Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
SarchTone = llList2Integer(Tuch_list,Pos);
if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;
}
ここはタッチ(クリック)し続けている(連打じゃないよ)時に実行することが
書いてある部分
vector pos = llDetectedTouchST(0);
vector は変数宣言で pos に DetectedTouchST の結果を格納する
Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
ちょっとややこしいけど vector pos から integer Pos に変換格納する式
SarchTone = llList2Integer(Tuch_list,Pos);
ここは Tuch_list から Pos の位置にあるデータを integer 形式で SarchTone
に格納するよう書いてある
if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;
ここが音を鳴らすメインの部分
RePos != SarchTone とは RePos と SarchTone が同じ値でない場合って意味
if(条件式)
{
条件式が正しい場合に実行される処理
}
条件式が正しくない場合に実行される式
この場合だとRePos と SarchToneが違った場合となるので正しい
逆に値が同じだった場合は != では正しくないになる
ややこしいけど if文 は touch(integer total_number) の中に入っている
そのためこのif文を入れないと同じ音が鳴り続けてしまうのだ
それを防止するためにタッチしている位置が同じ鍵盤上にある場合は連続して
音を出さないようにするための条件式を入れている
先にあった touch_start でわざわざ RePos に 88 を設定しているのは
RePos は最後に触っていた鍵盤の位置を格納しておくもので
touch の中に設定するとうまく機能しなくて例えば同じ鍵盤を連続してクリック
した場合に2回目以降のクリックで音が出なくなってしまう
そのため次のクリック時に無音リセットしているのだ
この記述だと左クリックしたままドラッグして鍵盤を移動させる演奏も可能になる
ちなみにこのスクリの重さは 0.02~0.03 すげぇ~軽いw
きょ~たさんの人魚神殿にて計測
おさらい終わりw
やる気削がれたSLだけど
とりあえずあのブサイクな初期アバで歩きまわるのは私はとてもイヤなので・・・
なんとか元の状態に戻した
行方不明なオブジェとかもあるから完全に元の状態ではないんだけど
出かけても恥ずかしい格好には戻ったようだ
と 言っても別にどこ行くってアテは無いし
別に誰かに会うってコトもない
ま 自己満足
散歩でもしながら操作方法のリハビリでもしよう
一度プレイしているからすぐに慣れるだろう
しかしま~今回の休止期間は一般ニュースでSLの話題は1度も耳にすることなかったな~
前回の休止期間中は2~3度耳にしたんだけど・・・・
休止中に実はいくつかのMMOで少し遊んでいた
ゲームは好きなほうなので新作MMOとか一応チェックしてフィーリングよさげなものいくつかプレイしてみた
ちなみに私はロリ系・ディズニーチックアニメ系・戦争PvPメイン系は大嫌いだから初めからそれらは除外だ
一般に普及するPCの性能も上がっているせいで絵柄が相当綺麗なものも多く提供されているな~と感じた
ん~
ヤバイな
SLは絵柄の割にスペックの高いPCを要求されるって誤解なんだが
世界を造るのは一般ユーザーであって
他ゲームのようなプロが製作し最適化されたモノとは出来が違うのは当たり前なんだよね
ま 製作をやめた私にはもうどうでもいいコトなのかもしれないな
やりたけりゃやるし
やりたくなければやらない
それがSLってモンだ
さて
スクリも先ずは以前出来ていたモノ引っ張り出してリハビリしなきゃな~
簡単なヤツからやっていこうかね~
とりあえずあのブサイクな初期アバで歩きまわるのは私はとてもイヤなので・・・
なんとか元の状態に戻した
行方不明なオブジェとかもあるから完全に元の状態ではないんだけど
出かけても恥ずかしい格好には戻ったようだ
と 言っても別にどこ行くってアテは無いし
別に誰かに会うってコトもない
ま 自己満足
散歩でもしながら操作方法のリハビリでもしよう
一度プレイしているからすぐに慣れるだろう
しかしま~今回の休止期間は一般ニュースでSLの話題は1度も耳にすることなかったな~
前回の休止期間中は2~3度耳にしたんだけど・・・・
休止中に実はいくつかのMMOで少し遊んでいた
ゲームは好きなほうなので新作MMOとか一応チェックしてフィーリングよさげなものいくつかプレイしてみた
ちなみに私はロリ系・ディズニーチックアニメ系・戦争PvPメイン系は大嫌いだから初めからそれらは除外だ
一般に普及するPCの性能も上がっているせいで絵柄が相当綺麗なものも多く提供されているな~と感じた
ん~
ヤバイな
SLは絵柄の割にスペックの高いPCを要求されるって誤解なんだが
世界を造るのは一般ユーザーであって
他ゲームのようなプロが製作し最適化されたモノとは出来が違うのは当たり前なんだよね
ま 製作をやめた私にはもうどうでもいいコトなのかもしれないな
やりたけりゃやるし
やりたくなければやらない
それがSLってモンだ
さて
スクリも先ずは以前出来ていたモノ引っ張り出してリハビリしなきゃな~
簡単なヤツからやっていこうかね~