├── .eslintrc.json
├── .vscode
├── extensions.json
├── iisexpress.json
├── jsconfig.json
├── launch.json
└── settings.json
├── README.md
├── Web.config
├── content
├── Junk_title.png
├── Message
│ ├── bref_testStage.js
│ └── stage_testStage.js
├── SSR06_Born2.x
├── bgm_mp3
│ ├── Battle.mp3
│ ├── Obstacle.mp3
│ └── Trap.mp3
├── commonSounds.js
├── cv
│ ├── commonVoice.js
│ └── teststage
│ │ ├── bref_test.js
│ │ └── stageCV_test.js
├── do_ not_seconduse.txt
├── efobj
│ ├── AddBillTex.png
│ ├── AlpBillTex.png
│ ├── BarniaA.x
│ ├── BurretAll.jpg
│ ├── Missile_a1.x
│ ├── ShotA.x
│ ├── barnia1.png
│ ├── barnia2.png
│ ├── cannonB.x
│ ├── laserA.x
│ ├── rainbow.png
│ ├── splash.png
│ └── tamaC_2.x
├── enemys
│ ├── Carrier_B_boro.png
│ ├── Carrier_B_boro.x
│ ├── Ene_AAA1.x
│ ├── Ene_AAA2.x
│ ├── Hover1.x
│ ├── ene_grp1_uv.png
│ └── track1.x
├── ground
│ ├── SkyBoll_1.x
│ ├── SkyD.jpg
│ ├── riverwar.png
│ ├── stage4_bp0.png
│ ├── state4.x
│ ├── state4_height.x
│ └── state4_height_cam.x
├── htmlimage
│ ├── barniause.gif
│ ├── junk_sample1.png
│ ├── junk_sample2.png
│ └── junk_sample3.png
├── tex64.png
├── texture
│ ├── SSR06_Born2_bp_base.png
│ └── SSR06_Born2_dif.png
├── title_Back.jpg
├── title_Back_Ray.jpg
├── wayPointObj.x
└── wpn
│ ├── BBC_1.x
│ ├── BMS_3.x
│ ├── RRF_1.x
│ ├── RRF_2.x
│ ├── Rw_BltLifl_A.x
│ ├── Rw_Bmlf_2.x
│ └── wepons_uv.png
├── js
├── Detector.js
├── JfTimeRuler.js
├── ParticlTask.js
├── cEnBtPlayer.js
├── clsConst.js
├── clsCpuTink.js
├── clsEtcUnit.js
├── clsParticle.js
├── clsPlayer.js
├── clsWeapon.js
├── controls
│ └── OrbitControls.js
├── index_ui.js
├── libs
│ ├── charsetencoder.min.js
│ ├── dat.gui.min.js
│ └── stats.min.js
├── loaders
│ └── thrXfileLoader.js
├── missionlist.js
├── oauth.js
├── objectSetter
│ ├── ObjSetter_Base.js
│ ├── obj_AAA1.js
│ ├── obj_AAA2.js
│ ├── obj_BarniaObj.js
│ ├── obj_Hover.js
│ ├── obj_SSR06.js
│ └── obj_Track_1.js
├── oreBt2dSceneCommon.js
├── oreCommon.js
├── oreMath.js
├── oreScene.js
├── postprocessing
│ ├── EffectComposer.js
│ ├── MaskPass.js
│ ├── RenderPass.js
│ ├── ShaderPass.js
│ └── UnrealBloomPass.js
├── pseudo-function.js
├── screenUpdater.js
├── sha1.js
├── shaders
│ ├── ConvolutionShader.js
│ ├── CopyShader.js
│ ├── FXAAShader.js
│ └── LuminosityHighPassShader.js
├── stagefile
│ ├── bref_testStage.js
│ ├── scriptList_testStage.js
│ └── testStageScript.js
├── three.min.js
├── three.modules.js
├── threecomps.js
└── titleScreenScript.js
└── teststage.html
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "commonjs": true,
5 | "es6": true,
6 | "node": true
7 | },
8 | "parserOptions": {
9 | "ecmaFeatures": {
10 | "jsx": true
11 | },
12 | "sourceType": "module"
13 | },
14 | "rules": {
15 | "no-const-assign": "warn",
16 | "no-this-before-super": "warn",
17 | "no-undef": "warn",
18 | "no-unreachable": "warn",
19 | "no-unused-vars": "warn",
20 | "constructor-super": "warn",
21 | "valid-typeof": "warn"
22 | }
23 | }
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // See http://go.microsoft.com/fwlink/?LinkId=827846
3 | // for the documentation about the extensions.json format
4 | "recommendations": [
5 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
6 |
7 | ]
8 | }
--------------------------------------------------------------------------------
/.vscode/iisexpress.json:
--------------------------------------------------------------------------------
1 | {
2 | "port": 41475
3 | }
4 |
--------------------------------------------------------------------------------
/.vscode/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES6",
4 | "module": "commonjs"
5 | }
6 | }
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | // ローカルにあるファイルをデバッグ
4 | "configurations": [
5 | /*
6 | {
7 | // デバッグ設定の名称
8 | "name": "Launch local file",
9 | // デバッグ種別を指定(chrome/node/monoなど)
10 | "type": "chrome",
11 | // lanunchまたはattachを指定
12 | "request": "launch",
13 | // 読み込むHTMLファイルを指定(プロジェクトからのパスを指定)
14 | "file": "${workspaceRoot}/teststage.html"
15 | },
16 | */
17 | // Webサーバー上にあるファイルをデバッグ
18 | {
19 | // デバッグ設定の名称
20 | "name": "Launch remote website with sourcemaps",
21 | // デバッグ種別を指定(chrome/node/monoなど)
22 | "type": "chrome",
23 | // lanunchまたはattachを指定
24 | "request": "launch",
25 | // Webサーバー上にあるデバッグ対象のURLを指定
26 | "url": " http://localhost:41475/teststage.html",
27 | // マッピングするローカルファイルが配置されているディレクトリを指定
28 | "webRoot": "${workspaceRoot}/",
29 | // ソースマップの有効・無効の指定(true/false)
30 | "sourceMaps": true,
31 |
32 | "runtimeArgs" : ["--incognito"]
33 | }
34 | ,
35 | //起動済みにアタッチ
36 | {
37 | "name": "Attach chrome",
38 | "type": "chrome",
39 | "request": "attach",
40 | "port": 9222
41 | }
42 |
43 | ]
44 | }
45 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | // 既定の設定とユーザー設定を上書きするには、このファイル内に設定を挿入します
2 | {
3 | /* "editor.fontFamily": "'Migu 1M'",*/
4 | "editor.renderWhitespace": "all",
5 | "editor.tabSize": 2,
6 | "editor.insertSpaces": true
7 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Junk Fields JS
2 | ====
3 | 3D Action Game made in JavaScript (Three.js)
4 | Three.JSを使用して作られた、サンプルゲームです。
5 |
6 | ## Description
7 |
8 |
9 | ## Demo
10 | [ここで動くサンプルが見れます This Site](http://www001.upp.so-net.ne.jp/adrs2002/teststage.html)
11 |
12 | 
13 | 
14 | 
15 |
16 | ## Requirement
17 | [THREE.JS](https://threejs.org/)
18 |
19 | ## Contribution
20 | この汚いソースを書き直してくれる人はいつでも募集中!
21 |
22 | ## Licence
23 |
24 | MIT
25 |
26 | ## Author
27 |
28 | [adrs2002](https://github.com/adrs2002/)
--------------------------------------------------------------------------------
/Web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/content/Junk_title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/Junk_title.png
--------------------------------------------------------------------------------
/content/Message/bref_testStage.js:
--------------------------------------------------------------------------------
1 | /*
2 | var msg_bref = new Array(
3 | "",
4 | "非常招集ご苦労。\r\n時間がない。状況を手短に説明する。",
5 | "国連軍から我々への補給物資を搭載した輸送機が、 敵部隊に撃墜された。",
6 | "撃墜された輸送機は、フレシュム市西北西60Kmの地点で 消息を絶った。\r\n現場は深い谷につき、不時着は不可能であったと思われる。",
7 | "貴君等には、輸送機の捜索救難を命ずる。\r\n周辺は中立地帯となっており、戦闘捜索救難となる可能性が高い。",
8 | "アルファは積み荷の回収及び発見された負傷者の保護、\r\nブラボーは周辺警戒を行ってもらう。",
9 | "ブラボーが先行し周辺の安全を確保、安全が確認され次第、アルファによる回収作業を行え。"
10 | );
11 | */
12 |
13 | var msg_bref = new Array(
14 | "",
15 | "Brf00_001",
16 | "Brf00_002",
17 | "Brf00_003",
18 | "Brf00_004",
19 | "Brf00_005",
20 | "Brf00_006"
21 | );
22 |
23 |
24 | var txt_bref = {
25 | "Brf00_001": "非常招集ご苦労。\r\n時間がない。状況を手短に説明する。",
26 | "Brf00_002": "国連軍から我々への補給物資を搭載した輸送機が、 敵部隊に撃墜された。",
27 | "Brf00_003": "撃墜された輸送機は、フレシュム市西北西60Kmの地点で 消息を絶った。\r\n現場は深い谷につき、不時着は不可能であったと思われる。",
28 | "Brf00_004": "貴君等には、輸送機の捜索救難を命ずる。\r\n周辺は中立地帯となっており、戦闘捜索救難となる可能性が高い。",
29 | "Brf00_005": "アルファは積み荷の回収及び発見された負傷者の保護、\r\nブラボーは周辺警戒を行ってもらう。",
30 | "Brf00_006": "ブラボーが先行し周辺の安全を確保、安全が確認され次第、アルファによる回収作業を行え。"
31 |
32 | };
33 |
34 |
35 | var txt_bref_e = {
36 | "Brf00_001": "Due to pressing circumstances, I'll be issuing an emergency briefing.",
37 | "Brf00_002": "Allied Cargo was shot down by Enemy's SAM.\r\nThere's supplies airlifting to the troops.",
38 | "Brf00_003": "They went missing in 60km north of Fureshum-city. /r/nSo impossible to landing.",
39 | "Brf00_004": "Your mission is search-and-rescue operation for Cargo.\r\nThe surrounding area is a neutral point,\r\nIt'll probably combat search-and-rescue operation.",
40 | "Brf00_005": "Alpha, your mission is search cargo and help out the wounded. \r\nBravo, your mission is guard the area.",
41 | "Brf00_006": "Bravo, you go out first for securing the area.\r\nAfter securing the area, Alpha move on and handle the direct rescue."
42 |
43 | };
--------------------------------------------------------------------------------
/content/Message/stage_testStage.js:
--------------------------------------------------------------------------------
1 |
2 | var msg_stage = {
3 | "": "",
4 | "Bt00": "指定ポイントまで移動せよ",
5 | "Bt01": "周辺を警戒せよ",
6 | "Bt02": "敵部隊を撃破せよ",
7 | "Bt03": "敵部隊を撃破せよ",
8 | "Bt04": "敵部隊を撃破せよ",
9 | "Bt05": "敵部隊を撃破せよ\r\n所属不明機を撃破せよ",
10 | "Bt06": "敵部隊を撃破せよ",
11 | "Bt07": "",
12 | "Bt07A": "",
13 | "Bt07B": "",
14 | };
15 |
16 |
17 | var txt_stage = {
18 | "Bt00_001": "ビッグイヤーよりブラボー。\r\n墜落地点は、河川に沿って北の方角と思われます。\r\n進路を維持してください。オーバー。",
19 | "Bt00_002": "炎が見えますね。\r\nベーコンの燻製が進んでそうだ。",
20 | "Bt00_003": "今食ってるレーションよりは、ガチガチのベーコンのほうが、まだマシだ。\r\n行くぞ。",
21 |
22 | "Bt01_001": "ブラボー1よりビッグイヤー。\r\nCPポイントに到着した。",
23 | "Bt01_002": "ビッグイヤー了解。\r\n周辺の警戒をお願いします。\r\n救難信号はありますか?",
24 | "Bt01_003": "…反応はない。",
25 | "Bt01_004": "…了解しました。",
26 | "Bt01_005": "付近の捜索はアルファに任せろ。\r\nブラボーは万が一に備え、周辺警戒を怠るな。",
27 | "Bt01_006": "ブラボー、ウィルコ。",
28 |
29 | "Bt02_001": "レーダーに所属不明機!\r\n方位350、反応多数!!",
30 | "Bt02_002": "やはり来たか。\r\nブラボー全機。不明機は敵機だ。\r\n攻撃を許可する。 敵を近づかせるな。",
31 | "Bt02_003": "ブラボー了解。お仕事だ。やるぞ。",
32 | "Bt02_004": "ツー、了解。ガチガチのベーコンを守りますか。",
33 | "Bt02_005": "",
34 | "Bt02_100": "",
35 | "Bt02_101": "合流地点はここじゃなかったのか!?",
36 | "Bt02_102": "罠だったんだ!!俺達はハメられたんだ!",
37 | "Bt02_103": "こっちは丸腰だぞ!どうなってるんだ!!",
38 |
39 |
40 | "Bt03_001": "敵部隊の増援を確認しました。\r\n北東の方角から、山に沿って高速で接近中!",
41 | "Bt03_002": "ビッグイヤーよりブラボー。\r\n積み荷を狙ってくる敵を優先的に叩け。 \r\n雑魚の豆鉄砲は気にするな!",
42 | "Bt03_003": "ビッグイヤー、こちらアルファ。\r\nWP3に到達。前方に火の手が見える。\r\nベーコンの燻製が捗ってそうだ。オーバー。",
43 | "Bt03_004": "ビッグイヤーよりアルファ。\r\nWP4はブラボーが交戦中だ。\r\n戦闘が終了するまで、その場で待機せよ。",
44 | "Bt03_005": "アルファ了解!\r\nアルファ、前方の花火が収まるまで、ここで待機だ!",
45 | "Bt03_006": "…考える事、一緒か。",
46 |
47 | "Bt04_001": "アルファ3、隊列を乱すな。\r\n花火は無理に見なくていい。",
48 | "Bt04_002": "",
49 | "Bt04_003": "アルファ3、隊列を乱すな。戻れ!",
50 | "Bt04_004": "",
51 | "Bt04_005": "", /*"スリー、戻れ!停止命令が出ている!\r\n巻き込まれたいのか!!"*///未収録&ボツセリフ
52 | "Bt04_006": "こちらビッグイヤー。\r\nアルファ1,どうした?",
53 | "Bt04_007": "こちらアルファ1!\r\nアルファ3が、停止命令を無視し北進している!",
54 | "Bt04_008": "了解した。残りのアルファはそこを動くな!",
55 | "Bt04_009": "ビッグイヤーよりブラボー。",
56 | "Bt04_010": "離脱したアルファ小隊の1機が、戦闘エリアに向かっている。\r\nアルファ3を所属不明機とする。\r\n可能であれば足を止めろ。",
57 | "Bt04_011": "足を止めろって……どうやって!?\r\n破壊しろってことですか!?",
58 | "Bt04_012": "アルファ2、他の方法があるなら言ってみろ。",
59 | "Bt04_013": "ブラボー1、ネガティブ。\r\n敵の増援が止まない。2機では手が回らない!\r\n最優先目標は!?",
60 | "Bt04_014": "ブラボー、最優先は積み荷の護衛、敵の全機破壊だ。\r\n変更はない、それが最優先だ。\r\nアルファ3の停止は、副次目標とする。無理にアルファを止めるな。",
61 | "Bt04_015": "ブラボー了解。\r\nブラボー2、ここを離れるな。前方の敵に集中しろ。",
62 | "Bt04_016": "2、了解!",
63 |
64 | "Bt05_001": "アルファ3、WP4に接近!",
65 | "Bt05_002": "ビッグイヤーよりブラボー、繰り返す。\r\n最優先は積み荷の護衛と、輸送機に接近する敵の排除だ。\r\nアルファ3の破壊は無理に行うな。",
66 | "Bt05_003": "味方識別システムの都合上、アルファ3は所属不明機となっている。\r\nロックオンは出来ない。\r\n直接射撃にて撃破せよ。オーバー。",
67 | "Bt05_004": "ブラボー了解。\r\n可能であれば対応する。オーバー。",
68 | "Bt05_005": "この状況で出来るんですか!?隊長!!",
69 | "Bt05_006": "2、さっきも言ったはずだ。\r\nお前はココを離れるな。行くなら俺が行く。",
70 | "Bt05_007": "つー、了解。",
71 |
72 |
73 | "Bt06A_001": "アルファ3、領域を離脱!\r\nヴィラートとの国境線に向かっています!!",
74 | "Bt06A_002": "ビッグイヤーよりブラボー。\r\nアルファ3の追撃は行うな。引き続き周辺の防衛に当たれ。",
75 | "Bt06A_003": "ブラボー了解した。引き続き任務にあたる。",
76 | "Bt06A_004": "アレ、無理っすよ。",
77 |
78 | "Bt06B_001": "アルファ3,撃破!",
79 | "Bt06B_002": "ブラボーよくやった!\r\n至急、輸送機の防衛に戻れ!",
80 | "Bt06B_003": "さすが隊長!\r\nま、この場を守っていた俺の活躍も、お忘れなく?",
81 | "Bt06B_004": "",
82 |
83 | "Bt07_001": "接近する機影なし。敵部隊、沈黙しました。",
84 | "Bt07_002": "ビッグイヤーよりブラボー。よくやった。\r\nアルファの作業が終わるまで、引き続き周辺警戒にあたれ。",
85 | "Bt07_003": "ビッグイヤーよりアルファ。\r\nWP4の戦闘は終了した。\r\n4に進行し、積み荷の回収作業にあたれ。",
86 | "Bt07_004": "アルファ了解した!\r\nアルファ、お座りは終わりだ!ベーコンが焦げるまでに片付けるぞ!!",
87 | "Bt07_005": "アルファ1からビッグイヤー、アルファ3はどうなった?",
88 |
89 | "Bt07A_006": "アルファ3は、領域を離脱した。\r\nヴィラートに寝返った可能性がある。\r\nこの件に関しては、アルファもブラボーも、責任は不問とする。",
90 | "Bt07A_007": "アルファ1,了解!\r\nローキー、あの野郎…",
91 |
92 | "Bt07B_006": "アルファ3はブラボーによって足を止めた。\r\n進路からすると、あのまま足を止めなかった場合は、\r\nヴィラートに寝返っていただろう。",
93 | "Bt07B_007": "アルファ1,了解…。そうか、ローキー…",
94 | "Bt07B_008": "アルファ1よりブラボー。\r\n礼を言う。君達が止めていなかったら、\r\n俺達がアイツを殺すハメになった。",
95 | "Bt07B_009": "積み荷からいい酒が見つかったら、君達に1本持って行こう。",
96 | "Bt07B_010": "ブラボーよりアルファ。遠慮しておく。\r\nその酒はアルファ3の清め酒にしてやれ。\r\n仲間だったんだろ。",
97 | "Bt07B_011": "…アルファ、了解。",
98 | "Bt07B_012": "隊長、かっこいいっす。\r\nでも、後味は良くないですね…\r\n俺、しばらくベーコンはいらねぇ。",
99 |
100 |
101 | "Bt99_001": "ここまでしか作っていません。ブラウザの「戻る」か「閉じる」で未来へGo!"
102 | };
103 |
104 | //自動でメッセージが進む[ミリ秒数] * 2 を指定する
105 | var time_stage =
106 | {
107 | "Bt00_000": 2000, //フェードイン中
108 | "Bt00_001": 9000,
109 | "Bt00_002": 7500,
110 | "Bt00_003": 6000,
111 |
112 | "Bt01_001": 4000,
113 | "Bt01_002": 7000,
114 | "Bt01_003": 3000,
115 | "Bt01_004": 3000,
116 | "Bt01_005": 7000,
117 | "Bt01_006": 2000,
118 |
119 | "Bt02_001": 6000,
120 | "Bt02_002": 9000,
121 | "Bt02_003": 4000,
122 | "Bt02_004": 5000,
123 | "Bt02_005": 10,
124 | "Bt02_100": 10,
125 | "Bt02_101": 5000,
126 | "Bt02_102": 4500,
127 | "Bt02_103": 3500,
128 |
129 |
130 | "Bt03_001": 9000,
131 | "Bt03_002": 9000,
132 | "Bt03_003": 10000,
133 | "Bt03_004": 9000,
134 | "Bt03_005": 9000,
135 | "Bt03_006": 5500,
136 |
137 | "Bt04_001": 7000,
138 | "Bt04_002": 5000, //セリフの無い、間の部分
139 | "Bt04_003": 6000,
140 | "Bt04_004": 5000, //セリフの無い、間の部分
141 | "Bt04_005": 10, //ボツセリフ
142 | "Bt04_006": 5000,
143 | "Bt04_007": 6000,
144 | "Bt04_008": 5000,
145 | "Bt04_009": 2000,
146 | "Bt04_010": 10000,
147 | "Bt04_011": 7000,
148 | "Bt04_012": 6000,
149 | "Bt04_013": 8000,
150 | "Bt04_014": 11000,
151 | "Bt04_015": 6500,
152 | "Bt04_016": 2000,
153 | /*****ここまでやった*/
154 |
155 | "Bt05_001": 4000,
156 | "Bt05_002": 9500,
157 | "Bt05_003": 9500,
158 | "Bt05_004": 4500,
159 | "Bt05_005": 4000,
160 | "Bt05_006": 7000,
161 | "Bt05_007": 2500,
162 |
163 |
164 | "Bt06A_001": 6000,
165 | "Bt06A_002": 7000,
166 | "Bt06A_003": 4000,
167 | "Bt06A_004": 2000,
168 |
169 | "Bt06B_001": 3000,
170 | "Bt06B_002": 4000,
171 | "Bt06B_003": 7000,
172 | "Bt06B_004": 100, //Aと配列数を同じにするためにダミー値
173 |
174 | "Bt07_001": 6000,
175 | "Bt07_002": 7000,
176 | "Bt07_003": 8000,
177 | "Bt07_004": 7000,
178 | "Bt07_005": 5000,
179 |
180 | "Bt07A_006": 10000,
181 | "Bt07A_007": 8000,
182 |
183 | "Bt07B_006": 9000,
184 | "Bt07B_007": 8000,
185 | "Bt07B_008": 9000,
186 | "Bt07B_009": 5000,
187 | "Bt07B_010": 10000,
188 | "Bt07B_011": 5000,
189 | "Bt07B_012": 11000,
190 |
191 | "Bt99_001": 200000
192 | };
193 |
194 |
195 | /********************************************************************** */
196 |
197 |
198 | var msg_stage_e = {
199 | "": "",
200 | "Bt00": "Move to WayPoint.",
201 | "Bt01": "Stay alert",
202 | "Bt02": "Establish area superiority",
203 | "Bt03": "Establish area superiority",
204 | "Bt04": "Establish area superiority",
205 | "Bt05": "Establish area superiority\r\nDestroy the Unknown Units",
206 | "Bt06": "Establish area superiority",
207 | "Bt07": "",
208 | "Bt07A": "",
209 | "Bt07B": "",
210 | };
211 |
212 |
213 |
214 | var txt_stage_e = {
215 | "Bt00_001": "Big-Ear to Bravo.\r\nThe extraction point's north, Ahead\r\nMaintain your course, over.",
216 | "Bt00_002": "Flames can be seen even from here.\r\nThe aroma of smoking bacon was adrift here.",
217 | "Bt00_003": "Scorched bacon is better than ration now eating.\r\nLet's go.",
218 |
219 | "Bt01_001": "Bravo to Big-Ear. \r\nWe arriving to Point of patrol.",
220 | "Bt01_002": "Big-Ear, Roger.\r\nPlease guard the area. \r\nAre there any distress signal sensor?",
221 | "Bt01_003": "…Nothing.",
222 | "Bt01_004": "…Roger.",
223 | "Bt01_005": "Leave search to the Alpha.\r\nBravo be aware of your surroundings.",
224 | "Bt01_006": "Bravo, wilco.",
225 |
226 | "Bt02_001": "Numerous radar hits confirmed, Unknown Approaching! \r\nBearing 350, inbound!!",
227 | "Bt02_002": "I thought so.\r\nAll Bravo, Clear to engage. \r\nDon't let the enemy get close!",
228 | "Bt02_003": "Bravo,Copy.\r\nTow, we've got company.",
229 | "Bt02_004": "Tow,Copy! Let's save the scorched bacon.",
230 | "Bt02_005": "",
231 | "Bt02_100": "",
232 | "Bt02_101": "Was the assembly point is here!?",
233 | "Bt02_102": "It's a trap! We fell right into it!",
234 | "Bt02_103": "We're defenseless! What's going on?",
235 |
236 |
237 | "Bt03_001": "An enemy unit is mobilizing reinforcements. \r\nv Approaching enemy bearing 010, inbound!",
238 | "Bt03_002": "Big-Ear to Bravo. \r\nPlace top priority on eliminating the threat to cargo. \r\nForget the small fry.",
239 | "Bt03_003": "Big-Ear, This is Alpha. \r\nWe arriving to WP 3. I see the fireworks.\r\nThe aroma of smoking bacon was adrift here. over.",
240 | "Bt03_004": "Big-Ear to Alpha. \r\nThe Bravos engaging enemy in WP 4. \r\nStay where you are.",
241 | "Bt03_005": "Alpha,Copy. \r\nAll alpha, Stand by at current position!",
242 | "Bt03_006": "...I messed up...",
243 |
244 | "Bt04_001": "Alpha-3, maintain formation.\r\nYou may spare yourself the trouble.",
245 | "Bt04_002": "",
246 | "Bt04_003": "Alpha-3, Go Back! Maintain formation!!",
247 | "Bt04_004": "",
248 | "Bt04_005": "", /*"スリー、戻れ!停止命令が出ている!\r\n巻き込まれたいのか!!"*///未収録&ボツセリフ
249 | "Bt04_006": "This is Big-Ear.\r\nAlpha 1, what's wrong?",
250 | "Bt04_007": "This is Alpha 1!\r\nAlpha 3 was violating orders! Moving north!",
251 | "Bt04_008": "Roger. All Alpha, stand by. Don't move until you receive orders!",
252 | "Bt04_009": "Big-Ear to Bravo.",
253 | "Bt04_010": "Once of Alpha , move on route to retrieve the Your point.\r\nAlpha 3 change to Unknown units. \r\nGot to hold them off is you can.",
254 | "Bt04_011": "Hold them ... How!?\r\nCommander, you want to 'Destroy'!?",
255 | "Bt04_012": "We have no choice, Bravo 2.",
256 | "Bt04_013": "Bravo 1, Negative!\r\nThere's too many of them!\r\nWhat's the first!?",
257 | "Bt04_014": "Bravo, your mission is [ Establish area superiority ].\r\nNo change in plans.\r\nDon't get strung out chasing to Alpha 3, needlessly!",
258 | "Bt04_015": "Bravo, Rogher. \r\nBravo 2, hold your position. Keep your eyes out front.",
259 | "Bt04_016": "2,Roger!",
260 |
261 | "Bt05_001": "Alpha 3, Approaching WP 4!",
262 | "Bt05_002": "Big-Ear to Bravo, I Repeat. \r\nYour mission is Establish area superiority \r\nDon't get strung out chasing to Alpha 3, needlessly.",
263 | "Bt05_003": "Alpha 3 is Unknown signal on your Rader and HUD.\r\nDon't Lock on them.\r\nVisually confirm your targets.",
264 | "Bt05_004": "Bravo, Rogher.\r\nI will do so, if possible. over.",
265 | "Bt05_005": "Can it really be this status, captain!?",
266 | "Bt05_006": "Tow, I say again. Hold your position. \r\nI make a decision",
267 | "Bt05_007": "Tow, Roger.",
268 |
269 |
270 | "Bt06A_001": "Alpha 3 have escaped our engagement zone!\r\nThey're heading for the border!!",
271 | "Bt06A_002": "Big-Ear to Bravo. \r\nThere's no point in chasing them any further.Flow to area superiority.",
272 | "Bt06A_003": "Bravo copy. I'll continue the operation.",
273 | "Bt06A_004": "We are sure your hands are full, captain.",
274 |
275 | "Bt06B_001": "Alpha 3 Destroy!",
276 | "Bt06B_002": "Bravo Zulu!\r\nReturn your mission immediately!",
277 | "Bt06B_003": "That's our captain!\r\nAllow me to give them a little taste of my skills.",
278 |
279 |
280 | "Bt07_001": "There are no remaining on radar.Enemy units are neutralized",
281 | "Bt07_002": "Big-Ear to Bravo, Nice work.\r\nStay alert until Alpha's operation.",
282 | "Bt07_003": "Big-Ear to Alpha. \r\nArea Clear.\r\nBegin your mission, Alpha.",
283 | "Bt07_004": "Alpha copy!\r\nAll Alpha, stund up!Let's hurry up and finish this!!",
284 | "Bt07_005": "Alpha 1 to Big-Ear. What's the do by Alpha 3?",
285 |
286 | "Bt07A_006": "Alpha 3 have escaped our engagement zone.\r\nHe will be traitor very likely\r\n",
287 | "Bt07A_007": "Alpha 1, Roger.r\nDammit, dammit! That bastard!",
288 |
289 | "Bt07B_006": "Alpha 3 was stoped by Bravo.\r\nIf we take a vector, he will be traitor very likely",
290 | "Bt07B_007": "Alpha 1, Roger.\r\nI see...",
291 | "Bt07B_008": "Alpha 1 to Bravo.\r\nI want to thank you.\r\nWe no need to think about how to kill Alppha 3.",
292 | "Bt07B_009": "I intend to bring some wine, if I can find here.",
293 | "Bt07B_010": "Bravo to Alpha, No thank you.\r\nYou'll drink with him that.\r\nThis is the last time.",
294 | "Bt07B_011": "...Rogher",
295 | "Bt07B_012": "...You are cool, Captain.\r\nBut, It's left a disagreeable aftertaste.\r\nI don't need a bacon for a while.",
296 |
297 |
298 | "Bt99_001": "ここまでしか作っていません。ブラウザの「戻る」か「閉じる」で未来へGo!"
299 | };
300 |
--------------------------------------------------------------------------------
/content/bgm_mp3/Battle.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/bgm_mp3/Battle.mp3
--------------------------------------------------------------------------------
/content/bgm_mp3/Obstacle.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/bgm_mp3/Obstacle.mp3
--------------------------------------------------------------------------------
/content/bgm_mp3/Trap.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/bgm_mp3/Trap.mp3
--------------------------------------------------------------------------------
/content/do_ not_seconduse.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/do_ not_seconduse.txt
--------------------------------------------------------------------------------
/content/efobj/AddBillTex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/efobj/AddBillTex.png
--------------------------------------------------------------------------------
/content/efobj/AlpBillTex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/efobj/AlpBillTex.png
--------------------------------------------------------------------------------
/content/efobj/BurretAll.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/efobj/BurretAll.jpg
--------------------------------------------------------------------------------
/content/efobj/barnia1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/efobj/barnia1.png
--------------------------------------------------------------------------------
/content/efobj/barnia2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/efobj/barnia2.png
--------------------------------------------------------------------------------
/content/efobj/laserA.x:
--------------------------------------------------------------------------------
1 | xof 0303txt 0032
2 |
3 | template Header {
4 | <3D82AB43-62DA-11cf-AB39-0020AF71E433>
5 | WORD major;
6 | WORD minor;
7 | DWORD flags;
8 | }
9 |
10 | template Vector {
11 | <3D82AB5E-62DA-11cf-AB39-0020AF71E433>
12 | FLOAT x;
13 | FLOAT y;
14 | FLOAT z;
15 | }
16 |
17 | template Coords2d {
18 |
19 | FLOAT u;
20 | FLOAT v;
21 | }
22 |
23 | template Matrix4x4 {
24 |
25 | array FLOAT matrix[16];
26 | }
27 |
28 | template ColorRGBA {
29 | <35FF44E0-6C7C-11cf-8F52-0040333594A3>
30 | FLOAT red;
31 | FLOAT green;
32 | FLOAT blue;
33 | FLOAT alpha;
34 | }
35 |
36 | template ColorRGB {
37 |
38 | FLOAT red;
39 | FLOAT green;
40 | FLOAT blue;
41 | }
42 |
43 | template IndexedColor {
44 | <1630B820-7842-11cf-8F52-0040333594A3>
45 | DWORD index;
46 | ColorRGBA indexColor;
47 | }
48 |
49 | template Boolean {
50 | <4885AE61-78E8-11cf-8F52-0040333594A3>
51 | WORD truefalse;
52 | }
53 |
54 | template Boolean2d {
55 | <4885AE63-78E8-11cf-8F52-0040333594A3>
56 | Boolean u;
57 | Boolean v;
58 | }
59 |
60 | template MaterialWrap {
61 | <4885AE60-78E8-11cf-8F52-0040333594A3>
62 | Boolean u;
63 | Boolean v;
64 | }
65 |
66 | template TextureFilename {
67 |
68 | STRING filename;
69 | }
70 |
71 | template Material {
72 | <3D82AB4D-62DA-11cf-AB39-0020AF71E433>
73 | ColorRGBA faceColor;
74 | FLOAT power;
75 | ColorRGB specularColor;
76 | ColorRGB emissiveColor;
77 | [...]
78 | }
79 |
80 | template MeshFace {
81 | <3D82AB5F-62DA-11cf-AB39-0020AF71E433>
82 | DWORD nFaceVertexIndices;
83 | array DWORD faceVertexIndices[nFaceVertexIndices];
84 | }
85 |
86 | template MeshFaceWraps {
87 | <4885AE62-78E8-11cf-8F52-0040333594A3>
88 | DWORD nFaceWrapValues;
89 | Boolean2d faceWrapValues;
90 | }
91 |
92 | template MeshTextureCoords {
93 |
94 | DWORD nTextureCoords;
95 | array Coords2d textureCoords[nTextureCoords];
96 | }
97 |
98 | template MeshMaterialList {
99 |
100 | DWORD nMaterials;
101 | DWORD nFaceIndexes;
102 | array DWORD faceIndexes[nFaceIndexes];
103 | [Material]
104 | }
105 |
106 | template MeshNormals {
107 |
108 | DWORD nNormals;
109 | array Vector normals[nNormals];
110 | DWORD nFaceNormals;
111 | array MeshFace faceNormals[nFaceNormals];
112 | }
113 |
114 | template MeshVertexColors {
115 | <1630B821-7842-11cf-8F52-0040333594A3>
116 | DWORD nVertexColors;
117 | array IndexedColor vertexColors[nVertexColors];
118 | }
119 |
120 | template Mesh {
121 | <3D82AB44-62DA-11cf-AB39-0020AF71E433>
122 | DWORD nVertices;
123 | array Vector vertices[nVertices];
124 | DWORD nFaces;
125 | array MeshFace faces[nFaces];
126 | [...]
127 | }
128 |
129 | template FrameTransformMatrix {
130 |
131 | Matrix4x4 frameMatrix;
132 | }
133 |
134 | template Frame {
135 | <3D82AB46-62DA-11cf-AB39-0020AF71E433>
136 | [...]
137 | }
138 |
139 |
140 | template XSkinMeshHeader {
141 | <3cf169ce-ff7c-44ab-93c0-f78f62d172e2>
142 | WORD nMaxSkinWeightsPerVertex;
143 | WORD nMaxSkinWeightsPerFace;
144 | WORD nBones;
145 | }
146 |
147 | template VertexDuplicationIndices {
148 |
149 | DWORD nIndices;
150 | DWORD nOriginalVertices;
151 | array DWORD indices[nIndices];
152 | }
153 |
154 | template SkinWeights {
155 | <6f0d123b-bad2-4167-a0d0-80224f25fabb>
156 | STRING transformNodeName;
157 | DWORD nWeights;
158 | array DWORD vertexIndices[nWeights];
159 | array FLOAT weights[nWeights];
160 | Matrix4x4 matrixOffset;
161 | }
162 |
163 |
164 | Material laserA_Default {
165 | 1.000000;1.000000;1.000000;1.000000;;
166 | 51.200001;
167 | 0.000000;0.000000;0.000000;;
168 | 0.000000;0.000000;0.000000;;
169 | TextureFilename {
170 | "BurretAll.jpg";
171 | }
172 | }
173 |
174 | Frame Frame_SCENE_ROOT {
175 |
176 | FrameTransformMatrix {
177 | 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;;
178 | }
179 |
180 | Frame Frame1_laserA {
181 |
182 | FrameTransformMatrix {
183 | 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;;
184 | }
185 |
186 | Mesh Mesh_laserA {
187 | 102;
188 | 0.000000;0.000000;-1.695142;,
189 | 0.000000;0.000000;-1.695142;,
190 | 0.000000;0.000000;-1.695142;,
191 | 0.000000;0.000000;-1.695142;,
192 | 0.000000;0.000000;-1.695142;,
193 | 0.000000;0.000000;-1.695142;,
194 | 0.000000;-0.445356;-1.344988;,
195 | 0.000000;-0.445356;-1.344988;,
196 | 0.000000;-0.445356;-1.344988;,
197 | 0.000000;-0.445356;-1.344988;,
198 | -0.385690;-0.222678;-1.344988;,
199 | -0.385690;-0.222678;-1.344988;,
200 | -0.385690;-0.222678;-1.344988;,
201 | -0.385690;-0.222678;-1.344988;,
202 | 0.000000;-0.677235;-0.792162;,
203 | 0.000000;-0.677235;-0.792162;,
204 | -0.586502;-0.338618;-0.792162;,
205 | -0.586502;-0.338618;-0.792162;,
206 | 0.385690;-0.222678;-1.344988;,
207 | 0.385690;-0.222678;-1.344988;,
208 | 0.385690;-0.222678;-1.344988;,
209 | 0.385690;-0.222678;-1.344988;,
210 | 0.586502;-0.338618;-0.792162;,
211 | 0.586502;-0.338618;-0.792162;,
212 | 0.000000;0.445356;-1.344988;,
213 | 0.000000;0.445356;-1.344988;,
214 | 0.000000;0.445356;-1.344988;,
215 | 0.000000;0.445356;-1.344988;,
216 | -0.385690;0.222678;-1.344988;,
217 | -0.385690;0.222678;-1.344988;,
218 | -0.385690;0.222678;-1.344988;,
219 | -0.385690;0.222678;-1.344988;,
220 | 0.000000;0.677235;-0.792162;,
221 | 0.000000;0.677235;-0.792162;,
222 | -0.586502;0.338618;-0.792162;,
223 | -0.586502;0.338618;-0.792162;,
224 | 0.385690;0.222678;-1.344988;,
225 | 0.385690;0.222678;-1.344988;,
226 | 0.385690;0.222678;-1.344988;,
227 | 0.385690;0.222678;-1.344988;,
228 | 0.586502;0.338618;-0.792162;,
229 | 0.586502;0.338618;-0.792162;,
230 | -0.000000;-0.377500;5.854858;,
231 | 0.000000;0.377500;5.854858;,
232 | 0.377500;-0.000000;5.854858;,
233 | -0.377500;0.000000;5.854858;,
234 | 0.000000;0.377500;-0.940142;,
235 | -0.000000;-0.377500;-0.940142;,
236 | -0.000000;-0.000000;-1.695142;,
237 | -0.000000;-0.000000;-1.695142;,
238 | -0.377500;0.000000;-0.940142;,
239 | 0.377500;-0.000000;-0.940142;,
240 | 0.000000;0.377500;0.569858;,
241 | -0.000000;-0.377500;0.569858;,
242 | -0.377500;0.000000;0.569858;,
243 | 0.377500;-0.000000;0.569858;,
244 | 0.000000;0.377500;2.834858;,
245 | -0.000000;-0.377500;2.834858;,
246 | -0.377500;0.000000;2.834858;,
247 | 0.377500;-0.000000;2.834858;,
248 | 0.000000;0.000000;-1.695142;,
249 | 0.000000;0.000000;-1.695142;,
250 | 0.000000;0.000000;-1.695142;,
251 | 0.000000;0.000000;-1.695142;,
252 | 0.000000;0.000000;-1.695142;,
253 | 0.000000;0.000000;-1.695142;,
254 | 0.472420;-0.247767;-1.062909;,
255 | 0.472420;-0.247767;-1.062909;,
256 | 0.472420;-0.247767;-1.062909;,
257 | 0.472420;-0.247767;-1.062909;,
258 | 0.000000;-0.495534;-1.062909;,
259 | 0.000000;-0.495534;-1.062909;,
260 | 0.000000;-0.495534;-1.062909;,
261 | 0.000000;-0.495534;-1.062909;,
262 | -0.472420;-0.247767;-1.062909;,
263 | -0.472420;-0.247767;-1.062909;,
264 | -0.472420;-0.247767;-1.062909;,
265 | -0.472420;-0.247767;-1.062909;,
266 | 0.000000;0.495534;-1.062909;,
267 | 0.000000;0.495534;-1.062909;,
268 | 0.000000;0.495534;-1.062909;,
269 | 0.000000;0.495534;-1.062909;,
270 | 0.472420;0.247767;-1.062909;,
271 | 0.472420;0.247767;-1.062909;,
272 | 0.472420;0.247767;-1.062909;,
273 | 0.472420;0.247767;-1.062909;,
274 | -0.472420;0.247767;-1.062909;,
275 | -0.472420;0.247767;-1.062909;,
276 | -0.472420;0.247767;-1.062909;,
277 | -0.472420;0.247767;-1.062909;,
278 | 0.835128;-0.437994;0.574389;,
279 | 0.835128;-0.437994;0.574389;,
280 | 0.000000;-0.875989;0.574389;,
281 | 0.000000;-0.875989;0.574389;,
282 | -0.835128;-0.437994;0.574389;,
283 | -0.835128;-0.437994;0.574389;,
284 | 0.000000;0.875989;0.574389;,
285 | 0.000000;0.875989;0.574389;,
286 | 0.835128;0.437994;0.574389;,
287 | 0.835128;0.437994;0.574389;,
288 | -0.835128;0.437994;0.574389;,
289 | -0.835128;0.437994;0.574389;;
290 | 50;
291 | 3;60,86,78;,
292 | 3;18,0,36;,
293 | 3;6,1,19;,
294 | 3;7,10,2;,
295 | 3;11,28,3;,
296 | 3;4,29,24;,
297 | 3;37,32,40;,
298 | 3;22,38,41;,
299 | 3;14,20,23;,
300 | 3;15,12,8;,
301 | 3;16,30,13;,
302 | 3;31,33,25;,
303 | 3;46,47,48;,
304 | 3;46,53,47;,
305 | 3;52,57,53;,
306 | 3;42,56,43;,
307 | 3;50,51,49;,
308 | 3;50,55,51;,
309 | 3;54,59,55;,
310 | 3;44,58,45;,
311 | 3;61,79,82;,
312 | 3;66,62,83;,
313 | 3;70,63,67;,
314 | 3;71,74,64;,
315 | 3;75,87,65;,
316 | 3;5,26,39;,
317 | 3;84,96,98;,
318 | 3;90,85,99;,
319 | 3;92,68,91;,
320 | 3;93,76,72;,
321 | 3;94,88,77;,
322 | 3;89,97,80;,
323 | 3;37,27,32;,
324 | 3;22,21,38;,
325 | 3;14,9,20;,
326 | 3;15,17,12;,
327 | 3;16,34,30;,
328 | 3;31,35,33;,
329 | 3;46,52,53;,
330 | 3;52,56,57;,
331 | 3;42,57,56;,
332 | 3;50,54,55;,
333 | 3;54,58,59;,
334 | 3;44,59,58;,
335 | 3;84,81,96;,
336 | 3;90,69,85;,
337 | 3;92,73,68;,
338 | 3;93,95,76;,
339 | 3;94,100,88;,
340 | 3;89,101,97;;
341 |
342 | MeshNormals {
343 | 102;
344 | 0.672175;0.000000;-0.740393;,
345 | 0.336087;-0.582121;-0.740392;,
346 | -0.336087;-0.582121;-0.740392;,
347 | -0.672175;0.000000;-0.740393;,
348 | -0.336087;0.582121;-0.740392;,
349 | 0.336087;0.582121;-0.740392;,
350 | 0.336087;-0.582121;-0.740392;,
351 | -0.336087;-0.582121;-0.740392;,
352 | -0.469956;-0.813986;-0.341420;,
353 | 0.469956;-0.813986;-0.341420;,
354 | -0.336087;-0.582121;-0.740392;,
355 | -0.672175;0.000000;-0.740393;,
356 | -0.469956;-0.813986;-0.341420;,
357 | -0.939911;0.000000;-0.341419;,
358 | 0.469956;-0.813986;-0.341420;,
359 | -0.469956;-0.813986;-0.341420;,
360 | -0.939911;0.000000;-0.341419;,
361 | -0.469956;-0.813986;-0.341420;,
362 | 0.672175;0.000000;-0.740393;,
363 | 0.336087;-0.582121;-0.740392;,
364 | 0.469956;-0.813986;-0.341420;,
365 | 0.939911;0.000000;-0.341419;,
366 | 0.939911;0.000000;-0.341419;,
367 | 0.469956;-0.813986;-0.341420;,
368 | -0.336087;0.582121;-0.740392;,
369 | -0.469955;0.813987;-0.341420;,
370 | 0.336087;0.582121;-0.740392;,
371 | 0.469955;0.813987;-0.341420;,
372 | -0.672175;0.000000;-0.740393;,
373 | -0.336087;0.582121;-0.740392;,
374 | -0.939911;0.000000;-0.341419;,
375 | -0.469955;0.813987;-0.341420;,
376 | 0.469955;0.813987;-0.341420;,
377 | -0.469955;0.813987;-0.341420;,
378 | -0.939911;0.000000;-0.341419;,
379 | -0.469955;0.813987;-0.341420;,
380 | 0.672175;0.000000;-0.740393;,
381 | 0.469955;0.813987;-0.341420;,
382 | 0.939911;0.000000;-0.341419;,
383 | 0.336087;0.582121;-0.740392;,
384 | 0.469955;0.813987;-0.341420;,
385 | 0.939911;0.000000;-0.341419;,
386 | 1.000000;-0.000000;0.000000;,
387 | 1.000000;-0.000000;0.000000;,
388 | 0.000000;1.000000;0.000000;,
389 | 0.000000;1.000000;0.000000;,
390 | 1.000000;-0.000000;0.000000;,
391 | 1.000000;-0.000000;0.000000;,
392 | 1.000000;-0.000000;0.000000;,
393 | 0.000000;1.000000;-0.000000;,
394 | 0.000000;1.000000;-0.000000;,
395 | 0.000000;1.000000;-0.000000;,
396 | 1.000000;-0.000000;0.000000;,
397 | 1.000000;-0.000000;0.000000;,
398 | 0.000000;1.000000;0.000000;,
399 | 0.000000;1.000000;0.000000;,
400 | 1.000000;-0.000000;0.000000;,
401 | 1.000000;-0.000000;0.000000;,
402 | 0.000000;1.000000;0.000000;,
403 | 0.000000;1.000000;0.000000;,
404 | -0.381553;0.727513;-0.570213;,
405 | 0.381553;0.727513;-0.570213;,
406 | 0.801066;0.000000;-0.598577;,
407 | 0.381553;-0.727513;-0.570213;,
408 | -0.381553;-0.727513;-0.570213;,
409 | -0.801066;0.000000;-0.598577;,
410 | 0.801066;0.000000;-0.598577;,
411 | 0.381553;-0.727513;-0.570213;,
412 | 0.454930;-0.867417;-0.201560;,
413 | 0.976330;0.000000;-0.216285;,
414 | 0.381553;-0.727513;-0.570213;,
415 | -0.381553;-0.727513;-0.570213;,
416 | -0.454930;-0.867417;-0.201560;,
417 | 0.454930;-0.867417;-0.201560;,
418 | -0.381553;-0.727513;-0.570213;,
419 | -0.801066;0.000000;-0.598577;,
420 | -0.454930;-0.867417;-0.201560;,
421 | -0.976330;0.000000;-0.216285;,
422 | -0.381553;0.727513;-0.570213;,
423 | 0.381553;0.727513;-0.570213;,
424 | -0.454929;0.867418;-0.201559;,
425 | 0.454929;0.867418;-0.201559;,
426 | 0.381553;0.727513;-0.570213;,
427 | 0.801066;0.000000;-0.598577;,
428 | 0.454929;0.867418;-0.201559;,
429 | 0.976330;0.000000;-0.216285;,
430 | -0.381553;0.727513;-0.570213;,
431 | -0.801066;0.000000;-0.598577;,
432 | -0.976330;0.000000;-0.216285;,
433 | -0.454929;0.867418;-0.201559;,
434 | 0.976330;0.000000;-0.216285;,
435 | 0.454930;-0.867417;-0.201560;,
436 | 0.454930;-0.867417;-0.201560;,
437 | -0.454930;-0.867417;-0.201560;,
438 | -0.976330;0.000000;-0.216285;,
439 | -0.454930;-0.867417;-0.201560;,
440 | 0.454929;0.867418;-0.201559;,
441 | -0.454929;0.867418;-0.201559;,
442 | 0.454929;0.867418;-0.201559;,
443 | 0.976330;0.000000;-0.216285;,
444 | -0.976330;0.000000;-0.216285;,
445 | -0.454929;0.867418;-0.201559;;
446 | 50;
447 | 3;60,86,78;,
448 | 3;18,0,36;,
449 | 3;6,1,19;,
450 | 3;7,10,2;,
451 | 3;11,28,3;,
452 | 3;4,29,24;,
453 | 3;37,32,40;,
454 | 3;22,38,41;,
455 | 3;14,20,23;,
456 | 3;15,12,8;,
457 | 3;16,30,13;,
458 | 3;31,33,25;,
459 | 3;46,47,48;,
460 | 3;46,53,47;,
461 | 3;52,57,53;,
462 | 3;42,56,43;,
463 | 3;50,51,49;,
464 | 3;50,55,51;,
465 | 3;54,59,55;,
466 | 3;44,58,45;,
467 | 3;61,79,82;,
468 | 3;66,62,83;,
469 | 3;70,63,67;,
470 | 3;71,74,64;,
471 | 3;75,87,65;,
472 | 3;5,26,39;,
473 | 3;84,96,98;,
474 | 3;90,85,99;,
475 | 3;92,68,91;,
476 | 3;93,76,72;,
477 | 3;94,88,77;,
478 | 3;89,97,80;,
479 | 3;37,27,32;,
480 | 3;22,21,38;,
481 | 3;14,9,20;,
482 | 3;15,17,12;,
483 | 3;16,34,30;,
484 | 3;31,35,33;,
485 | 3;46,52,53;,
486 | 3;52,56,57;,
487 | 3;42,57,56;,
488 | 3;50,54,55;,
489 | 3;54,58,59;,
490 | 3;44,59,58;,
491 | 3;84,81,96;,
492 | 3;90,69,85;,
493 | 3;92,73,68;,
494 | 3;93,95,76;,
495 | 3;94,100,88;,
496 | 3;89,101,97;;
497 | }
498 |
499 | MeshTextureCoords {
500 | 102;
501 | 0.299000;0.748800;,
502 | 0.299000;0.748800;,
503 | 0.299000;0.748800;,
504 | 0.299000;0.748800;,
505 | 0.299000;0.748800;,
506 | 0.299000;0.748800;,
507 | 0.299000;0.830091;,
508 | 0.299000;0.830091;,
509 | 0.299000;0.830091;,
510 | 0.299000;0.830091;,
511 | 0.273408;0.788610;,
512 | 0.273408;0.788610;,
513 | 0.273408;0.788610;,
514 | 0.273408;0.788610;,
515 | 0.299000;0.974084;,
516 | 0.299000;0.974084;,
517 | 0.231200;0.861442;,
518 | 0.231200;0.861442;,
519 | 0.324592;0.788610;,
520 | 0.324592;0.788610;,
521 | 0.324592;0.788610;,
522 | 0.324592;0.788610;,
523 | 0.371800;0.861442;,
524 | 0.371800;0.861442;,
525 | 0.299000;0.664165;,
526 | 0.299000;0.664165;,
527 | 0.299000;0.664165;,
528 | 0.299000;0.664165;,
529 | 0.273408;0.705646;,
530 | 0.273408;0.705646;,
531 | 0.273408;0.705646;,
532 | 0.273408;0.705646;,
533 | 0.299000;0.523516;,
534 | 0.299000;0.523516;,
535 | 0.231200;0.636158;,
536 | 0.231200;0.636158;,
537 | 0.324592;0.705646;,
538 | 0.324592;0.705646;,
539 | 0.324592;0.705646;,
540 | 0.324592;0.705646;,
541 | 0.371800;0.636158;,
542 | 0.371800;0.636158;,
543 | 0.196013;0.005000;,
544 | 0.193987;0.495000;,
545 | 0.196013;0.005000;,
546 | 0.193987;0.495000;,
547 | 0.003987;0.495000;,
548 | 0.006013;0.005000;,
549 | 0.008000;0.240000;,
550 | 0.008000;0.240000;,
551 | 0.003987;0.495000;,
552 | 0.006013;0.005000;,
553 | 0.048987;0.495000;,
554 | 0.046013;0.005000;,
555 | 0.048987;0.495000;,
556 | 0.046013;0.005000;,
557 | 0.123987;0.495000;,
558 | 0.126013;0.005000;,
559 | 0.123987;0.495000;,
560 | 0.126013;0.005000;,
561 | 0.300000;0.254750;,
562 | 0.300000;0.254750;,
563 | 0.300000;0.254750;,
564 | 0.300000;0.254750;,
565 | 0.300000;0.254750;,
566 | 0.300000;0.254750;,
567 | 0.318532;0.287401;,
568 | 0.318532;0.287401;,
569 | 0.318532;0.287401;,
570 | 0.318532;0.287401;,
571 | 0.300000;0.322332;,
572 | 0.300000;0.322332;,
573 | 0.300000;0.322332;,
574 | 0.300000;0.322332;,
575 | 0.281468;0.287401;,
576 | 0.281468;0.287401;,
577 | 0.281468;0.287401;,
578 | 0.281468;0.287401;,
579 | 0.300000;0.182608;,
580 | 0.300000;0.182608;,
581 | 0.300000;0.182608;,
582 | 0.300000;0.182608;,
583 | 0.318532;0.217539;,
584 | 0.318532;0.217539;,
585 | 0.318532;0.217539;,
586 | 0.318532;0.217539;,
587 | 0.281468;0.217539;,
588 | 0.281468;0.217539;,
589 | 0.281468;0.217539;,
590 | 0.281468;0.217539;,
591 | 0.369000;0.373500;,
592 | 0.369000;0.373500;,
593 | 0.300000;0.492250;,
594 | 0.300000;0.492250;,
595 | 0.226000;0.373500;,
596 | 0.226000;0.373500;,
597 | 0.300000;0.017250;,
598 | 0.300000;0.017250;,
599 | 0.369000;0.136000;,
600 | 0.369000;0.136000;,
601 | 0.226000;0.136000;,
602 | 0.226000;0.136000;;
603 | }
604 |
605 | VertexDuplicationIndices {
606 | 102;
607 | 101;
608 | 0,
609 | 0,
610 | 0,
611 | 0,
612 | 0,
613 | 0,
614 | 6,
615 | 6,
616 | 6,
617 | 6,
618 | 10,
619 | 10,
620 | 10,
621 | 10,
622 | 14,
623 | 14,
624 | 16,
625 | 16,
626 | 18,
627 | 18,
628 | 18,
629 | 18,
630 | 22,
631 | 22,
632 | 24,
633 | 24,
634 | 24,
635 | 24,
636 | 28,
637 | 28,
638 | 28,
639 | 28,
640 | 32,
641 | 32,
642 | 34,
643 | 34,
644 | 36,
645 | 36,
646 | 36,
647 | 36,
648 | 40,
649 | 40,
650 | 42,
651 | 43,
652 | 44,
653 | 45,
654 | 46,
655 | 47,
656 | 48,
657 | 48,
658 | 50,
659 | 51,
660 | 52,
661 | 53,
662 | 54,
663 | 55,
664 | 56,
665 | 57,
666 | 58,
667 | 59,
668 | 60,
669 | 60,
670 | 60,
671 | 60,
672 | 60,
673 | 60,
674 | 66,
675 | 66,
676 | 66,
677 | 66,
678 | 70,
679 | 70,
680 | 70,
681 | 70,
682 | 74,
683 | 74,
684 | 74,
685 | 74,
686 | 78,
687 | 78,
688 | 78,
689 | 78,
690 | 82,
691 | 82,
692 | 82,
693 | 82,
694 | 86,
695 | 86,
696 | 86,
697 | 86,
698 | 90,
699 | 90,
700 | 92,
701 | 92,
702 | 94,
703 | 94,
704 | 96,
705 | 96,
706 | 98,
707 | 98,
708 | 100,
709 | 100;
710 | }
711 |
712 | MeshMaterialList {
713 | 1;
714 | 50;
715 | 0,
716 | 0,
717 | 0,
718 | 0,
719 | 0,
720 | 0,
721 | 0,
722 | 0,
723 | 0,
724 | 0,
725 | 0,
726 | 0,
727 | 0,
728 | 0,
729 | 0,
730 | 0,
731 | 0,
732 | 0,
733 | 0,
734 | 0,
735 | 0,
736 | 0,
737 | 0,
738 | 0,
739 | 0,
740 | 0,
741 | 0,
742 | 0,
743 | 0,
744 | 0,
745 | 0,
746 | 0,
747 | 0,
748 | 0,
749 | 0,
750 | 0,
751 | 0,
752 | 0,
753 | 0,
754 | 0,
755 | 0,
756 | 0,
757 | 0,
758 | 0,
759 | 0,
760 | 0,
761 | 0,
762 | 0,
763 | 0,
764 | 0;
765 | { laserA_Default }
766 | }
767 | }
768 | }
769 | }
770 |
--------------------------------------------------------------------------------
/content/efobj/rainbow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/efobj/rainbow.png
--------------------------------------------------------------------------------
/content/efobj/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/efobj/splash.png
--------------------------------------------------------------------------------
/content/efobj/tamaC_2.x:
--------------------------------------------------------------------------------
1 | xof 0303txt 0032
2 |
3 | template Header {
4 | <3D82AB43-62DA-11cf-AB39-0020AF71E433>
5 | WORD major;
6 | WORD minor;
7 | DWORD flags;
8 | }
9 |
10 | template Vector {
11 | <3D82AB5E-62DA-11cf-AB39-0020AF71E433>
12 | FLOAT x;
13 | FLOAT y;
14 | FLOAT z;
15 | }
16 |
17 | template Coords2d {
18 |
19 | FLOAT u;
20 | FLOAT v;
21 | }
22 |
23 | template Matrix4x4 {
24 |
25 | array FLOAT matrix[16];
26 | }
27 |
28 | template ColorRGBA {
29 | <35FF44E0-6C7C-11cf-8F52-0040333594A3>
30 | FLOAT red;
31 | FLOAT green;
32 | FLOAT blue;
33 | FLOAT alpha;
34 | }
35 |
36 | template ColorRGB {
37 |
38 | FLOAT red;
39 | FLOAT green;
40 | FLOAT blue;
41 | }
42 |
43 | template IndexedColor {
44 | <1630B820-7842-11cf-8F52-0040333594A3>
45 | DWORD index;
46 | ColorRGBA indexColor;
47 | }
48 |
49 | template Boolean {
50 | <4885AE61-78E8-11cf-8F52-0040333594A3>
51 | WORD truefalse;
52 | }
53 |
54 | template Boolean2d {
55 | <4885AE63-78E8-11cf-8F52-0040333594A3>
56 | Boolean u;
57 | Boolean v;
58 | }
59 |
60 | template MaterialWrap {
61 | <4885AE60-78E8-11cf-8F52-0040333594A3>
62 | Boolean u;
63 | Boolean v;
64 | }
65 |
66 | template TextureFilename {
67 |
68 | STRING filename;
69 | }
70 |
71 | template Material {
72 | <3D82AB4D-62DA-11cf-AB39-0020AF71E433>
73 | ColorRGBA faceColor;
74 | FLOAT power;
75 | ColorRGB specularColor;
76 | ColorRGB emissiveColor;
77 | [...]
78 | }
79 |
80 | template MeshFace {
81 | <3D82AB5F-62DA-11cf-AB39-0020AF71E433>
82 | DWORD nFaceVertexIndices;
83 | array DWORD faceVertexIndices[nFaceVertexIndices];
84 | }
85 |
86 | template MeshFaceWraps {
87 | <4885AE62-78E8-11cf-8F52-0040333594A3>
88 | DWORD nFaceWrapValues;
89 | Boolean2d faceWrapValues;
90 | }
91 |
92 | template MeshTextureCoords {
93 |
94 | DWORD nTextureCoords;
95 | array Coords2d textureCoords[nTextureCoords];
96 | }
97 |
98 | template MeshMaterialList {
99 |
100 | DWORD nMaterials;
101 | DWORD nFaceIndexes;
102 | array DWORD faceIndexes[nFaceIndexes];
103 | [Material]
104 | }
105 |
106 | template MeshNormals {
107 |
108 | DWORD nNormals;
109 | array Vector normals[nNormals];
110 | DWORD nFaceNormals;
111 | array MeshFace faceNormals[nFaceNormals];
112 | }
113 |
114 | template MeshVertexColors {
115 | <1630B821-7842-11cf-8F52-0040333594A3>
116 | DWORD nVertexColors;
117 | array IndexedColor vertexColors[nVertexColors];
118 | }
119 |
120 | template Mesh {
121 | <3D82AB44-62DA-11cf-AB39-0020AF71E433>
122 | DWORD nVertices;
123 | array Vector vertices[nVertices];
124 | DWORD nFaces;
125 | array MeshFace faces[nFaces];
126 | [...]
127 | }
128 |
129 | template FrameTransformMatrix {
130 |
131 | Matrix4x4 frameMatrix;
132 | }
133 |
134 | template Frame {
135 | <3D82AB46-62DA-11cf-AB39-0020AF71E433>
136 | [...]
137 | }
138 |
139 |
140 | template XSkinMeshHeader {
141 | <3cf169ce-ff7c-44ab-93c0-f78f62d172e2>
142 | WORD nMaxSkinWeightsPerVertex;
143 | WORD nMaxSkinWeightsPerFace;
144 | WORD nBones;
145 | }
146 |
147 | template VertexDuplicationIndices {
148 |
149 | DWORD nIndices;
150 | DWORD nOriginalVertices;
151 | array DWORD indices[nIndices];
152 | }
153 |
154 | template SkinWeights {
155 | <6f0d123b-bad2-4167-a0d0-80224f25fabb>
156 | STRING transformNodeName;
157 | DWORD nWeights;
158 | array DWORD vertexIndices[nWeights];
159 | array FLOAT weights[nWeights];
160 | Matrix4x4 matrixOffset;
161 | }
162 |
163 |
164 | Material tamaC_2_Default {
165 | 1.000000;1.000000;1.000000;1.000000;;
166 | 51.200001;
167 | 0.000000;0.000000;0.000000;;
168 | 0.000000;0.000000;0.000000;;
169 | TextureFilename {
170 | "BurretAll.jpg";
171 | }
172 | }
173 |
174 | Frame Frame_SCENE_ROOT {
175 |
176 | FrameTransformMatrix {
177 | 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;;
178 | }
179 |
180 | Frame Frame1_tamaC_2 {
181 |
182 | FrameTransformMatrix {
183 | 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;;
184 | }
185 |
186 | Mesh Mesh_tamaC_2 {
187 | 27;
188 | -0.250000;-0.000000;0.340000;,
189 | 0.250000;-0.000000;0.340000;,
190 | 0.250000;0.000000;-0.140000;,
191 | -0.250000;0.000000;-0.140000;,
192 | -0.000000;-0.000000;0.340000;,
193 | 0.000000;0.000000;-0.140000;,
194 | 0.250000;-0.000000;0.000000;,
195 | 0.000000;0.000000;0.000000;,
196 | -0.250000;0.000000;0.000000;,
197 | -0.250000;-0.250000;0.000000;,
198 | -0.250000;0.250000;0.000000;,
199 | 0.250000;0.250000;0.000000;,
200 | 0.250000;-0.250000;0.000000;,
201 | -0.250000;0.000000;0.000000;,
202 | 0.250000;0.000000;0.000000;,
203 | 0.000000;0.250000;0.000000;,
204 | 0.000000;0.000000;0.000000;,
205 | 0.000000;-0.250000;0.000000;,
206 | 0.000000;-0.250000;0.340000;,
207 | 0.000000;0.250000;0.340000;,
208 | -0.000000;0.250000;-0.140000;,
209 | -0.000000;-0.250000;-0.140000;,
210 | 0.000000;0.000000;0.340000;,
211 | -0.000000;0.000000;-0.140000;,
212 | 0.000000;0.250000;0.000000;,
213 | 0.000000;0.000000;0.000000;,
214 | 0.000000;-0.250000;0.000000;;
215 | 24;
216 | 3;4,7,6;,
217 | 3;2,7,5;,
218 | 3;4,8,7;,
219 | 3;5,8,3;,
220 | 3;13,15,10;,
221 | 3;11,16,14;,
222 | 3;13,17,16;,
223 | 3;14,17,12;,
224 | 3;22,24,19;,
225 | 3;20,25,23;,
226 | 3;22,26,25;,
227 | 3;23,26,21;,
228 | 3;4,6,1;,
229 | 3;2,6,7;,
230 | 3;4,0,8;,
231 | 3;5,7,8;,
232 | 3;13,16,15;,
233 | 3;11,15,16;,
234 | 3;13,9,17;,
235 | 3;14,16,17;,
236 | 3;22,25,24;,
237 | 3;20,24,25;,
238 | 3;22,18,26;,
239 | 3;23,25,26;;
240 |
241 | MeshNormals {
242 | 27;
243 | -0.000000;-1.000000;-0.000000;,
244 | -0.000000;-1.000000;-0.000000;,
245 | -0.000000;-1.000000;-0.000000;,
246 | -0.000000;-1.000000;-0.000000;,
247 | -0.000000;-1.000000;-0.000000;,
248 | -0.000000;-1.000000;-0.000000;,
249 | -0.000000;-1.000000;-0.000000;,
250 | -0.000000;-1.000000;-0.000000;,
251 | -0.000000;-1.000000;-0.000000;,
252 | 0.000000;0.000000;1.000000;,
253 | 0.000000;0.000000;1.000000;,
254 | 0.000000;0.000000;1.000000;,
255 | 0.000000;0.000000;1.000000;,
256 | 0.000000;0.000000;1.000000;,
257 | 0.000000;0.000000;1.000000;,
258 | 0.000000;0.000000;1.000000;,
259 | 0.000000;0.000000;1.000000;,
260 | 0.000000;0.000000;1.000000;,
261 | 1.000000;0.000000;-0.000000;,
262 | 1.000000;0.000000;-0.000000;,
263 | 1.000000;0.000000;-0.000000;,
264 | 1.000000;0.000000;-0.000000;,
265 | 1.000000;0.000000;-0.000000;,
266 | 1.000000;0.000000;-0.000000;,
267 | 1.000000;0.000000;-0.000000;,
268 | 1.000000;0.000000;-0.000000;,
269 | 1.000000;0.000000;-0.000000;;
270 | 24;
271 | 3;4,7,6;,
272 | 3;2,7,5;,
273 | 3;4,8,7;,
274 | 3;5,8,3;,
275 | 3;13,15,10;,
276 | 3;11,16,14;,
277 | 3;13,17,16;,
278 | 3;14,17,12;,
279 | 3;22,24,19;,
280 | 3;20,25,23;,
281 | 3;22,26,25;,
282 | 3;23,26,21;,
283 | 3;4,6,1;,
284 | 3;2,6,7;,
285 | 3;4,0,8;,
286 | 3;5,7,8;,
287 | 3;13,16,15;,
288 | 3;11,15,16;,
289 | 3;13,9,17;,
290 | 3;14,16,17;,
291 | 3;22,25,24;,
292 | 3;20,24,25;,
293 | 3;22,18,26;,
294 | 3;23,25,26;;
295 | }
296 |
297 | MeshTextureCoords {
298 | 27;
299 | 0.201935;0.991935;,
300 | 0.201935;0.508065;,
301 | -0.001935;0.508065;,
302 | -0.001935;0.991935;,
303 | 0.201935;0.750000;,
304 | -0.001935;0.750000;,
305 | 0.099194;0.508065;,
306 | 0.099194;0.750000;,
307 | 0.099194;0.991935;,
308 | 0.001532;0.991935;,
309 | 0.001532;0.508065;,
310 | 0.193468;0.508065;,
311 | 0.193468;0.991935;,
312 | 0.001532;0.750000;,
313 | 0.193468;0.750000;,
314 | 0.099500;0.508065;,
315 | 0.099500;0.750000;,
316 | 0.099500;0.991935;,
317 | 0.201935;0.991935;,
318 | 0.201935;0.508065;,
319 | -0.001935;0.508065;,
320 | -0.001935;0.991935;,
321 | 0.201935;0.750000;,
322 | -0.001935;0.750000;,
323 | 0.099194;0.508065;,
324 | 0.099194;0.750000;,
325 | 0.099194;0.991935;;
326 | }
327 |
328 | MeshMaterialList {
329 | 1;
330 | 24;
331 | 0,
332 | 0,
333 | 0,
334 | 0,
335 | 0,
336 | 0,
337 | 0,
338 | 0,
339 | 0,
340 | 0,
341 | 0,
342 | 0,
343 | 0,
344 | 0,
345 | 0,
346 | 0,
347 | 0,
348 | 0,
349 | 0,
350 | 0,
351 | 0,
352 | 0,
353 | 0,
354 | 0;
355 | { tamaC_2_Default }
356 | }
357 | }
358 | }
359 | }
360 |
--------------------------------------------------------------------------------
/content/enemys/Carrier_B_boro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/enemys/Carrier_B_boro.png
--------------------------------------------------------------------------------
/content/enemys/ene_grp1_uv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/enemys/ene_grp1_uv.png
--------------------------------------------------------------------------------
/content/ground/SkyD.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/ground/SkyD.jpg
--------------------------------------------------------------------------------
/content/ground/riverwar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/ground/riverwar.png
--------------------------------------------------------------------------------
/content/ground/stage4_bp0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/ground/stage4_bp0.png
--------------------------------------------------------------------------------
/content/htmlimage/barniause.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/htmlimage/barniause.gif
--------------------------------------------------------------------------------
/content/htmlimage/junk_sample1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/htmlimage/junk_sample1.png
--------------------------------------------------------------------------------
/content/htmlimage/junk_sample2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/htmlimage/junk_sample2.png
--------------------------------------------------------------------------------
/content/htmlimage/junk_sample3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/htmlimage/junk_sample3.png
--------------------------------------------------------------------------------
/content/tex64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/tex64.png
--------------------------------------------------------------------------------
/content/texture/SSR06_Born2_bp_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/texture/SSR06_Born2_bp_base.png
--------------------------------------------------------------------------------
/content/texture/SSR06_Born2_dif.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/texture/SSR06_Born2_dif.png
--------------------------------------------------------------------------------
/content/title_Back.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/title_Back.jpg
--------------------------------------------------------------------------------
/content/title_Back_Ray.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/title_Back_Ray.jpg
--------------------------------------------------------------------------------
/content/wayPointObj.x:
--------------------------------------------------------------------------------
1 | xof 0303txt 0032
2 |
3 | template XSkinMeshHeader {
4 | <3cf169ce-ff7c-44ab-93c0-f78f62d172e2>
5 | WORD nMaxSkinWeightsPerVertex;
6 | WORD nMaxSkinWeightsPerFace;
7 | WORD nBones;
8 | }
9 |
10 | template VertexDuplicationIndices {
11 |
12 | DWORD nIndices;
13 | DWORD nOriginalVertices;
14 | array DWORD indices[nIndices];
15 | }
16 |
17 | template SkinWeights {
18 | <6f0d123b-bad2-4167-a0d0-80224f25fabb>
19 | STRING transformNodeName;
20 | DWORD nWeights;
21 | array DWORD vertexIndices[nWeights];
22 | array FLOAT weights[nWeights];
23 | Matrix4x4 matrixOffset;
24 | }
25 |
26 |
27 | Frame Frame_SCENE_ROOT {
28 |
29 | FrameTransformMatrix {
30 | 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;;
31 | }
32 |
33 | Frame Frame1_wayPointObj {
34 |
35 | FrameTransformMatrix {
36 | 1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000;;
37 | }
38 |
39 | Mesh Mesh_wayPointObj {
40 | 128;
41 | -0.250000;1.000000;-0.250000;,
42 | -0.250000;1.000000;-0.250000;,
43 | -0.250000;1.000000;-0.250000;,
44 | -0.250000;1.000000;-0.250000;,
45 | 0.250000;1.000000;-0.250000;,
46 | 0.250000;1.000000;-0.250000;,
47 | 0.250000;1.000000;-0.250000;,
48 | 0.250000;1.000000;-0.250000;,
49 | 0.250000;1.000000;0.250000;,
50 | 0.250000;1.000000;0.250000;,
51 | 0.250000;1.000000;0.250000;,
52 | 0.250000;1.000000;0.250000;,
53 | -0.250000;1.000000;0.250000;,
54 | -0.250000;1.000000;0.250000;,
55 | -0.250000;1.000000;0.250000;,
56 | -0.250000;1.000000;0.250000;,
57 | 0.000000;0.000000;0.000000;,
58 | 0.000000;0.000000;0.000000;,
59 | 0.000000;0.000000;0.000000;,
60 | 0.000000;0.000000;0.000000;,
61 | -0.170000;1.100000;-0.170000;,
62 | -0.170000;1.100000;-0.170000;,
63 | -0.170000;1.100000;-0.170000;,
64 | -0.170000;1.100000;0.170000;,
65 | -0.170000;1.100000;0.170000;,
66 | -0.170000;1.100000;0.170000;,
67 | 0.170000;1.100000;0.170000;,
68 | 0.170000;1.100000;0.170000;,
69 | 0.170000;1.100000;0.170000;,
70 | 0.170000;1.100000;-0.170000;,
71 | 0.170000;1.100000;-0.170000;,
72 | 0.170000;1.100000;-0.170000;,
73 | 10.000000;-0.200000;0.000000;,
74 | 10.000000;-0.200000;0.000000;,
75 | 9.659258;-0.200000;2.588191;,
76 | 9.659258;-0.200000;2.588191;,
77 | 8.660254;-0.200000;5.000000;,
78 | 8.660254;-0.200000;5.000000;,
79 | 7.071068;-0.200000;7.071068;,
80 | 7.071068;-0.200000;7.071068;,
81 | 5.000000;-0.200000;8.660254;,
82 | 5.000000;-0.200000;8.660254;,
83 | 2.588191;-0.200000;9.659258;,
84 | 2.588191;-0.200000;9.659258;,
85 | 0.000000;-0.200000;10.000000;,
86 | 0.000000;-0.200000;10.000000;,
87 | -2.588191;-0.200000;9.659258;,
88 | -2.588191;-0.200000;9.659258;,
89 | -5.000000;-0.200000;8.660254;,
90 | -5.000000;-0.200000;8.660254;,
91 | -7.071068;-0.200000;7.071068;,
92 | -7.071068;-0.200000;7.071068;,
93 | -8.660254;-0.200000;5.000000;,
94 | -8.660254;-0.200000;5.000000;,
95 | -9.659258;-0.200000;2.588191;,
96 | -9.659258;-0.200000;2.588191;,
97 | -10.000000;-0.200000;0.000000;,
98 | -10.000000;-0.200000;0.000000;,
99 | -9.659258;-0.200000;-2.588191;,
100 | -9.659258;-0.200000;-2.588191;,
101 | -8.660254;-0.200000;-5.000000;,
102 | -8.660254;-0.200000;-5.000000;,
103 | -7.071068;-0.200000;-7.071068;,
104 | -7.071068;-0.200000;-7.071068;,
105 | -5.000000;-0.200000;-8.660254;,
106 | -5.000000;-0.200000;-8.660254;,
107 | -2.588191;-0.200000;-9.659258;,
108 | -2.588191;-0.200000;-9.659258;,
109 | 0.000000;-0.200000;-10.000000;,
110 | 0.000000;-0.200000;-10.000000;,
111 | 2.588191;-0.200000;-9.659258;,
112 | 2.588191;-0.200000;-9.659258;,
113 | 5.000000;-0.200000;-8.660254;,
114 | 5.000000;-0.200000;-8.660254;,
115 | 7.071068;-0.200000;-7.071068;,
116 | 7.071068;-0.200000;-7.071068;,
117 | 8.660254;-0.200000;-5.000000;,
118 | 8.660254;-0.200000;-5.000000;,
119 | 9.659258;-0.200000;-2.588191;,
120 | 9.659258;-0.200000;-2.588191;,
121 | 10.000000;0.400000;0.000000;,
122 | 10.000000;0.400000;0.000000;,
123 | 9.659258;0.400000;2.588191;,
124 | 9.659258;0.400000;2.588191;,
125 | 8.660254;0.400000;5.000000;,
126 | 8.660254;0.400000;5.000000;,
127 | 7.071068;0.400000;7.071068;,
128 | 7.071068;0.400000;7.071068;,
129 | 5.000000;0.400000;8.660254;,
130 | 5.000000;0.400000;8.660254;,
131 | 2.588191;0.400000;9.659258;,
132 | 2.588191;0.400000;9.659258;,
133 | 0.000000;0.400000;10.000000;,
134 | 0.000000;0.400000;10.000000;,
135 | -2.588191;0.400000;9.659258;,
136 | -2.588191;0.400000;9.659258;,
137 | -5.000000;0.400000;8.660254;,
138 | -5.000000;0.400000;8.660254;,
139 | -7.071068;0.400000;7.071068;,
140 | -7.071068;0.400000;7.071068;,
141 | -8.660254;0.400000;5.000000;,
142 | -8.660254;0.400000;5.000000;,
143 | -9.659258;0.400000;2.588191;,
144 | -9.659258;0.400000;2.588191;,
145 | -10.000000;0.400000;0.000000;,
146 | -10.000000;0.400000;0.000000;,
147 | -9.659258;0.400000;-2.588191;,
148 | -9.659258;0.400000;-2.588191;,
149 | -8.660254;0.400000;-5.000000;,
150 | -8.660254;0.400000;-5.000000;,
151 | -7.071068;0.400000;-7.071068;,
152 | -7.071068;0.400000;-7.071068;,
153 | -5.000000;0.400000;-8.660254;,
154 | -5.000000;0.400000;-8.660254;,
155 | -2.588191;0.400000;-9.659258;,
156 | -2.588191;0.400000;-9.659258;,
157 | 0.000000;0.400000;-10.000000;,
158 | 0.000000;0.400000;-10.000000;,
159 | 2.588191;0.400000;-9.659258;,
160 | 2.588191;0.400000;-9.659258;,
161 | 5.000000;0.400000;-8.660254;,
162 | 5.000000;0.400000;-8.660254;,
163 | 7.071068;0.400000;-7.071068;,
164 | 7.071068;0.400000;-7.071068;,
165 | 8.660254;0.400000;-5.000000;,
166 | 8.660254;0.400000;-5.000000;,
167 | 9.659258;0.400000;-2.588191;,
168 | 9.659258;0.400000;-2.588191;;
169 | 62;
170 | 3;76,126,78;,
171 | 3;4,8,16;,
172 | 3;17,9,12;,
173 | 3;18,13,0;,
174 | 3;20,26,29;,
175 | 3;5,21,30;,
176 | 3;1,23,22;,
177 | 3;14,27,24;,
178 | 3;6,28,10;,
179 | 3;32,82,34;,
180 | 3;35,84,36;,
181 | 3;37,86,38;,
182 | 3;39,88,40;,
183 | 3;41,90,42;,
184 | 3;43,92,44;,
185 | 3;46,93,94;,
186 | 3;48,95,96;,
187 | 3;50,97,98;,
188 | 3;52,99,100;,
189 | 3;54,101,102;,
190 | 3;56,103,104;,
191 | 3;58,105,106;,
192 | 3;60,107,108;,
193 | 3;62,109,110;,
194 | 3;64,111,112;,
195 | 3;66,113,114;,
196 | 3;68,115,116;,
197 | 3;69,118,70;,
198 | 3;71,120,72;,
199 | 3;73,122,74;,
200 | 3;75,124,77;,
201 | 3;2,7,19;,
202 | 3;79,80,33;,
203 | 3;20,25,26;,
204 | 3;5,3,21;,
205 | 3;1,15,23;,
206 | 3;14,11,27;,
207 | 3;6,31,28;,
208 | 3;32,81,82;,
209 | 3;35,83,84;,
210 | 3;37,85,86;,
211 | 3;39,87,88;,
212 | 3;41,89,90;,
213 | 3;43,91,92;,
214 | 3;46,45,93;,
215 | 3;48,47,95;,
216 | 3;50,49,97;,
217 | 3;52,51,99;,
218 | 3;54,53,101;,
219 | 3;56,55,103;,
220 | 3;58,57,105;,
221 | 3;60,59,107;,
222 | 3;62,61,109;,
223 | 3;64,63,111;,
224 | 3;66,65,113;,
225 | 3;68,67,115;,
226 | 3;69,117,118;,
227 | 3;71,119,120;,
228 | 3;73,121,122;,
229 | 3;75,123,124;,
230 | 3;76,125,126;,
231 | 3;79,127,80;;
232 |
233 | MeshNormals {
234 | 128;
235 | -0.970142;-0.242536;0.000000;,
236 | -0.780869;0.624695;0.000000;,
237 | 0.000000;-0.242536;-0.970142;,
238 | 0.000000;0.624695;-0.780869;,
239 | 0.970142;-0.242536;0.000000;,
240 | 0.000000;0.624695;-0.780869;,
241 | 0.780869;0.624695;0.000000;,
242 | 0.000000;-0.242536;-0.970142;,
243 | 0.970142;-0.242536;0.000000;,
244 | 0.000000;-0.242536;0.970142;,
245 | 0.780869;0.624695;0.000000;,
246 | 0.000000;0.624695;0.780869;,
247 | 0.000000;-0.242536;0.970142;,
248 | -0.970142;-0.242536;0.000000;,
249 | 0.000000;0.624695;0.780869;,
250 | -0.780869;0.624695;0.000000;,
251 | 0.970142;-0.242536;0.000000;,
252 | 0.000000;-0.242536;0.970142;,
253 | -0.970142;-0.242536;0.000000;,
254 | 0.000000;-0.242536;-0.970142;,
255 | 0.000000;1.000000;0.000000;,
256 | 0.000000;0.624695;-0.780869;,
257 | -0.780869;0.624695;0.000000;,
258 | -0.780869;0.624695;0.000000;,
259 | 0.000000;0.624695;0.780869;,
260 | 0.000000;1.000000;0.000000;,
261 | 0.000000;1.000000;0.000000;,
262 | 0.000000;0.624695;0.780869;,
263 | 0.780869;0.624695;0.000000;,
264 | 0.000000;1.000000;0.000000;,
265 | 0.000000;0.624695;-0.780869;,
266 | 0.780869;0.624695;0.000000;,
267 | 0.991445;0.000000;0.130526;,
268 | 0.991445;0.000000;-0.130526;,
269 | 0.991445;0.000000;0.130526;,
270 | 0.923880;0.000000;0.382683;,
271 | 0.923880;0.000000;0.382683;,
272 | 0.793353;0.000000;0.608761;,
273 | 0.793353;0.000000;0.608761;,
274 | 0.608761;0.000000;0.793353;,
275 | 0.608761;0.000000;0.793353;,
276 | 0.382683;0.000000;0.923880;,
277 | 0.382683;0.000000;0.923880;,
278 | 0.130526;0.000000;0.991445;,
279 | 0.130526;0.000000;0.991445;,
280 | -0.130526;0.000000;0.991445;,
281 | -0.130526;0.000000;0.991445;,
282 | -0.382683;0.000000;0.923880;,
283 | -0.382683;0.000000;0.923880;,
284 | -0.608761;0.000000;0.793353;,
285 | -0.608761;0.000000;0.793353;,
286 | -0.793353;0.000000;0.608761;,
287 | -0.793353;0.000000;0.608761;,
288 | -0.923880;0.000000;0.382683;,
289 | -0.923880;0.000000;0.382683;,
290 | -0.991445;0.000000;0.130526;,
291 | -0.991445;0.000000;0.130526;,
292 | -0.991445;0.000000;-0.130526;,
293 | -0.991445;0.000000;-0.130526;,
294 | -0.923880;0.000000;-0.382683;,
295 | -0.923880;0.000000;-0.382683;,
296 | -0.793353;0.000000;-0.608761;,
297 | -0.793353;0.000000;-0.608761;,
298 | -0.608761;0.000000;-0.793353;,
299 | -0.608761;0.000000;-0.793353;,
300 | -0.382683;0.000000;-0.923880;,
301 | -0.382683;0.000000;-0.923880;,
302 | -0.130526;0.000000;-0.991445;,
303 | -0.130526;0.000000;-0.991445;,
304 | 0.130526;0.000000;-0.991445;,
305 | 0.130526;0.000000;-0.991445;,
306 | 0.382683;0.000000;-0.923880;,
307 | 0.382683;0.000000;-0.923880;,
308 | 0.608761;0.000000;-0.793353;,
309 | 0.608761;0.000000;-0.793353;,
310 | 0.793353;0.000000;-0.608761;,
311 | 0.923880;0.000000;-0.382683;,
312 | 0.793353;0.000000;-0.608761;,
313 | 0.923880;0.000000;-0.382683;,
314 | 0.991445;0.000000;-0.130526;,
315 | 0.991445;0.000000;-0.130526;,
316 | 0.991445;0.000000;0.130526;,
317 | 0.991445;0.000000;0.130526;,
318 | 0.923880;0.000000;0.382683;,
319 | 0.923880;0.000000;0.382683;,
320 | 0.793353;0.000000;0.608761;,
321 | 0.793353;0.000000;0.608761;,
322 | 0.608761;0.000000;0.793353;,
323 | 0.608761;0.000000;0.793353;,
324 | 0.382683;0.000000;0.923880;,
325 | 0.382683;0.000000;0.923880;,
326 | 0.130526;0.000000;0.991445;,
327 | 0.130526;0.000000;0.991445;,
328 | -0.130526;0.000000;0.991445;,
329 | -0.130526;0.000000;0.991445;,
330 | -0.382683;0.000000;0.923880;,
331 | -0.382683;0.000000;0.923880;,
332 | -0.608761;0.000000;0.793353;,
333 | -0.608761;0.000000;0.793353;,
334 | -0.793353;0.000000;0.608761;,
335 | -0.793353;0.000000;0.608761;,
336 | -0.923880;0.000000;0.382683;,
337 | -0.923880;0.000000;0.382683;,
338 | -0.991445;0.000000;0.130526;,
339 | -0.991445;0.000000;0.130526;,
340 | -0.991445;0.000000;-0.130526;,
341 | -0.991445;0.000000;-0.130526;,
342 | -0.923880;0.000000;-0.382683;,
343 | -0.923880;0.000000;-0.382683;,
344 | -0.793353;0.000000;-0.608761;,
345 | -0.793353;0.000000;-0.608761;,
346 | -0.608761;0.000000;-0.793353;,
347 | -0.608761;0.000000;-0.793353;,
348 | -0.382683;0.000000;-0.923880;,
349 | -0.382683;0.000000;-0.923880;,
350 | -0.130526;0.000000;-0.991445;,
351 | -0.130526;0.000000;-0.991445;,
352 | 0.130526;0.000000;-0.991445;,
353 | 0.130526;0.000000;-0.991445;,
354 | 0.382683;0.000000;-0.923880;,
355 | 0.382683;0.000000;-0.923880;,
356 | 0.608761;0.000000;-0.793353;,
357 | 0.608761;0.000000;-0.793353;,
358 | 0.793353;0.000000;-0.608761;,
359 | 0.793353;0.000000;-0.608761;,
360 | 0.923880;0.000000;-0.382683;,
361 | 0.923880;0.000000;-0.382683;,
362 | 0.991445;0.000000;-0.130526;;
363 | 62;
364 | 3;76,126,78;,
365 | 3;4,8,16;,
366 | 3;17,9,12;,
367 | 3;18,13,0;,
368 | 3;20,26,29;,
369 | 3;5,21,30;,
370 | 3;1,23,22;,
371 | 3;14,27,24;,
372 | 3;6,28,10;,
373 | 3;32,82,34;,
374 | 3;35,84,36;,
375 | 3;37,86,38;,
376 | 3;39,88,40;,
377 | 3;41,90,42;,
378 | 3;43,92,44;,
379 | 3;46,93,94;,
380 | 3;48,95,96;,
381 | 3;50,97,98;,
382 | 3;52,99,100;,
383 | 3;54,101,102;,
384 | 3;56,103,104;,
385 | 3;58,105,106;,
386 | 3;60,107,108;,
387 | 3;62,109,110;,
388 | 3;64,111,112;,
389 | 3;66,113,114;,
390 | 3;68,115,116;,
391 | 3;69,118,70;,
392 | 3;71,120,72;,
393 | 3;73,122,74;,
394 | 3;75,124,77;,
395 | 3;2,7,19;,
396 | 3;79,80,33;,
397 | 3;20,25,26;,
398 | 3;5,3,21;,
399 | 3;1,15,23;,
400 | 3;14,11,27;,
401 | 3;6,31,28;,
402 | 3;32,81,82;,
403 | 3;35,83,84;,
404 | 3;37,85,86;,
405 | 3;39,87,88;,
406 | 3;41,89,90;,
407 | 3;43,91,92;,
408 | 3;46,45,93;,
409 | 3;48,47,95;,
410 | 3;50,49,97;,
411 | 3;52,51,99;,
412 | 3;54,53,101;,
413 | 3;56,55,103;,
414 | 3;58,57,105;,
415 | 3;60,59,107;,
416 | 3;62,61,109;,
417 | 3;64,63,111;,
418 | 3;66,65,113;,
419 | 3;68,67,115;,
420 | 3;69,117,118;,
421 | 3;71,119,120;,
422 | 3;73,121,122;,
423 | 3;75,123,124;,
424 | 3;76,125,126;,
425 | 3;79,127,80;;
426 | }
427 |
428 | MeshTextureCoords {
429 | 128;
430 | 0.000000;1.000000;,
431 | 0.000000;1.000000;,
432 | 0.000000;1.000000;,
433 | 0.000000;1.000000;,
434 | 1.000000;1.000000;,
435 | 1.000000;1.000000;,
436 | 1.000000;1.000000;,
437 | 1.000000;1.000000;,
438 | 1.000000;0.000000;,
439 | 1.000000;0.000000;,
440 | 1.000000;0.000000;,
441 | 1.000000;0.000000;,
442 | 0.000000;0.000000;,
443 | 0.000000;0.000000;,
444 | 0.000000;0.000000;,
445 | 0.000000;0.000000;,
446 | 0.500000;0.500000;,
447 | 0.500000;0.500000;,
448 | 0.500000;0.500000;,
449 | 0.500000;0.500000;,
450 | 0.160000;0.840000;,
451 | 0.160000;0.840000;,
452 | 0.160000;0.840000;,
453 | 0.160000;0.160000;,
454 | 0.160000;0.160000;,
455 | 0.160000;0.160000;,
456 | 0.840000;0.160000;,
457 | 0.840000;0.160000;,
458 | 0.840000;0.160000;,
459 | 0.840000;0.840000;,
460 | 0.840000;0.840000;,
461 | 0.840000;0.840000;,
462 | 0.000000;1.000000;,
463 | 0.000000;1.000000;,
464 | 0.000000;1.000000;,
465 | 0.000000;1.000000;,
466 | 0.000000;1.000000;,
467 | 0.000000;1.000000;,
468 | 0.000000;1.000000;,
469 | 0.000000;1.000000;,
470 | 0.000000;1.000000;,
471 | 0.000000;1.000000;,
472 | 0.000000;1.000000;,
473 | 0.000000;1.000000;,
474 | 0.000000;1.000000;,
475 | 0.000000;1.000000;,
476 | 0.000000;1.000000;,
477 | 0.000000;1.000000;,
478 | 0.000000;1.000000;,
479 | 0.000000;1.000000;,
480 | 0.000000;1.000000;,
481 | 0.000000;1.000000;,
482 | 0.000000;1.000000;,
483 | 0.000000;1.000000;,
484 | 0.000000;1.000000;,
485 | 0.000000;1.000000;,
486 | 0.000000;1.000000;,
487 | 0.000000;1.000000;,
488 | 0.000000;1.000000;,
489 | 0.000000;1.000000;,
490 | 0.000000;1.000000;,
491 | 0.000000;1.000000;,
492 | 0.000000;1.000000;,
493 | 0.000000;1.000000;,
494 | 0.000000;1.000000;,
495 | 0.000000;1.000000;,
496 | 0.000000;1.000000;,
497 | 0.000000;1.000000;,
498 | 0.000000;1.000000;,
499 | 0.000000;1.000000;,
500 | 0.000000;1.000000;,
501 | 0.000000;1.000000;,
502 | 0.000000;1.000000;,
503 | 0.000000;1.000000;,
504 | 0.000000;1.000000;,
505 | 0.000000;1.000000;,
506 | 0.000000;1.000000;,
507 | 0.000000;1.000000;,
508 | 0.000000;1.000000;,
509 | 0.000000;1.000000;,
510 | 0.000000;1.000000;,
511 | 0.000000;1.000000;,
512 | 0.000000;1.000000;,
513 | 0.000000;1.000000;,
514 | 0.000000;1.000000;,
515 | 0.000000;1.000000;,
516 | 0.000000;1.000000;,
517 | 0.000000;1.000000;,
518 | 0.000000;1.000000;,
519 | 0.000000;1.000000;,
520 | 0.000000;1.000000;,
521 | 0.000000;1.000000;,
522 | 0.000000;1.000000;,
523 | 0.000000;1.000000;,
524 | 0.000000;1.000000;,
525 | 0.000000;1.000000;,
526 | 0.000000;1.000000;,
527 | 0.000000;1.000000;,
528 | 0.000000;1.000000;,
529 | 0.000000;1.000000;,
530 | 0.000000;1.000000;,
531 | 0.000000;1.000000;,
532 | 0.000000;1.000000;,
533 | 0.000000;1.000000;,
534 | 0.000000;1.000000;,
535 | 0.000000;1.000000;,
536 | 0.000000;1.000000;,
537 | 0.000000;1.000000;,
538 | 0.000000;1.000000;,
539 | 0.000000;1.000000;,
540 | 0.000000;1.000000;,
541 | 0.000000;1.000000;,
542 | 0.000000;1.000000;,
543 | 0.000000;1.000000;,
544 | 0.000000;1.000000;,
545 | 0.000000;1.000000;,
546 | 0.000000;1.000000;,
547 | 0.000000;1.000000;,
548 | 0.000000;1.000000;,
549 | 0.000000;1.000000;,
550 | 0.000000;1.000000;,
551 | 0.000000;1.000000;,
552 | 0.000000;1.000000;,
553 | 0.000000;1.000000;,
554 | 0.000000;1.000000;,
555 | 0.000000;1.000000;,
556 | 0.000000;1.000000;,
557 | 0.000000;1.000000;;
558 | }
559 |
560 | VertexDuplicationIndices {
561 | 128;
562 | 127;
563 | 0,
564 | 0,
565 | 0,
566 | 0,
567 | 4,
568 | 4,
569 | 4,
570 | 4,
571 | 8,
572 | 8,
573 | 8,
574 | 8,
575 | 12,
576 | 12,
577 | 12,
578 | 12,
579 | 16,
580 | 16,
581 | 16,
582 | 16,
583 | 20,
584 | 20,
585 | 20,
586 | 23,
587 | 23,
588 | 23,
589 | 26,
590 | 26,
591 | 26,
592 | 29,
593 | 29,
594 | 29,
595 | 32,
596 | 32,
597 | 34,
598 | 34,
599 | 36,
600 | 36,
601 | 38,
602 | 38,
603 | 40,
604 | 40,
605 | 42,
606 | 42,
607 | 44,
608 | 44,
609 | 46,
610 | 46,
611 | 48,
612 | 48,
613 | 50,
614 | 50,
615 | 52,
616 | 52,
617 | 54,
618 | 54,
619 | 56,
620 | 56,
621 | 58,
622 | 58,
623 | 60,
624 | 60,
625 | 62,
626 | 62,
627 | 64,
628 | 64,
629 | 66,
630 | 66,
631 | 68,
632 | 68,
633 | 70,
634 | 70,
635 | 72,
636 | 72,
637 | 74,
638 | 74,
639 | 76,
640 | 76,
641 | 78,
642 | 78,
643 | 80,
644 | 80,
645 | 82,
646 | 82,
647 | 84,
648 | 84,
649 | 86,
650 | 86,
651 | 88,
652 | 88,
653 | 90,
654 | 90,
655 | 92,
656 | 92,
657 | 94,
658 | 94,
659 | 96,
660 | 96,
661 | 98,
662 | 98,
663 | 100,
664 | 100,
665 | 102,
666 | 102,
667 | 104,
668 | 104,
669 | 106,
670 | 106,
671 | 108,
672 | 108,
673 | 110,
674 | 110,
675 | 112,
676 | 112,
677 | 114,
678 | 114,
679 | 116,
680 | 116,
681 | 118,
682 | 118,
683 | 120,
684 | 120,
685 | 122,
686 | 122,
687 | 124,
688 | 124,
689 | 126,
690 | 126;
691 | }
692 |
693 | MeshMaterialList {
694 | 1;
695 | 62;
696 | 0,
697 | 0,
698 | 0,
699 | 0,
700 | 0,
701 | 0,
702 | 0,
703 | 0,
704 | 0,
705 | 0,
706 | 0,
707 | 0,
708 | 0,
709 | 0,
710 | 0,
711 | 0,
712 | 0,
713 | 0,
714 | 0,
715 | 0,
716 | 0,
717 | 0,
718 | 0,
719 | 0,
720 | 0,
721 | 0,
722 | 0,
723 | 0,
724 | 0,
725 | 0,
726 | 0,
727 | 0,
728 | 0,
729 | 0,
730 | 0,
731 | 0,
732 | 0,
733 | 0,
734 | 0,
735 | 0,
736 | 0,
737 | 0,
738 | 0,
739 | 0,
740 | 0,
741 | 0,
742 | 0,
743 | 0,
744 | 0,
745 | 0,
746 | 0,
747 | 0,
748 | 0,
749 | 0,
750 | 0,
751 | 0,
752 | 0,
753 | 0,
754 | 0,
755 | 0,
756 | 0,
757 | 0;
758 |
759 | Material {
760 | 1.000000;1.000000;1.000000;1.000000;;
761 | 51.200001;
762 | 0.000000;0.000000;0.000000;;
763 | 0.000000;0.000000;0.000000;;
764 | TextureFilename {
765 | "tex64.png";
766 | }
767 | }
768 | }
769 | }
770 | }
771 | }
772 |
--------------------------------------------------------------------------------
/content/wpn/wepons_uv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adrs2002/junkfieldsjs/318a33bec4f326e12dab72dba914281703423fe7/content/wpn/wepons_uv.png
--------------------------------------------------------------------------------
/js/Detector.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author alteredq / http://alteredqualia.com/
3 | * @author mr.doob / http://mrdoob.com/
4 | */
5 |
6 | var Detector = {
7 |
8 | canvas: !! window.CanvasRenderingContext2D,
9 | webgl: ( function () {
10 |
11 | try {
12 |
13 | var canvas = document.createElement( 'canvas' ); return !! ( window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ) );
14 |
15 | } catch ( e ) {
16 |
17 | return false;
18 |
19 | }
20 |
21 | } )(),
22 | workers: !! window.Worker,
23 | fileapi: window.File && window.FileReader && window.FileList && window.Blob,
24 |
25 | getWebGLErrorMessage: function () {
26 |
27 | var element = document.createElement( 'div' );
28 | element.id = 'webgl-error-message';
29 | element.style.fontFamily = 'monospace';
30 | element.style.fontSize = '13px';
31 | element.style.fontWeight = 'normal';
32 | element.style.textAlign = 'center';
33 | element.style.background = '#fff';
34 | element.style.color = '#000';
35 | element.style.padding = '1.5em';
36 | element.style.width = '400px';
37 | element.style.margin = '5em auto 0';
38 |
39 | if ( ! this.webgl ) {
40 |
41 | element.innerHTML = window.WebGLRenderingContext ? [
42 | 'Your graphics card does not seem to support WebGL.
',
43 | 'Find out how to get it here.'
44 | ].join( '\n' ) : [
45 | 'Your browser does not seem to support WebGL.
',
46 | 'Find out how to get it here.'
47 | ].join( '\n' );
48 |
49 | }
50 |
51 | return element;
52 |
53 | },
54 |
55 | addGetWebGLMessage: function ( parameters ) {
56 |
57 | var parent, id, element;
58 |
59 | parameters = parameters || {};
60 |
61 | parent = parameters.parent !== undefined ? parameters.parent : document.body;
62 | id = parameters.id !== undefined ? parameters.id : 'oldie';
63 |
64 | element = Detector.getWebGLErrorMessage();
65 | element.id = id;
66 |
67 | parent.appendChild( element );
68 |
69 | }
70 |
71 | };
72 |
73 | // browserify support
74 | if ( typeof module === 'object' ) {
75 |
76 | module.exports = Detector;
77 |
78 | }
79 |
--------------------------------------------------------------------------------
/js/JfTimeRuler.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author Jey-en
3 | * 改変自由:てきとーにやっちゃって
4 | */
5 |
6 | //計測用オブジェクト
7 | var JfTimeRulerObject = function (_name,_col) {
8 |
9 | this.Name = _name;
10 | this.Color = _col;
11 | this.beginTime = Date.now();
12 | this.spanTime = 0;
13 | };
14 | JfTimeRulerObject.prototype = {
15 |
16 | constructor: JfTimeRulerObject,
17 | stop: function () {
18 | var self = this;
19 | self.spanTime = Date.now() - self.beginTime;
20 | }
21 | };
22 |
23 |
24 | //モジュールクラス本体
25 | var JfTimeRuler = function (_x, _y) {
26 |
27 | var setPos = [0, 60];
28 | if (_x != undefined && _y != undefined) {
29 | setPos = [_x, _y];
30 | }
31 | if (_x != undefined && _y != undefined) {
32 | setPos = [_x, _y];
33 | }
34 |
35 | var container = document.createElement('div');
36 | container.style.cssText = 'position:fixed;top:0;left:0;width:300px; height:0px; opacity:0.9;z-index:2000';
37 |
38 | //初期位置を決める。デフォルトはThree.jsのStatsにかぶらないようにしている。
39 | container.style.left = setPos[0] + "px";
40 | container.style.top = setPos[1] + "px";
41 |
42 | var canvas = document.createElement('canvas');
43 | container.appendChild(canvas);
44 | var conteText2D = canvas.getContext("2d");
45 |
46 |
47 | ///////////////////////////////
48 |
49 | var targetFrameTime = 1000 / 60;
50 |
51 | var timers = [];
52 | var timersCount = 0;
53 | var nowCuclTarget = "";
54 | var nowBeginTime = null;
55 |
56 | return {
57 | dom: container,
58 | pos: setPos,
59 | timers: timers,
60 | timersCount: timersCount,
61 | nowCuclTarget: nowCuclTarget,
62 | nowBeginTime: nowBeginTime,
63 | targetFrameTime: targetFrameTime,
64 |
65 | conteText2D: conteText2D,
66 | canvas:canvas,
67 |
68 | ///目標とするフレームレートの変更
69 | setTargetFrameRate: function (_f) {
70 | var self = this;
71 | self.targetFrameTime = 1000 / _f;
72 | },
73 |
74 | //現在の計測対象を止める。
75 | currentStop: function () {
76 | var self = this;
77 | if (self.nowCuclTarget != "") {
78 | self.timers[self.nowCuclTarget].stop();
79 | self.nowCuclTarget = "";
80 | }
81 | },
82 |
83 | //計測結果を描画
84 | update: function () {
85 | var self = this;
86 | self.currentStop();
87 |
88 | self.conteText2D.clearRect(0, 0, self.conteText2D.canvas.width, self.conteText2D.canvas.height);
89 | self.conteText2D.fillStyle = "rgba(0, 0, 0, 0.5)";
90 | self.conteText2D.fillRect(0, 0, self.conteText2D.canvas.width, self.conteText2D.canvas.height);
91 | self.conteText2D.textAlign = 'left';
92 | self.conteText2D.font = "10pt Arial";
93 |
94 | var totalTime = 0;
95 | var keys = Object.keys(self.timers);
96 |
97 | //時間かかったよバーの描画
98 | for (var i = 0; i < keys.length; i++) {
99 | var startPos = 0;
100 | if (totalTime > 0) {
101 | startPos = totalTime / self.targetFrameTime;
102 | }
103 | startPos = startPos * self.conteText2D.canvas.width;
104 | var nowWidth = self.timers[keys[i]].spanTime / self.targetFrameTime;
105 | nowWidth = nowWidth * self.conteText2D.canvas.width;
106 |
107 | self.conteText2D.fillStyle = self.timers[keys[i]].Color;
108 | self.conteText2D.fillRect(startPos, 11, nowWidth, 10);
109 |
110 | totalTime += self.timers[keys[i]].spanTime;
111 |
112 | self.conteText2D.fillText(keys[i] + ':' + self.timers[keys[i]].spanTime, 5, 35 + i * 25);
113 | self.conteText2D.fillRect(0, 35 + i * 25 + 1, nowWidth, 10);
114 | }
115 |
116 | //トータル情報(一番上の文字)の描画
117 | self.conteText2D.fillStyle = 'rgb(255,255,255)';
118 | self.conteText2D.fillText('totalTime:' + totalTime, 5, 10);
119 |
120 | //目標フレーム地点に印を付ける。コレを超えていなければ万歳だね
121 | var line = self.conteText2D.canvas.width / 3;
122 | if (totalTime > self.targetFrameTime) {
123 | self.conteText2D.fillStyle = 'rgb(255, 0, 0)';
124 | } else {
125 | self.conteText2D.fillStyle = 'rgb(255, 255, 255)';
126 | }
127 |
128 | self.conteText2D.fillRect(line * 2, 0, 3, self.conteText2D.canvas.height);
129 |
130 |
131 | self.timers = [];
132 | self.timersCount = 0;
133 | self.nowCuclTarget = "";
134 | },
135 |
136 | //計測対象を追加して計測を開始する
137 | add: function (_name, _col) {
138 | var self = this;
139 | self.currentStop();
140 |
141 | self.nowCuclTarget = _name;
142 | var colObj = "rgb(";
143 |
144 | if (_col == undefined) {
145 | var result = self.timersCount % 3;
146 | switch (result) {
147 | case 0: colObj += "0,100,255)"; break;
148 | case 1: colObj += "0,255,0)"; break;
149 | case 2: colObj += "255,255,0)"; break;
150 | }
151 | }
152 | else {
153 | colObj = _col;
154 | }
155 |
156 | var rurerOBj = new JfTimeRulerObject(_name, colObj);
157 | self.timers[_name] = rurerOBj;
158 | self.timersCount++;
159 | }
160 |
161 |
162 | }
163 | };
164 |
165 | if (typeof module === 'object') {
166 |
167 | module.exports = JfTimeRuler;
168 |
169 | }
--------------------------------------------------------------------------------
/js/ParticlTask.js:
--------------------------------------------------------------------------------
1 | importScripts('three.js', 'clsParticle.js');
2 |
3 | self.addEventListener('message', function (e) {
4 | for (var i = 0; i < e.data[0].length; i++) {
5 | particleComp.ParticeUpdate(e.data[0][i], e.data[1]);
6 | }
7 | self.postMessage(e.data);
8 | }, false);
--------------------------------------------------------------------------------
/js/cEnBtPlayer.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | /// 武器種別
4 | cEnWpnType
5 | = {
6 | RW_1: 0,
7 | LW_1: 1,
8 | SW_1: 2,
9 | RW_2_RF: 3,
10 | RW_2_MG: 4,
11 | //RW_2_LC,
12 | RW_2_BZ: 5,
13 | LW_2_RF: 6,
14 | LW_2_MG: 7,
15 | LW_2_LC: 8,
16 | LW_2_BZ: 9,
17 | ////
18 | SW_2_N: 10,
19 | SW_2_LGT: 11,
20 | SW_2_GG_DL: 12,
21 | SW_2_DL: 13,
22 |
23 |
24 | Null: 12,
25 | }
26 |
27 | /// リンクの配列ID
28 | cEnLinkID
29 | = {
30 | playerID: 0,
31 | mountID: 1,
32 | useWpnID: 2,
33 | BulletPosID: 3,
34 | }
35 |
36 | /// 装備箇所ID
37 | cEnWpnMontID
38 | = {
39 | R_Hand: 0,
40 | L_Hand: 1,
41 | R_Sholder_1: 2,
42 | L_Sholder_1: 3,
43 | R_Sholder_2: 4,
44 | L_Sholder_2: 5,
45 |
46 | val_Max: 6,
47 | }
48 |
49 |
50 | /// 使用中及び使用不可能時間ID
51 | cEnStat_ParamTime
52 | = {
53 | /// 使用中及び使用不可能時間ID・ショット
54 | Stat_Shot_time: 0,
55 | /// 使用中及び使用不可能時間ID・格闘
56 | Stat_Kaku_time: 1,
57 | /// 使用中及び使用不可能時間ID・サブ攻撃
58 | Stat_SubS_time: 2,
59 | /// 使用中及び使用不可能時間ID・バーストショット
60 | Stat_BstShot_time: 3,
61 | /// 使用中及び使用不可能時間ID・バースト格闘
62 | Stat_BstKaku_Time: 4,
63 | /// 使用中及び使用不可能時間ID・Expアタック
64 | Stat_ExAt_time: 5,
65 | /// 使用中及び使用不可能時間ID・移動
66 | Stat_move_time: 6,
67 | /// 使用中及び使用不可能時間ID・ダッシュ
68 | Stat_dash_time: 7,
69 | /// 使用中及び使用不可能時間ID・ジャンプ
70 | Stat_Junp_time: 8,
71 | /// 使用中及び使用不可能時間ID・ステップ
72 | Stat_Step_time: 9,
73 | /// 使用中及び使用不可能時間ID・ゲイン使用
74 | Stat_use_gain_time: 10,
75 | /// 同一アニメーション維持数
76 | motion_time: 11,
77 |
78 |
79 | val_Max: 12,
80 | }
81 |
82 | ///
83 | /// 能力値構造体引数ID関連
84 | ///
85 | cEnConsts_ParamF
86 | = {
87 | /// 歩行速度上昇値
88 | warkS_up: 0,
89 | /// 歩行速度最大値
90 | warkS_max: 1,
91 | /// ダッシュ速度上昇値
92 | dashS_up: 2,
93 | /// ダッシュ速度最大値
94 | dashS_max: 3,
95 | /// 地上からの機体の中心・高さ
96 | body_height: 4,
97 | /// 機体の回転速度・立ち
98 | rool_S_stand: 5,
99 | /// 期待の回転速度・ダッシュ
100 | rool_S_dash: 6,
101 | /// ジャンプの上昇速度
102 | junpS_up: 7,
103 | /// ジャンプ上昇速度最大値
104 | junpS_max: 8,
105 | /// ジャンプ上昇速度最大値(ナナメ)
106 | junpS_max2: 9,
107 | /// ジャンプ開始時硬直
108 | junp_Kotyoku: 10,
109 | /// 空中ダッシュの速度上昇値
110 | junpD_up: 11,
111 | /// 空中ダッシュの速度最大値
112 | junpD_max: 12,
113 | /// 空中での左右移動倍率
114 | junpMoveFact: 13,
115 |
116 | /// ステップの速度上昇値
117 | StepS_up: 14,
118 | /// ステップの速度最大値
119 | StepS_max: 15,
120 |
121 | /// ステップの最低時間
122 | StepT_short: 16,
123 | /// ステップの最大時間
124 | StepT_max: 17,
125 | /// ステップの終了中のスキ時間
126 | StepT_End: 18,
127 |
128 | /// HP最大値
129 | life_max: 19,
130 | /// ゲイン最大値
131 | gein_max: 20,
132 | /// ダッシュ時のゲイン使用値
133 | Guse_dash: 21,
134 | /// ダッシュ【開始時】のゲイン使用値
135 | Guse_dashFast: 22,
136 | /// ジャンプ時のゲイン使用値
137 | Guse_junp: 23,
138 | /// ジャンプ【開始時】のゲイン使用値
139 | Guse_junpfast: 24,
140 | /// ステップ時のゲイン使用値
141 | Guse_Step: 25,
142 | /// ステップ【開始時】のゲイン使用値
143 | Guse_Stepfast: 26,
144 |
145 | /// 通常時のゲイン回復値
146 | gein_regeinS: 27,
147 | /// 武器装備時のゲイン占有倍率
148 | gein_wpnFact: 28,
149 | /// 摩擦係数のようなもの:立ちからの加速の遅さ 1を超えてはいけない
150 | Stand_Brake: 29,
151 | /// ダッシュ後のブレーキ性能 1を超えてはいけない
152 | ext_brake: 30,
153 | /// ダッシュ開始時の硬直フレーム時間
154 | Dash_KotyokuTime: 31,
155 | /// ダッシュ初期時のブースト時間
156 | Dash_FastBoostTime: 32,
157 | /// ダッシュ開始時の所期ブースト加速度
158 | Dash_FastBoost: 33,
159 | /// Rw攻撃時、強制振り向き角度 右
160 | Rw_RolLock_R: 34,
161 | /// Rw攻撃時、強制振り向き角度 左
162 | Rw_RolLock_L: 35,
163 |
164 | /// 被ダメ⇒よろけまでの値
165 | Dmg_Tolerance: 36,
166 | /// 被ダメ⇒ダウンまでの値
167 | Don_Tolerance: 37,
168 |
169 | /// LWで付加されるセービングフレーム数
170 | SevTime: 38,
171 | /// LWで付加される、ダウン耐久乗算値(少ないほうがセビ中にダウンしなくなる)
172 | Sev_Power: 39,
173 | /// 壁にさえぎられた半ロック常態から、完全にロックが切れるまでの時間
174 | savHalfLockTime: 40,
175 | /// ロックオン可能距離
176 | LockRange: 41,
177 |
178 | /// 気力
179 | //Kiryoku,
180 | /// プラーナ
181 | //MaxPlana,
182 |
183 | val_Max: 42,
184 |
185 | }
186 |
187 | ///
188 | /// ゲーム中のキャラのパラメーター(変動値)
189 | ///
190 | cEnChara_ParamFloat
191 | = {
192 | /// 現在のHP
193 | life: 0,
194 | /// 現在の歩行速度
195 | warkS_n: 1,
196 | /// 値現在のダッシュ速度
197 | dashS_n: 2,
198 | /// 現在のジャンプ速度
199 | junpS_n: 3,
200 | /// 現在の空中ダッシュ速度
201 | junpD_n: 4,
202 | /// ?
203 | junpS_up_Fast: 5,
204 | /// ダウン無敵時間の値
205 | down_life: 6,
206 | /// 無敵時間の現在の値
207 | down_life_now: 7,
208 | /// ゲイン残量
209 | gein_n: 8,
210 | /// マウントによるゲイン使用量 Constの場合はかかる倍率
211 | Guse_mountuse: 9,
212 | /// 発射する弾にかかる速度関数
213 | shot_Spd_F: 10,
214 | /// 現在のロックオン目標までの角度(Y)
215 | TGT_Dist_Kaku: 11,
216 | /// ダッシュ開始時の機体角度(Y)
217 | Dash_Start_Kaku: 12,
218 | /// ボーン変形のブレンドファクター
219 | blendFactor: 13,
220 | /// 上半身用のブレンドファクタ-
221 | blendFactor_up: 14,
222 | /// blendFactorへのフレーム加算係数。
223 | FactorAdd: 15,
224 |
225 | /// ダウン値。
226 | DwnFactor: 16,
227 |
228 | // Plana,
229 |
230 | ///Kiryoku,
231 | /// 現在のロックオン目標までの角度(Y):ひとつ前
232 | TGT_Dist_Kaku_Last: 17,
233 | /// 現在のロックオン目標までの距離 ひとつ前
234 | TGT_Dist_Last: 18,
235 |
236 | val_Max: 19,
237 |
238 | }
239 |
240 | ///
241 | /// 出現中のタマのパラメータ
242 | ///
243 | cEnShot_Param
244 | = {
245 | /// その玉を誰が出したかのID
246 | Shot_by: 0,
247 | shot_type: 1,
248 | shot_ID: 2,
249 | shot_lock_ID: 3,
250 | shot_out: 4,
251 | shot_reng: 5,
252 | /// 5フレーム間保持用ロールベクターX
253 | shot_rol_X_nexting: 6,
254 | /// 5フレーム間保持用ロールベクターZ
255 | shot_rol_Z_nexting: 7,
256 | shot_speed: 8,
257 | shot_speed_Base: 9,
258 |
259 | val_Max: 10,
260 | }
261 |
262 | ///
263 | /// 格闘のコンビネーションパターン
264 | ///
265 | cEnLw1ComboSet
266 | = {
267 | Lw1Base: 0,
268 | LL: 1,
269 | LLL: 2,
270 | LR: 3,
271 | LS: 4,
272 | LLR: 5,
273 | LLS: 6,
274 | LLLL: 7,
275 | }
276 |
277 | ///
278 | /// プレイヤーモーション管理。
279 | ///
280 | cEnPlayer_Motion
281 | = {
282 | stand: 0,
283 | init: 1,
284 | walk: 2,
285 | walk_R: 2.1,
286 | walk_L: 2.2,
287 | back: 3,
288 | dash_F: 4,
289 | /// 空中ダッシュ
290 | //dash_S : 4,
291 | tach_Down: 5,
292 | Junp: 6,
293 | J_Down: 7,
294 | Step_F: 8,
295 | Step_R: 9,
296 | Step_L: 10,
297 | Step_B: 11,
298 |
299 | dmg: 12,
300 | down_1: 13,
301 | down_1_2: 14,
302 | down_2: 15,
303 | down_Rise: 16,
304 |
305 | /// モーション指定時の中継のみに使用
306 | RW_2_Base: 17,
307 |
308 | RW_2_RF_N: 18,
309 | RW_2_RF_2_N: 19,
310 | RW_2_RF_Shot_N: 20,
311 | RW_2_RF_End_N: 21,
312 |
313 | RW_2_MG_N: 22,
314 | RW_2_MG_2_N: 23,
315 | RW_2_MG_Shot_N: 24,
316 | RW_2_MG_End_N: 25,
317 |
318 | RW_2_BZ: 26,
319 | RW_2_BZ_2: 27,
320 | RW_2_BZ_Shot: 28,
321 | RW_2_BZ_End: 29,
322 |
323 | /// 左手1段目
324 | LW_2_RF_N: 30,
325 | LW_2_RF_2: 31,
326 | LW_2_RF_Shot: 32,
327 | LW_2_RF_End: 33,
328 | /// L→L とつないだ時の2段目
329 | LW_2_MG_N: 34,
330 | LW_2_MG_2: 35,
331 | LW_2_MG_Shot: 36,
332 | LW_2_MG_End: 37,
333 | /// L→R とつないだ時の2段目
334 | LW_2_BZ: 38,
335 | LW_2_BZ_2: 39,
336 | LW_2_BZ_Shot: 40,
337 | LW_2_BZ_End: 41,
338 |
339 | //SW///////////////////////////////////
340 | SW_1: 42,
341 | SW_1_2: 43,
342 | SW_1_Shot: 44,
343 | SW_1_End: 45,
344 |
345 | SW_R: 46,
346 | SW_R_2: 47,
347 | SW_R_Shot: 48,
348 | SW_R_End: 49,
349 |
350 | SW_R_LGT: 50,
351 | SW_R_LGT_2: 51,
352 | SW_R_LGT_Shot: 52,
353 | SW_R_LGT_End: 53,
354 |
355 | SW_L: 54,
356 | SW_L_2: 55,
357 | SW_L_Shot: 56,
358 | SW_L_End: 57,
359 |
360 | SW_L_LGT: 58,
361 | SW_L_LGT_2: 59,
362 | SW_L_LGT_Shot: 60,
363 | SW_L_LGT_End: 61,
364 |
365 | SW_2_GG_DL: 62,
366 | SW_2_GG_DL_2: 63,
367 | SW_2_GG_DL_Shot: 64,
368 | SW_2_GG_DL_End: 65,
369 |
370 | SW_2_DL: 66,
371 | SW_2_DL_2: 67,
372 | SW_2_DL_Shot: 68,
373 | SW_2_DL_End: 69,
374 |
375 | down_dead: 70,
376 |
377 | maxval: 71,
378 |
379 | }
380 |
381 | //武器使用モーション
382 | cEnWeaponMotionID =
383 | {
384 | /// モーション指定時の中継のみに使用
385 | RW_2_Base: 0,
386 |
387 | RW_2_RF_N: 1,
388 | RW_2_RF_N_S: 2,
389 | RW_2_RF_2_N: 3,
390 | RW_2_RF_Shot_N: 4,
391 | RW_2_RF_End_N: 5,
392 |
393 | RW_2_RF_R: 6,
394 | RW_2_RF_R_S: 7,
395 | RW_2_RF_2_R: 8,
396 | RW_2_RF_Shot_R: 9,
397 | RW_2_RF_End_R: 10,
398 |
399 | RW_2_RF_L: 11,
400 | RW_2_RF_L_S: 12,
401 | RW_2_RF_2_L: 13,
402 | RW_2_RF_Shot_L: 14,
403 | RW_2_RF_End_L: 15,
404 |
405 | RW_2_MG_N: 16,
406 | RW_2_MG_N_S: 17,
407 | RW_2_MG_2_N: 18,
408 | RW_2_MG_Shot_N: 19,
409 | RW_2_MG_End_N: 20,
410 |
411 | RW_2_MG_R: 21,
412 | RW_2_MG_R_S: 22,
413 | RW_2_MG_2_R: 23,
414 | RW_2_MG_Shot_R: 24,
415 | RW_2_MG_End_R: 25,
416 |
417 |
418 | RW_2_MG_L: 26,
419 | RW_2_MG_L_S: 27,
420 | RW_2_MG_2_L: 28,
421 | RW_2_MG_Shot_L: 29,
422 | RW_2_MG_End_L: 30,
423 |
424 |
425 | RW_2_BZ: 31,
426 | RW_2_BZ_S: 32,
427 | RW_2_BZ_2: 33,
428 | RW_2_BZ_Shot: 34,
429 | RW_2_BZ_End: 35,
430 |
431 | ////////////////////////////
432 | LW_1: 36,
433 | LW_1_2: 37,
434 | LW_1_AT: 38,
435 | LW_1_End: 39,
436 |
437 | /////////////////////
438 | SW_R: 40,
439 | SW_R_S: 41,
440 | SW_R_2: 42,
441 | SW_R_Shot: 43,
442 | SW_R_End: 44,
443 |
444 | SW_R_LGT: 45,
445 | SW_R_LGT_S: 46,
446 | SW_R_LGT_2: 47,
447 | SW_R_LGT_Shot: 48,
448 | SW_R_LGT_End: 49,
449 |
450 | SW_L: 50,
451 | SW_L_S: 51,
452 | SW_L_2: 52,
453 | SW_L_Shot: 53,
454 | SW_L_End: 54,
455 |
456 | SW_L_LGT: 55,
457 | SW_L_LGT_S: 56,
458 | SW_L_LGT_2: 57,
459 | SW_L_LGT_Shot: 58,
460 | SW_L_LGT_End: 59,
461 |
462 | SW_2_GG_DL: 60,
463 | SW_2_GG_DL_S: 61,
464 | SW_2_GG_DL_2: 62,
465 | SW_2_GG_DL_Shot: 63,
466 | SW_2_GG_DL_End: 64,
467 |
468 | SW_2_DL: 65,
469 | SW_2_DL_S: 66,
470 | SW_2_DL_2: 67,
471 | SW_2_DL_Shot: 68,
472 | SW_2_DL_End: 69,
473 |
474 | }
475 |
476 | ///
477 | /// プレイヤーのモーションステータス(大分類)
478 | ///
479 | cEnPlayer_ActStatus
480 | = {
481 | /// 立ち
482 | stand: 0,
483 | /// 歩き
484 | walk: 1,
485 | /// 地上ダッシュ
486 | dash: 2,
487 | /// 空中ダッシュ
488 | dash_J: 3,
489 | /// ステップ
490 | step: 4,
491 | /// ジャンプ
492 | Junp: 5,
493 | /// 下降
494 | J_Down: 6,
495 | /// 着地
496 | tach_Down: 7,
497 |
498 | /// よろけ
499 | dmg1: 8,
500 | /// ダウン開始
501 | down_1: 9,
502 | /// ダウン中
503 | down_2: 10,
504 | /// 起き上がり
505 | downRise: 11,
506 |
507 | /// 起き上がり
508 | dead: 12,
509 |
510 |
511 | val_Max: 13,
512 |
513 | }
514 |
515 | ///
516 | /// CPU専用的のモーション
517 | ///
518 | cEnEnemy_Motion
519 | = {
520 | stand: 0,
521 | Move_F: 1,
522 | Move_R: 2,
523 | Move_L: 3,
524 | Move_B: 4,
525 |
526 | W_1: 5,
527 | W_1_2: 6,
528 | W_1_Shot: 7,
529 | W_1_End: 8,
530 |
531 | W_2: 9,
532 | W_2_2: 10,
533 | W_2_Shot: 11,
534 | W_2_End: 12,
535 |
536 | dead_1: 13,
537 |
538 | maxval: 14,
539 |
540 | }
541 |
542 |
543 | barniaUsingFlg
544 | = {
545 | init: 0,
546 | UseStart: 1,
547 | UseEnd: 2,
548 |
549 | }
550 |
551 |
552 | ///
553 | /// ダッシュ状況
554 | ///
555 | lEnDashMode =
556 | {
557 | noDash: 0,
558 | FirstRoling: 1,
559 | DashFirstKasoku: 2,
560 | normalDash: 3,
561 | Dash_ending: 4,
562 |
563 | }
564 |
565 | //HUD上1行情報欄への表示種別
566 | cEnConsts_DisplayInfoType
567 | = {
568 | none: 0, //表示なし
569 | EnemyHit: 11, //敵に命中
570 |
571 | EmInfo_w: 21, //ステージ文字表示:Lv0
572 |
573 | //////////////////////
574 | infCol_yel: 50,
575 | EnemyDestroy: 51, //敵を撃破
576 |
577 | PlayerDmg: 61, //プレイヤー被弾
578 |
579 | EmInfo_w2: 71, //ステージ文字表示:Lv1
580 |
581 | //////////////////////
582 | infCol_Y_W: 100, //黄背景に白字
583 | PlayerDmg2: 101, //プレイヤー被弾 yaba
584 |
585 | //////////////////////
586 | infCol_Red: 200, //黄背景に赤字
587 | PlayerDestroy: 201, //プレイヤー破壊
588 |
589 | EmInfo_r: 211, //ステージ文字表示:Lv2
590 |
591 | ///////////////////
592 | infCol_b: 800,
593 | EmInfo_b: 801, //クリア表示専用:青背景に白地
594 | }
595 |
596 | cEn_CommonVoiceType
597 | = {
598 | Rw_normal: 0,
599 | Rw_high: 1,
600 |
601 | Lw_nowmal: 10,
602 |
603 | Sw_Magnum: 100,
604 | Sw_Snype: 150,
605 |
606 | tgtContact:200,
607 |
608 | }
--------------------------------------------------------------------------------
/js/clsConst.js:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | "use strict";
4 | /// 90度
5 | var KD090 = Math.PI / 2;
6 | /// 89度(真横先回時、後ろ向きになりにくいようにしている)
7 | var KD089 = Math.PI / 2 - 0.01;
8 |
9 | /// 135度
10 | var KD135 = Math.PI / 2 + Math.PI / 4;
11 | /// 45度
12 | var KD045 = Math.PI / 4;
13 | /// 60度
14 | var KD060 = Math.PI / 3;
15 | /// 30度
16 | var KD030 = Math.PI / 6;
17 |
18 | /// 15度
19 | var KD015 = Math.PI / 12;
20 |
21 | /// 90度を加算するmatrix
22 | var mx_rol090 = new THREE.Matrix4();
23 | mx_rol090.makeRotationFromEuler(new THREE.Euler(-KD090, 0, 0));
24 |
25 | var qt_rol090 = new THREE.Quaternion();
26 | qt_rol090.setFromEuler(new THREE.Euler(-KD090, 0, 0));
27 |
28 | ///2Dスプライト としてのエフェクトの最大数
29 | var SpliteEfect_MAX = 50;
30 | ///3Dオブジェクトとしてのエフェクトの最大数
31 | var ObjectEfect_MAX = 100;
32 | ///出現する弾の最大数
33 | var StageShot_MAX = 100;
34 | ///マップに落っこちている武器の最大数
35 | var F_wapon_MAX = 50;
36 | ///定義する武器最大数
37 | var wapon_MAX = 100;
38 | ///定義済み武器数
39 | var now_Wapon_max = 35;
40 | ///敵の同時出現数
41 | var enemy_MAX = 50;
42 | ///乱数構造体最大数
43 | var rand_MAX =255;
44 |
45 | ///レーダーに映る敵の最大数
46 | var rader_img_max = 50;
47 | ///レーダー描画範囲(+-の片方)
48 | var rader_WH_max = 100;
49 |
50 | ///ログを取るキーの最大数
51 | var Key_Log_MAX = 30;
52 | ///プレイヤーの位置・角度情報のログ数
53 | var PlayerStruct_Log_MAX = 30;
54 | ///プレイヤーの位置・角度情報のログから「現在の」位置のインデックス指定値
55 | var NowKey_int = (Key_Log_MAX - 1);
56 |
57 | /// ダッシュ等のコマンド入力受け入れ時間
58 | var Command_AcceptTime1 = 15;
59 |
60 | ///小のけぞり無敵時間
61 | var invtime_1 = 18;
62 | ///大のけぞり無敵時間
63 | var invtime_2 = 30;
64 | ///ダウン時の無敵時間
65 | var invtime_3 = 45;
66 |
67 | /// 弾の射程・調整用倍率
68 | var Master_Shot_Renge_Rate = 1.5; //1.0;
69 | ///弾のスピード・調整用倍率
70 | var Master_Shot_Speed_Rate = 1.5; //0.1;
71 | ///弾の追尾修正角度・調整用倍率
72 | var Master_Shot_Kaku_Rate = 0.6; //0.45f
73 |
74 | //移動速度にかける倍率。全キャラにかかる
75 | var Master_Move_Rate = 2.0;
76 |
77 | //大きさ。全キャラにかける
78 | var Master_Chara_Size = 2.0;
79 |
80 | ///何フレーム遅延した位置をカメラが見るか
81 | var CAM_LAZY_OF_FRAME = 5; //3;
82 | //var CAM_LAZY_OF_FRAME = 1;
83 |
84 | ///障害物回避要の余裕を持たせるエリア 標準は100
85 | var hit_Pos_Dist = 100;
86 | ///プレイヤ同士の当たり判定距離(球範囲)
87 | var hit_Player_Dist = 8;
88 | ///1フレームに旋回できる最大値 攻撃時に使用
89 | var ROL_Y_FrameToRol_Max = 0.25;
90 | /// 武器拾得時の許容範囲
91 | var WpnGet_Tolerance = 10.0;
92 |
93 | /// 経過フレーム格納数
94 | var PassedFrameSu = 3;
95 |
96 | /// enumなどの最大値
97 | var em_Maxval = "Maxval";
98 |
99 | /// 剣の残像用エフェクトモデルのボーン数
100 | var LW_bone_Max = 5;
101 |
102 | /// 剣の残像用エフェクトモデルのボーンにセットする値の過去ログ値
103 | var LW_bone_Set_Max = 20;
104 |
105 | /// 衝突判定の判定分割数
106 | var tgtModMax = 3;
107 |
108 | var ZanzoLog_Max = 30;
109 | /// 上の値-1をセットする
110 | var ZanzoLog_Max_Acsess = 29;
111 |
112 | /// X軸に90度回転するためのMatrix
113 | //var mx_X_90 = new THREE.Matrix4();
114 | //mx_X_90.makeBasis(KD090, 0,0);
115 |
116 | // #region 画像セット関連定数
117 |
118 | /// 画像位置:戦闘時、RWの横位置
119 | var imgSet_BT_WpnBar_RW_X = 520;
120 | /// 画像位置:戦闘時、SWの横位置
121 | var imgSet_BT_WpnBar_SW_X = 120;
122 |
123 | /// 画像位置:戦闘時、Wpn1の縦位置
124 | var imgSet_BT_WpnBar_Wp1_Y = 401;
125 | /// 画像位置:戦闘時、Wpn2の横位置
126 | var imgSet_BT_WpnBar_Wp2_Y = 451;
127 |
128 | /// 画像位置:戦闘時、WpnのEnバーのMax幅
129 | var imgSet_BT_WpnBar_W = 158;
130 | /// 画像位置:戦闘時、WpnのEnバーのMax高
131 | var imgSet_BT_WpnBar_H = 13;
132 |
133 |
134 | /// メッセージ枠・背景用
135 | //var imgGetRec_imgW = new Rectangle(0, 0, 1, 1);
136 |
137 | /// メッセージ枠・メニューなどの1列表示用の小枠
138 | //var imgGetRec_msgWin_S = new Rectangle(40, 40, 220, 320);
139 |
140 | /// メッセージ枠・メインメッセージなどの複数行表示用の大枠
141 | //var imgGetRec_msgWin_L = new Rectangle(65, 390, 680, 195);
142 |
143 | /// メッセージウィンドウの共通背景色
144 | var Img_MsgWinBG_G = 64;
145 |
146 | // #endregion
147 |
148 | /// CPU位置取り用間合い値
149 | //public static float[] CpuSampleDist = new float[(int)cEnCPUThinkID_Dist.maxval];
150 |
151 | // #region ミッション結果データテーブル用列名
152 | /// 撃墜した兵器名
153 | var ResDT_Col_UnitName = "UnitName";
154 | /// 特殊名称(パイロット名など)
155 | var ResDT_Col_ExtName = "ExtName";
156 | /// 単品コスト
157 | var ResDT_Col_Point = "Point";
158 | /// 撃墜時間(フレーム)
159 | var ResDT_Col_Frame = "Frame";
160 | /// 箇所(Vect3)
161 | var ResDT_Col_Pos = "Pos";
162 | /// 使用武器ID
163 | var ResDT_Col_WpID = "WpID";
164 | // #endregion
165 |
166 | var air_rol_Add = 0.05;
--------------------------------------------------------------------------------
/js/index_ui.js:
--------------------------------------------------------------------------------
1 | //"use strict";
2 |
3 | var _missionUrl = "";
4 |
5 | function beginPointerLock() {
6 | if (ScreenUpdater.endingFlg) { return; }
7 |
8 | try {
9 | var body = document.body;
10 | body.requestPointerLock = body.requestPointerLock || body.mozRequestPointerLock || body.webkitRequestPointerLock;
11 | body.requestPointerLock();
12 | } catch (ex) { }
13 | }
14 |
15 | function exitPointerLock() {
16 | try {
17 | var body = document.body;
18 | body.exitPointerLock = body.exitPointerLock || body.mozExitPointerLock || body.webkitExitPointerLock;
19 | body.exitPointerLock();
20 | } catch (ex) {
21 |
22 | }
23 | }
24 |
25 |
26 |
27 | //言語変更
28 | function changeLang(_flg) {
29 | if (_flg == undefined || _flg == -1) {
30 | oreCommon.nowLang += 1;
31 | if (oreCommon.nowLang > 1) { oreCommon.nowLang = 0; }
32 | }
33 | else {
34 | oreCommon.nowLang = _flg;
35 | }
36 |
37 | //ボタンの色変更
38 | setEnable_Btn('langbtn_jp', _flg === 0);
39 | setEnable_Btn('langbtn_jp2', _flg === 0);
40 |
41 | setEnable_Btn('langbtn_en', _flg === 1);
42 | setEnable_Btn('langbtn_en2', _flg === 1);
43 |
44 | //要素の表示:非表示
45 | //チュートリアルテーブル
46 | setDisplay_elm('tb_tu_j', _flg === 0);
47 | setDisplay_elm('tb_tu_e', _flg === 1);
48 |
49 | setDisplay_elm('tb_tu2_j', _flg === 0);
50 | setDisplay_elm('tb_tu2_e', _flg === 1);
51 | //ミッションテーブル
52 | setDisplay_elm('tb_missionList_j', _flg === 0);
53 | setDisplay_elm('tb_missionList_e', _flg === 1);
54 | setDisplay_elm('launch_j', _flg === 0);
55 | setDisplay_elm('launch_e', _flg === 1);
56 |
57 | }
58 |
59 | //ボタンの選択/非選択のクラス指定切り替え
60 | function setEnable_Btn(_id, _flg) {
61 | var elm = document.getElementById(_id);
62 | if (elm == null) { return; }
63 |
64 | if (_flg) {
65 | elm.className = 'select';
66 | } else {
67 | elm.className = '';
68 | }
69 | }
70 |
71 | //要素の表示/非表示切り替え(display要素)
72 | function setDisplay_elm(_id, _flg) {
73 | if (_flg) {
74 | document.getElementById(_id).style.display = "";
75 | } else {
76 | document.getElementById(_id).style.display = "none";
77 | }
78 | }
79 |
80 | //要素の表示/非表示切り替え(Visible要素)
81 | function setVisible_elm(_id, _flg) {
82 | if (_flg) {
83 | document.getElementById(_id).style.visibility = "visible";
84 | } else {
85 | document.getElementById(_id).style.visibility = "hidden";
86 | }
87 | }
88 |
89 |
90 | //ガチスタート
91 | function start_mission() {
92 | closeDialog('mission');
93 | setDisplay_elm("beginButton", false);
94 | if (!oreCommon.beginFlg) {
95 | //document.getElementById("beginButton").style.visibility = "hidden";
96 | oreCommon.beginFlg = true;
97 | document.getElementById("pinterLockUse").style.visibility = "visible";
98 | oreCommon.downloadScript(_missionUrl, null);
99 | }
100 | }
101 |
102 | function messageSkip() {
103 | ScreenUpdater.nowSceneID = ScreenUpdater.NextSceneID;
104 | ScreenUpdater.initScreenMsg();
105 | ScreenUpdater.viewEndingScreen();
106 | }
107 |
108 | //プレイ可能ミッションリストをDLする。
109 | function getMissionList() {
110 | oreCommon.beginFlg = false;
111 | oreCommon.downloadScript('js/missionlist.js', null);
112 | ShowDialog('mission');
113 | }
114 |
115 | function game_Restart() {
116 | testStageScript.stageInit_reStart();
117 | setDisplay_elm("closediv_restart", false);
118 | closeDialog('Staff');
119 | }
120 |
121 | function game_end() {
122 | masterInitting();
123 | closeDialog('Staff');
124 | }
125 |
126 | function closeDialog(_dialog) {
127 | setDisplay_elm("dialogback", false);
128 | setDisplay_elm("dialog_" + _dialog, false);
129 | /*
130 | document.getElementById().style.display = "none";
131 | document.getElementById(.style.display = "none";
132 | */
133 | document.getElementById("dialog_" + _dialog).className = '';
134 | document.getElementById("dialogBody_" + _dialog).className = '';
135 |
136 | oreCommon.PauseFlg = false;
137 | }
138 |
139 | function ShowDialog(_dialog) {
140 | setDisplay_elm("dialogback", true);
141 | setDisplay_elm("dialog_" + _dialog, true);
142 |
143 | document.getElementById("dialog_" + _dialog).className = 'active';
144 | document.getElementById("dialogBody_" + _dialog).className = 'active';
145 | oreCommon.PauseFlg = true;
146 | }
147 |
148 | function togulRestart(_isEnding) {
149 |
150 | setDisplay_elm("closediv_restart", _isEnding);
151 | setDisplay_elm("closediv_staff", !_isEnding);
152 | setDisplay_elm("beginButton", !_isEnding);
153 | /*
154 | if(_isEnding){
155 | document.getElementById("closediv_restart").style.display = "inherit";
156 | document.getElementById("closediv_staff").style.display = "none";
157 | document.getElementById("beginButton").style.display = "none";
158 | }else{
159 | document.getElementById("beginButton").style.display = "inherit";
160 | document.getElementById("closediv_staff").style.display = "inherit";
161 | document.getElementById("closediv_restart").style.display = "none";
162 | }
163 | */
164 | }
165 |
166 | function masterInitting() {
167 | try {
168 | if (testStageScript != null) {
169 | testStageScript = {};
170 | delete testStageScript; //strictモードがOnだと、 deleteできないんだってさ…うーん微妙(まぁこのdeleteにどのくらいの意味があるか…
171 | }
172 | } catch (e) { }
173 |
174 | try {
175 | threeComps.destructor();
176 | } catch (e) { }
177 |
178 | togulRestart(false);
179 | beginStageInit_Master();
180 | }
181 |
182 | ///////////////////////////
183 |
--------------------------------------------------------------------------------
/js/libs/stats.min.js:
--------------------------------------------------------------------------------
1 | // stats.js - http://github.com/mrdoob/stats.js
2 | var Stats=function(){function h(a){c.appendChild(a.dom);return a}function k(a){for(var d=0;de+1E3&&(r.update(1E3*a/(c-e),100),e=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){g=this.end()},domElement:c,setMode:k}};
4 | Stats.Panel=function(h,k,l){var c=Infinity,g=0,e=Math.round,a=e(window.devicePixelRatio||1),r=80*a,f=48*a,t=3*a,u=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement("canvas");q.width=r;q.height=f;q.style.cssText="width:80px;height:48px";var b=q.getContext("2d");b.font="bold "+9*a+"px Helvetica,Arial,sans-serif";b.textBaseline="top";b.fillStyle=l;b.fillRect(0,0,r,f);b.fillStyle=k;b.fillText(h,t,u);b.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(f,
5 | v){c=Math.min(c,f);g=Math.max(g,f);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=k;b.fillText(e(f)+" "+h+" ("+e(c)+"-"+e(g)+")",t,u);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,e((1-f/v)*p))}}};"object"===typeof module&&(module.exports=Stats);
6 |
--------------------------------------------------------------------------------
/js/missionlist.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 |
4 |
5 | var tb_elm_j = null;
6 | var tb_elm_e = null;
7 |
8 | var missionList = {
9 | "0": ["テストステージ", "Test Stage", "Easy", "Easy", "墜落した輸送機を捜索・救助せよ", "Conbat Rescue", "true", "js/stagefile/scriptList_testStage.js"],
10 | "1": ["ダミーステージ", "Dummy Stage", "Hard", "Hard", "選択できまへん", "disabled test", "false", ""],
11 | };
12 |
13 |
14 | ////////////////////////////////////
15 | makeMissionList();
16 |
17 | //テーブルにミッション一覧を割り当てる。スクロール?知らんな。
18 | function makeMissionList() {
19 | tb_elm_j = document.getElementById("tb_missionList_j");
20 | tb_elm_e = document.getElementById("tb_missionList_e");
21 |
22 | //一度列を全削除
23 | for (var i = 0; i < tb_elm_j.rows.length;) {
24 | tb_elm_j.deleteRow(0);
25 | tb_elm_e.deleteRow(0);
26 | }
27 |
28 | var keys = Object.keys(missionList);
29 | for (var i = 0; i < keys.length; i++) {
30 | addMissionRow(i, 0, tb_elm_j);
31 | addMissionRow(i, 1, tb_elm_e);
32 | }
33 |
34 | _missionUrl = missionList[0][missionList[0].length - 1];
35 | }
36 |
37 | //ミッションリスト行をHTMLのTableに追加する
38 | function addMissionRow(i, _engFlg, _table) {
39 | var row = _table.insertRow(-1);
40 | // セルの挿入
41 | var cell1 = row.insertCell(-1);
42 | var cell2 = row.insertCell(-1);
43 | var cell3 = row.insertCell(-1);
44 | // セルの内容入力
45 | cell1.insertAdjacentHTML("beforeend", missionList[i][0 + _engFlg]);
46 | cell2.insertAdjacentHTML("beforeend", missionList[i][2 + _engFlg]);
47 | cell3.insertAdjacentHTML("beforeend", missionList[i][4 + _engFlg]);
48 |
49 | if (i == 0) {
50 | row.classList.add('tr_mission_sel');
51 | } else {
52 | row.classList.add('tr_mission_unsel');
53 | }
54 | }
55 |
56 |
57 | //選択した行以外の色を変えたりできればいいな
58 | function selectMissionRow(_r, _engFlg, _table) {
59 |
60 | if (missionList[0][missionList[_r].length - 1] == "") {
61 | return;
62 | }
63 |
64 | var keys = Object.keys(missionList);
65 | for (var i = 0; i < keys.length; i++) {
66 | //列の色を変える。だがどうやって。
67 | }
68 |
69 | }
--------------------------------------------------------------------------------
/js/objectSetter/ObjSetter_Base.js:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | "use strict";
4 | //操作オブジェクトの元となるクラス
5 | //いわばC#のabstructクラスっぽいことをやってみたかった
6 | function ObjectSetter(name)
7 | {
8 | this.name = name;
9 | this.modelObject = null;
10 |
11 | this.AnimationSetInfo = null;
12 | this.AnimationKeys = null;
13 |
14 | this.animationController = null;
15 |
16 | this.BarniaEffectBone = [];
17 | this.BulletEffectBone = [];
18 |
19 | this.mountWpnBone = [];
20 |
21 | this.allBoneAnimation = new Array();
22 | this.upBodyAnimation = new Array();
23 |
24 | /// CPU思考
25 | //this.CpuParam = new strCpuParams();
26 |
27 | //各「機体」で持っているパラメータ
28 | this.meca_Stat_Const_f = [];
29 |
30 | this.BoundingLinkers = [new BoundingLinker()];
31 | }
32 |
33 | ObjectSetter.prototype = {};
34 | //クラスメソッドの定義
35 | ObjectSetter.prototype.init = function () {
36 |
37 | };
38 |
39 | ObjectSetter.prototype.loadComplete = function () { };
40 |
41 | ///////////////////////////////////
42 |
43 | //ボーンに併せて動くアタリ判定球(BondingSphere)
44 | function BoundingLinker(_bone, _radius, _transPoint) {
45 | this.LinkBone = _bone != undefined ? _bone : null;
46 | this.Radius = _radius != undefined ? _radius : 10;
47 | this.transPoint = _transPoint != undefined ? _transPoint : new THREE.Vector3(0,5,0);
48 |
49 | this.BoundingSphere = new THREE.Sphere(new THREE.Vector3(), _radius);
50 |
51 | this.tmpV3 = new THREE.Vector3();
52 | }
53 |
54 | BoundingLinker.prototype.Update = function (_pos) {
55 | if (this.LinkBone == null) {
56 | this.BoundingSphere.set(_pos, this.Radius);
57 | }
58 | else {
59 | this.tmpV3.copy(this.transPoint);
60 | this.LinkBone.localToWorld(this.tmpV3);
61 | this.BoundingSphere.set(this.tmpV3, this.Radius);
62 | }
63 | }
64 |
65 | ////////////////////////
66 |
67 |
68 | var inherits = function (childCtor, parentCtor) {
69 | // 子クラスの prototype のプロトタイプとして 親クラスの
70 | // prototype を指定することで継承が実現される
71 | Object.setPrototypeOf(childCtor.prototype, parentCtor.prototype);
72 | };
--------------------------------------------------------------------------------
/js/objectSetter/obj_AAA1.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
6 | "use strict";
7 | //操作オブジェクトの元となるクラス。
8 | //これは「1モデル(キャラクター1種類)」毎に用意され、
9 | //各能力値などもここに格納されている。
10 | //これも、操作キャラが増える度にインスタンスは【作られない】 ‥はず
11 | function Obj_AAA_1() {
12 | ObjectSetter.call(this, "AAA");
13 | }
14 |
15 | //オブジェクトのロードメソッド
16 | Obj_AAA_1.prototype.load = function (object) {
17 |
18 | var self = this;
19 |
20 | self.modelObject = object.FrameInfo[0]; //XfileLoader_CopyObject(object.FrameInfo[0]);
21 | self.modelObject.scale.setScalar(Master_Chara_Size);
22 |
23 | self.AnimationSetInfo = null;
24 | self.AnimationKeys = null
25 |
26 | self.name = "M503-AAA";
27 | //能力値セット
28 | self.meca_Stat_Const_f = [];
29 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_up] = 0.005;//歩行速度上昇値
30 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_max] = 0.25; //歩行速度最大値
31 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_up] = 0.3; //ダッシュ速度上昇値
32 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_max] = 1.5; //ダッシュ速度最大値
33 | self.meca_Stat_Const_f[cEnConsts_ParamF.body_height] = 3.5 * Master_Chara_Size; //地上からの機体の中心・高さ
34 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_stand] = 0.025; //機体の回転速度・立ち
35 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_dash] = 0.015; //期待の回転速度・ダッシュ
36 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_up] = 0.04; //ジャンプの上昇速度
37 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_max] = 0.25; //ジャンプ上昇速度最大値
38 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_up] = 0.05; //空中ダッシュ(斜めジャンプ)の速度上昇値
39 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_max] = 0.8; //空中ダッシュ(斜めジャンプ)の速度最大値
40 | self.meca_Stat_Const_f[cEnConsts_ParamF.junp_Kotyoku] = 30; //ジャンプ開始時の初期硬直
41 |
42 | self.meca_Stat_Const_f[cEnConsts_ParamF.life_max] = 555; //HP最大値
43 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_max] = 1000; //ゲイン最大値
44 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dash] = 8; //ダッシュ時のゲイン使用値
45 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junp] = 10; //ジャンプ時のゲイン使用値
46 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junpfast] = 100; //ジャンプ初期時のゲイン使用値
47 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_regeinS] = 8; //通常時のゲイン回復値
48 | self.meca_Stat_Const_f[cEnConsts_ParamF.Stand_Brake] = 0.7; //摩擦係数のようなもの:立ちからの加速の遅さ
49 | self.meca_Stat_Const_f[cEnConsts_ParamF.ext_brake] = 0.85; //ダッシュ後のブレーキ性能
50 |
51 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dashFast] = 100; //ダッシュに最低限必要なEn残量
52 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_KotyokuTime] = 15; //ダッシュ開始時の硬直フレーム時間
53 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoostTime] = 25; //ダッシュ初期時のブースト時間(実質、上の硬直時間を引いた数だけ適用
54 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoost] = 0.5; //ダッシュ開始時の所期ブースト加速度
55 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_R] = (95 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 右
56 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_L] = -(105 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 左
57 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dmg_Tolerance] = 3.5; //被ダメ⇒よろけまでの値 一番ダウンしないヤツで4~5くらい?
58 | self.meca_Stat_Const_f[cEnConsts_ParamF.Don_Tolerance] = 6; //被ダメ⇒ダウンまでの値
59 | self.meca_Stat_Const_f[cEnConsts_ParamF.SevTime] = 15; //LWで付加されるセービングフレーム数
60 | self.meca_Stat_Const_f[cEnConsts_ParamF.Sev_Power] = 0.5; //LWで付加される、ダウン耐久乗算値(少ないほうがセビ中にダウンしなくなる)
61 | self.meca_Stat_Const_f[cEnConsts_ParamF.savHalfLockTime] = 45; //壁にさえぎられた半ロック常態から、完全にロックが切れるまでの時間
62 | self.meca_Stat_Const_f[cEnConsts_ParamF.LockRange] = 4500 * Master_Shot_Renge_Rate; // ロック可能距離
63 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_wpnFact] = 0.8; //武器装備時、武器の重さがEn制限に与える倍数 大きいほど影響を受ける
64 |
65 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_short] = 60; // ステップの最低時間
66 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_End] = 20; //ステップの終了中のスキ時間
67 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_Step] = 150; //ステップに最低限必要なEn残量
68 |
69 | //self.BarniaEffectBone.push(self.modelObject.skeleton.bones[37]);
70 |
71 | self.UpBodyBone = self.modelObject.skeleton.bones[2]; //X軸も向かせたいなら 3
72 | if (self.UpBodyBone.appendMatrix == undefined) {
73 | self.UpBodyBone.appendMatrix = new THREE.Matrix4();
74 | }
75 | self.UpBodyBone.BaseMatrix = new THREE.Matrix4();
76 | self.UpBodyBone.BaseMatrix.copy(self.UpBodyBone.matrix);
77 | self.UpBodyBone.BaseMatrix.elements[5] = 1.0;
78 | self.UpBodyBone.BaseMatrix.elements[10] = 1.0;
79 | self.UpBodyBone.BaseMatrix.elements[13] *= -1.0;
80 | self.UpBodyBone.BaseMatrix.elements[14] *= -1.0;
81 |
82 | self.mountWpnBone[0] = self.modelObject.skeleton.bones[3];
83 |
84 | if (self.loadComplete != null) {
85 | self.loadComplete();
86 | }
87 |
88 | }
89 |
90 |
91 | inherits(Obj_AAA_1, ObjectSetter);
92 |
93 | ///////////////////////////////////////////////////////
94 | /*
95 | function Animater_SSR06()
96 | {
97 | Animater.call(this);
98 | }
99 | inherits(Animater_SSR06, Animater);
100 |
101 | //古くて使ってない?
102 | Animater_SSR06.prototype.createAnimation = function( _modelobj, _animation)
103 | {
104 | this.animationController = new XAnimationObject();
105 |
106 | var keys = Object.keys(_animation);
107 | //全身を使うアニメーション
108 | this.animationController.set(_modelobj, _animation[keys[0]], keys[0]);
109 | //上半身のみに適用するアニメーション
110 | this.animationController.addAnimation(_animation[keys[0]], keys[0] + "_up", ["Frame2_Bone01"]);
111 | {
112 | this.animationController.createAnimation("stand", keys[0], 10, 11, true);
113 | this.animationController.createAnimation("wark", keys[0], 50, 82, true);
114 | this.animationController.createAnimation("back", keys[0], 100, 130, true);
115 | this.animationController.createAnimation("dash", keys[0], 150, 180, true);
116 | this.animationController.createAnimation("kiri1", keys[0], 2400, 2480, true);
117 | this.animationController.createAnimation("kiri2", keys[0], 2500, 2560, true);
118 |
119 | this.animationController.createAnimation("Fire1", keys[0] + "_up", 1000, 1050, false);
120 | this.animationController.createAnimation("Fire2", keys[0] + "_up", 2600, 2680, false);
121 | }
122 | }
123 | */
--------------------------------------------------------------------------------
/js/objectSetter/obj_AAA2.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
6 | "use strict";
7 | //操作オブジェクトの元となるクラス。
8 | //これは「1モデル(キャラクター1種類)」毎に用意され、
9 | //各能力値などもここに格納されている。
10 | //これも、操作キャラが増える度にインスタンスは【作られない】 ‥はず
11 | function Obj_AAA_2()
12 | {
13 | ObjectSetter.call(this, "Tank");
14 | }
15 |
16 | //オブジェクトのロードメソッド
17 | Obj_AAA_2.prototype.load = function (object) {
18 |
19 | var self = this;
20 |
21 | self.modelObject = object.FrameInfo[0]; //XfileLoader_CopyObject(object.FrameInfo[0]);
22 | self.modelObject.scale.setScalar(Master_Chara_Size);
23 |
24 | self.AnimationSetInfo = null;
25 | self.AnimationKeys = null
26 |
27 | self.name = "M503-ACA";
28 | //能力値セット
29 | self.meca_Stat_Const_f = [];
30 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_up] = 0.01;//歩行速度上昇値
31 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_max] = 0.25; //歩行速度最大値
32 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_up] = 0.3; //ダッシュ速度上昇値
33 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_max] = 1.5; //ダッシュ速度最大値
34 | self.meca_Stat_Const_f[cEnConsts_ParamF.body_height] = 3.5 * Master_Chara_Size; //地上からの機体の中心・高さ
35 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_stand] = 0.025; //機体の回転速度・立ち
36 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_dash] = 0.015; //期待の回転速度・ダッシュ
37 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_up] = 0.04; //ジャンプの上昇速度
38 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_max] = 0.25; //ジャンプ上昇速度最大値
39 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_up] = 0.05; //空中ダッシュ(斜めジャンプ)の速度上昇値
40 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_max] = 0.8; //空中ダッシュ(斜めジャンプ)の速度最大値
41 | self.meca_Stat_Const_f[cEnConsts_ParamF.junp_Kotyoku] = 30; //ジャンプ開始時の初期硬直
42 |
43 | self.meca_Stat_Const_f[cEnConsts_ParamF.life_max] = 1255; //HP最大値
44 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_max] = 1000; //ゲイン最大値
45 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dash] = 8; //ダッシュ時のゲイン使用値
46 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junp] = 10; //ジャンプ時のゲイン使用値
47 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junpfast] = 100; //ジャンプ初期時のゲイン使用値
48 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_regeinS] = 8; //通常時のゲイン回復値
49 | self.meca_Stat_Const_f[cEnConsts_ParamF.Stand_Brake] = 0.7; //摩擦係数のようなもの:立ちからの加速の遅さ
50 | self.meca_Stat_Const_f[cEnConsts_ParamF.ext_brake] = 0.85; //ダッシュ後のブレーキ性能
51 |
52 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dashFast] = 100; //ダッシュに最低限必要なEn残量
53 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_KotyokuTime] = 15; //ダッシュ開始時の硬直フレーム時間
54 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoostTime] = 25; //ダッシュ初期時のブースト時間(実質、上の硬直時間を引いた数だけ適用
55 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoost] = 0.5; //ダッシュ開始時の所期ブースト加速度
56 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_R] = (95 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 右
57 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_L] = -(105 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 左
58 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dmg_Tolerance] = 3.5; //被ダメ⇒よろけまでの値 一番ダウンしないヤツで4~5くらい?
59 | self.meca_Stat_Const_f[cEnConsts_ParamF.Don_Tolerance] = 6; //被ダメ⇒ダウンまでの値
60 | self.meca_Stat_Const_f[cEnConsts_ParamF.SevTime] = 15; //LWで付加されるセービングフレーム数
61 | self.meca_Stat_Const_f[cEnConsts_ParamF.Sev_Power] = 0.5; //LWで付加される、ダウン耐久乗算値(少ないほうがセビ中にダウンしなくなる)
62 | self.meca_Stat_Const_f[cEnConsts_ParamF.savHalfLockTime] = 45; //壁にさえぎられた半ロック常態から、完全にロックが切れるまでの時間
63 | self.meca_Stat_Const_f[cEnConsts_ParamF.LockRange] = 4500 * Master_Shot_Renge_Rate; // ロック可能距離
64 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_wpnFact] = 0.8; //武器装備時、武器の重さがEn制限に与える倍数 大きいほど影響を受ける
65 |
66 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_short] = 60; // ステップの最低時間
67 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_End] = 20; //ステップの終了中のスキ時間
68 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_Step] = 150; //ステップに最低限必要なEn残量
69 |
70 | //self.BarniaEffectBone.push(self.modelObject.skeleton.bones[37]);
71 |
72 | self.UpBodyBone = self.modelObject.skeleton.bones[2]; //X軸も向かせたいなら 3
73 | if(self.UpBodyBone.appendMatrix == undefined){
74 | self.UpBodyBone.appendMatrix = new THREE.Matrix4();
75 | }
76 | self.UpBodyBone.BaseMatrix = new THREE.Matrix4();
77 | self.UpBodyBone.BaseMatrix.copy(self.UpBodyBone.matrix);
78 | self.UpBodyBone.BaseMatrix.elements[5] = 1.0;
79 | self.UpBodyBone.BaseMatrix.elements[10] = 1.0;
80 | self.UpBodyBone.BaseMatrix.elements[13] *= -1.0;
81 | self.UpBodyBone.BaseMatrix.elements[14] *= -1.0;
82 |
83 | self.mountWpnBone[0] = self.modelObject.skeleton.bones[3];
84 |
85 | if (self.loadComplete != null) {
86 | self.loadComplete();
87 | }
88 |
89 | }
90 |
91 |
92 | inherits(Obj_AAA_2, ObjectSetter);
93 |
94 | ///////////////////////////////////////////////////////
95 | /*
96 | function Animater_SSR06()
97 | {
98 | Animater.call(this);
99 | }
100 | inherits(Animater_SSR06, Animater);
101 |
102 | //古くて使ってない?
103 | Animater_SSR06.prototype.createAnimation = function( _modelobj, _animation)
104 | {
105 | this.animationController = new XAnimationObject();
106 |
107 | var keys = Object.keys(_animation);
108 | //全身を使うアニメーション
109 | this.animationController.set(_modelobj, _animation[keys[0]], keys[0]);
110 | //上半身のみに適用するアニメーション
111 | this.animationController.addAnimation(_animation[keys[0]], keys[0] + "_up", ["Frame2_Bone01"]);
112 | {
113 | this.animationController.createAnimation("stand", keys[0], 10, 11, true);
114 | this.animationController.createAnimation("wark", keys[0], 50, 82, true);
115 | this.animationController.createAnimation("back", keys[0], 100, 130, true);
116 | this.animationController.createAnimation("dash", keys[0], 150, 180, true);
117 | this.animationController.createAnimation("kiri1", keys[0], 2400, 2480, true);
118 | this.animationController.createAnimation("kiri2", keys[0], 2500, 2560, true);
119 |
120 | this.animationController.createAnimation("Fire1", keys[0] + "_up", 1000, 1050, false);
121 | this.animationController.createAnimation("Fire2", keys[0] + "_up", 2600, 2680, false);
122 | }
123 | }
124 | */
--------------------------------------------------------------------------------
/js/objectSetter/obj_BarniaObj.js:
--------------------------------------------------------------------------------
1 |
2 | "use strict";
3 |
4 | function Obj_BarniaObj(object) {
5 |
6 | this.nowUseMode = "dmy";
7 |
8 | this.name = "Barnia";
9 | this.modelObject = object.FrameInfo[0]; //XfileLoader_CopyObject(object.FrameInfo[0]);
10 |
11 | this.ModelObject = this.modelObject;
12 |
13 | this.AnimationSetInfo = object.AnimationSetInfo;
14 | this.AnimationKeys = Object.keys(object.AnimationSetInfo);
15 |
16 | //アニメーションコントローラーをセット&作成する
17 | var keys = Object.keys(object.AnimationSetInfo);
18 | this.animationController = new XAnimationObject();
19 | this.allBoneAnimation = new Array();
20 | this.upBodyAnimation = new Array();
21 | //全身を使うアニメーション
22 | this.animationController.set(this.modelObject, object.AnimationSetInfo[keys[0]], keys[0]);
23 | //上半身のみに適用するアニメーション
24 | //self.animationController.addAnimation(object.AnimationSetInfo[keys[0]], keys[0] + "_up", ["Frame2_Bone01"]);
25 | this.animationController.createAnimation("init", keys[0], 9, 10, false, true);
26 | this.animationController.createAnimation("use", keys[0], 10, 35, false, true);
27 | this.animationController.createAnimation("stop", keys[0], 36, 50, false, true);
28 | if (this.loadComplete != null) {
29 | this.loadComplete();
30 | }
31 | //this.nowMotion_base = "";
32 | this.Animater = this.animationController;
33 | this.ModelObject.castShadow = false;
34 |
35 | //質感セット
36 | for (var i = 0; i < this.ModelObject.material.materials.length; i++) {
37 | this.ModelObject.material.materials[i].side = THREE.DoubleSide;
38 | this.ModelObject.material.materials[i].color.set(0x1133ff);
39 | this.ModelObject.material.materials[i].specular.set(0x000000);
40 | this.ModelObject.material.materials[i].shininess = 0;
41 | this.ModelObject.material.materials[i].reflectivity = 0;
42 | //this.ModelObject.material.materials[0].emissive.set(0x5555ff);
43 | this.ModelObject.material.materials[i].transparent = true;
44 | this.ModelObject.material.materials[i].depthTest = true;
45 | this.ModelObject.material.materials[i].blending = THREE.AdditiveBlending;
46 | this.ModelObject.material.materials[i].depthFunc = THREE.NeverDepth;
47 | this.ModelObject.material.materials[i].depthWrite = false;
48 |
49 | }
50 | }
51 |
52 | Obj_BarniaObj.prototype.SetUse = function (_flg) {
53 | var self = this;
54 | if (_flg != self.nowUseMode) {
55 | if (_flg) {
56 | self.Animater.beginAnimation("use", true);
57 | } else {
58 | self.Animater.beginAnimation("stop", true);
59 | }
60 | }
61 | self.nowUseMode = _flg;
62 |
63 | if (_flg) {
64 | //self.animationController.ActionInfo["use"].nowMorphPower = 1.0;
65 | self.modelObject.skeleton.bones[0].appendMatrix.makeRotationZ(ScreenUpdater.scene_spanTime % 100 * 0.01);
66 | }
67 |
68 | };
69 |
--------------------------------------------------------------------------------
/js/objectSetter/obj_Hover.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
6 | "use strict";
7 | //操作オブジェクトの元となるクラス。
8 | //これは「1モデル(キャラクター1種類)」毎に用意され、
9 | //各能力値などもここに格納されている。
10 | //これも、操作キャラが増える度にインスタンスは【作られない】 ‥はず
11 | function Obj_Hover()
12 | {
13 | ObjectSetter.call(this, "Hover");
14 | }
15 |
16 | //オブジェクトのロードメソッド
17 | Obj_Hover.prototype.load = function (object) {
18 |
19 | var self = this;
20 |
21 | self.modelObject = object.FrameInfo[0]; //XfileLoader_CopyObject(object.FrameInfo[0]);
22 |
23 | self.AnimationSetInfo = null;
24 | self.AnimationKeys = null
25 |
26 | self.name = "HMV-22C";
27 | //能力値セット
28 | self.meca_Stat_Const_f = [];
29 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_up] = 0.01;//歩行速度上昇値
30 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_max] = 0.3; //歩行速度最大値
31 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_up] = 0.3; //ダッシュ速度上昇値
32 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_max] = 1.5; //ダッシュ速度最大値
33 | self.meca_Stat_Const_f[cEnConsts_ParamF.body_height] = 6.5; //地上からの機体の中心・高さ
34 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_stand] = 0.025; //機体の回転速度・立ち
35 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_dash] = 0.015; //期待の回転速度・ダッシュ
36 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_up] = 0.04; //ジャンプの上昇速度
37 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_max] = 0.25; //ジャンプ上昇速度最大値
38 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_up] = 0.05; //空中ダッシュ(斜めジャンプ)の速度上昇値
39 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_max] = 0.8; //空中ダッシュ(斜めジャンプ)の速度最大値
40 | self.meca_Stat_Const_f[cEnConsts_ParamF.junp_Kotyoku] = 30; //ジャンプ開始時の初期硬直
41 |
42 | self.meca_Stat_Const_f[cEnConsts_ParamF.life_max] = 250; //HP最大値
43 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_max] = 1000; //ゲイン最大値
44 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dash] = 8; //ダッシュ時のゲイン使用値
45 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junp] = 10; //ジャンプ時のゲイン使用値
46 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junpfast] = 100; //ジャンプ初期時のゲイン使用値
47 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_regeinS] = 8; //通常時のゲイン回復値
48 | self.meca_Stat_Const_f[cEnConsts_ParamF.Stand_Brake] = 0.7; //摩擦係数のようなもの:立ちからの加速の遅さ
49 | self.meca_Stat_Const_f[cEnConsts_ParamF.ext_brake] = 0.85; //ダッシュ後のブレーキ性能
50 |
51 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dashFast] = 100; //ダッシュに最低限必要なEn残量
52 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_KotyokuTime] = 15; //ダッシュ開始時の硬直フレーム時間
53 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoostTime] = 25; //ダッシュ初期時のブースト時間(実質、上の硬直時間を引いた数だけ適用
54 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoost] = 0.5; //ダッシュ開始時の所期ブースト加速度
55 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_R] = (95 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 右
56 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_L] = -(105 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 左
57 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dmg_Tolerance] = 3.5; //被ダメ⇒よろけまでの値 一番ダウンしないヤツで4~5くらい?
58 | self.meca_Stat_Const_f[cEnConsts_ParamF.Don_Tolerance] = 6; //被ダメ⇒ダウンまでの値
59 | self.meca_Stat_Const_f[cEnConsts_ParamF.SevTime] = 15; //LWで付加されるセービングフレーム数
60 | self.meca_Stat_Const_f[cEnConsts_ParamF.Sev_Power] = 0.5; //LWで付加される、ダウン耐久乗算値(少ないほうがセビ中にダウンしなくなる)
61 | self.meca_Stat_Const_f[cEnConsts_ParamF.savHalfLockTime] = 45; //壁にさえぎられた半ロック常態から、完全にロックが切れるまでの時間
62 | self.meca_Stat_Const_f[cEnConsts_ParamF.LockRange] = 4500 * Master_Shot_Renge_Rate; // ロック可能距離
63 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_wpnFact] = 0.8; //武器装備時、武器の重さがEn制限に与える倍数 大きいほど影響を受ける
64 |
65 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_short] = 60; // ステップの最低時間
66 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_End] = 20; //ステップの終了中のスキ時間
67 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_Step] = 150; //ステップに最低限必要なEn残量
68 |
69 | //self.BarniaEffectBone.push(self.modelObject.skeleton.bones[37]);
70 |
71 |
72 | if (self.loadComplete != null) {
73 | self.loadComplete();
74 | }
75 |
76 | }
77 |
78 |
79 | inherits(Obj_Hover, ObjectSetter);
80 |
81 | ///////////////////////////////////////////////////////
82 | /*
83 | function Animater_SSR06()
84 | {
85 | Animater.call(this);
86 | }
87 | inherits(Animater_SSR06, Animater);
88 |
89 | //古くて使ってない?
90 | Animater_SSR06.prototype.createAnimation = function( _modelobj, _animation)
91 | {
92 | this.animationController = new XAnimationObject();
93 |
94 | var keys = Object.keys(_animation);
95 | //全身を使うアニメーション
96 | this.animationController.set(_modelobj, _animation[keys[0]], keys[0]);
97 | //上半身のみに適用するアニメーション
98 | this.animationController.addAnimation(_animation[keys[0]], keys[0] + "_up", ["Frame2_Bone01"]);
99 | {
100 | this.animationController.createAnimation("stand", keys[0], 10, 11, true);
101 | this.animationController.createAnimation("wark", keys[0], 50, 82, true);
102 | this.animationController.createAnimation("back", keys[0], 100, 130, true);
103 | this.animationController.createAnimation("dash", keys[0], 150, 180, true);
104 | this.animationController.createAnimation("kiri1", keys[0], 2400, 2480, true);
105 | this.animationController.createAnimation("kiri2", keys[0], 2500, 2560, true);
106 |
107 | this.animationController.createAnimation("Fire1", keys[0] + "_up", 1000, 1050, false);
108 | this.animationController.createAnimation("Fire2", keys[0] + "_up", 2600, 2680, false);
109 | }
110 | }
111 | */
--------------------------------------------------------------------------------
/js/objectSetter/obj_SSR06.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
6 | "use strict";
7 | //操作オブジェクトの元となるクラス。
8 | //これは「1モデル(キャラクター1種類)」毎に用意され、
9 | //各能力値などもここに格納されている。
10 | //これも、操作キャラが増える度にインスタンスは【作られない】 ‥はず
11 | function Obj_SSR06() {
12 | ObjectSetter.call(this, "SSR06");
13 | }
14 |
15 | //オブジェクトのロードメソッド
16 | Obj_SSR06.prototype.load = function (object) {
17 |
18 | var self = this;
19 |
20 | self.name = "SSR-006";
21 | self.modelObject = object.FrameInfo[0]; //XfileLoader_CopyObject(object.FrameInfo[0]);
22 | self.modelObject.scale.multiplyScalar(Master_Chara_Size);
23 | //self.modelObject.scale.set(-Master_Chara_Size, Master_Chara_Size, Master_Chara_Size);
24 |
25 | self.AnimationSetInfo = object.AnimationSetInfo;
26 | self.AnimationKeys = Object.keys(object.AnimationSetInfo);
27 |
28 | //武器装備箇所のセット
29 | for (var i = 0; i < self.modelObject.skeleton.bones.length; i++) {
30 | if (self.modelObject.skeleton.bones[i].name.indexOf('R_Wpn2') > -1) {
31 | self.mountWpnBone[0] = self.modelObject.skeleton.bones[i];
32 | self.mountWpnBone[0].mounting = null;
33 | //武器装備に必要な角度を足す
34 | var rolx = new THREE.Matrix4();
35 | rolx.makeRotationX(Math.PI);
36 | self.mountWpnBone[0].MountMx = rolx;
37 | }
38 |
39 | if (self.modelObject.skeleton.bones[i].name.indexOf('L_Wpn') > -1) {
40 | self.mountWpnBone[1] = self.modelObject.skeleton.bones[i];
41 | self.mountWpnBone[1].mounting = null;
42 | //武器装備に必要な角度を足す
43 | var rolx = new THREE.Matrix4();
44 | rolx.makeRotationX(Math.PI);
45 | self.mountWpnBone[1].MountMx = rolx;
46 | }
47 |
48 | if (self.modelObject.skeleton.bones[i].name.indexOf('SW2_R_mp_2') > -1) {
49 | self.mountWpnBone[2] = self.modelObject.skeleton.bones[i];
50 | self.mountWpnBone[2].mounting = null;
51 | var refz = new THREE.Matrix4();
52 | refz.elements[0] = -1;
53 | self.mountWpnBone[2].MountMx = refz;
54 | }
55 |
56 |
57 | if (self.modelObject.skeleton.bones[i].name.indexOf('SW2_L_mp_2') > -1) {
58 | self.mountWpnBone[3] = self.modelObject.skeleton.bones[i];
59 | self.mountWpnBone[3].mounting = null;
60 | //武器装備に必要な角度を足す
61 | var refz = new THREE.Matrix4();
62 | //refz.elements[0] = -1;
63 | self.mountWpnBone[3].MountMx = refz;
64 | }
65 |
66 | if (self.modelObject.skeleton.bones[i].name.indexOf('Bone01') > -1) {
67 | self.UpBodyBone = self.modelObject.skeleton.bones[i];
68 | }
69 |
70 | //BarniaEffectBone
71 | if (self.modelObject.skeleton.bones[i].name.indexOf('BarniaBaseR') > -1 && self.modelObject.skeleton.bones[i].name.indexOf('_2') == -1) {
72 | self.BarniaEffectBone[0] = self.modelObject.skeleton.bones[i];
73 | self.BarniaEffectBone[0].mounting = null;
74 | //バーニアマウントに必要な角度とスケールを足す
75 | var rolx = new THREE.Matrix4();
76 | rolx.makeRotationX(Math.PI);
77 | rolx.elements[10] = 1.5;
78 | rolx.elements[0] *= 0.3;
79 | rolx.elements[5] *= 0.3;
80 | self.BarniaEffectBone[0].MountMx = rolx;
81 | }
82 |
83 | if (self.modelObject.skeleton.bones[i].name.indexOf('BarniaBaseL') > -1 && self.modelObject.skeleton.bones[i].name.indexOf('_2') == -1) {
84 | self.BarniaEffectBone[1] = self.modelObject.skeleton.bones[i];
85 | self.BarniaEffectBone[1].mounting = null;
86 | //バーニアマウントに必要な角度を足す
87 | var rolx = new THREE.Matrix4();
88 | rolx.makeRotationX(Math.PI);
89 | rolx.elements[10] = 1.3;
90 | rolx.elements[0] *= 0.2;
91 | rolx.elements[5] *= 0.2;
92 | self.BarniaEffectBone[1].MountMx = rolx;
93 | }
94 | }
95 |
96 |
97 |
98 | //アニメーションコントローラーをセット&作成する
99 | var keys = Object.keys(object.AnimationSetInfo);
100 | self.animationController = new XAnimationObject();
101 | self.allBoneAnimation = new Array();
102 | self.upBodyAnimation = new Array();
103 | //全身を使うアニメーション
104 | self.animationController.set(self.modelObject, object.AnimationSetInfo[keys[0]], keys[0]);
105 | //上半身のみに適用するアニメーション
106 | self.animationController.addAnimation(object.AnimationSetInfo[keys[0]], keys[0] + "_up", ["Frame2_Bone01"]);
107 |
108 | //アニメーションの定義作成
109 | {
110 | self.animationController.createAnimation("stand", keys[0], 10, 11, true);
111 | self.animationController.createAnimation("walk", keys[0], 50, 81, true);
112 | self.animationController.createAnimation("back", keys[0], 100, 131, true);
113 | self.animationController.createAnimation("walk_R", keys[0], 3100, 3131, true);
114 | self.animationController.createAnimation("walk_L", keys[0], 3150, 3181, true);
115 | self.animationController.createAnimation("dash", keys[0], 150, 180, false, true);
116 | self.animationController.createAnimation("kiri1", keys[0], 2400, 2480, true);
117 | self.animationController.createAnimation("kiri2", keys[0], 2500, 2560, true);
118 |
119 | self.animationController.createAnimation("dash_F", keys[0], 150, 180, false, true);
120 | self.animationController.createAnimation("dash_R", keys[0], 200, 230, false, true);
121 | self.animationController.createAnimation("dash_L", keys[0], 250, 280, false, true);
122 | self.animationController.createAnimation("dash_B", keys[0], 300, 330, false, true);
123 |
124 | self.animationController.createAnimation("tach_Down", keys[0], 350, 352, false, true);
125 |
126 | self.animationController.createAnimation("Junp", keys[0], 415, 440, false, true);
127 | self.animationController.createAnimation("J_Down", keys[0], 440, 470, false, true);
128 |
129 | self.animationController.createAnimation("dmg", keys[0], 500, 540, false, true);
130 | self.animationController.createAnimation("down_1", keys[0], 600, 615, false, true);
131 | self.animationController.createAnimation("down_1_2", keys[0], 625, 650, false, true);
132 | self.animationController.createAnimation("down_2", keys[0], 650, 680, false, true);
133 | self.animationController.createAnimation("down_Rise", keys[0], 700, 735, false, true);
134 | self.animationController.createAnimation("down_dead", keys[0], 600, 680, false, true);
135 |
136 | ///////////////////////////////////////////////////////////////
137 | ////////////////////////////////////////////////////////////////
138 |
139 | ////Wpnモーション
140 | self.animationController.createAnimation("RW_1_N", keys[0] + "_up", 1010, 1020, false, true);
141 | self.animationController.createAnimation("RW_1_2_N", keys[0] + "_up", 1029, 1030, false, true);
142 | self.animationController.createAnimation("RW_1_Shot_N", keys[0] + "_up", 1032, 1050, false, true);
143 | self.animationController.createAnimation("RW_1_End_N", keys[0] + "_up", 1032, 1050, false, false); //繰り返さない&最後モーションを維持せず、破棄
144 |
145 | /////////////////////
146 | self.animationController.createAnimation("RW_2_RF_N", keys[0] + "_up", 1510, 1523, false, true);
147 | self.animationController.createAnimation("RW_2_RF_2_N", keys[0] + "_up", 1529, 1530, false, true);
148 | self.animationController.createAnimation("RW_2_RF_Shot_N", keys[0] + "_up", 1530, 1550, false, true);
149 | self.animationController.createAnimation("RW_2_RF_End_N", keys[0] + "_up", 1550, 1560, false, false);
150 |
151 | /////////////////////
152 | self.animationController.createAnimation("RW_2_MG_N", keys[0] + "_up", 2005, 2015, false, true);
153 | self.animationController.createAnimation("RW_2_MG_2_N", keys[0] + "_up", 2020, 2021, false, true);
154 | self.animationController.createAnimation("RW_2_MG_Shot_N", keys[0] + "_up", 2020, 2022, false, true);
155 | self.animationController.createAnimation("RW_2_MG_End_N", keys[0] + "_up", 2022, 2035, false, false);
156 |
157 | ////////////////////
158 | self.animationController.createAnimation("RW_2_BZ", keys[0] + "_up", 2205, 2225, false, true);
159 | self.animationController.createAnimation("RW_2_BZ_2", keys[0] + "_up", 2229, 2230, false, true);
160 | self.animationController.createAnimation("RW_2_BZ_Shot_N", keys[0] + "_up", 2235, 2260, false, true);
161 | self.animationController.createAnimation("RW_2_BZ_End", keys[0] + "_up", 2260, 2271, false, false);
162 |
163 | //////
164 | self.animationController.createAnimation("LW_2_MG_N", keys[0] + "_up", 2910, 2923, false, true);
165 | self.animationController.createAnimation("LW_2_MG_2_N", keys[0] + "_up", 2929, 2930, false, true);
166 | self.animationController.createAnimation("LW_2_MG_Shot_N", keys[0] + "_up", 2930, 2933, false, true);
167 | self.animationController.createAnimation("LW_2_MG_End_N", keys[0] + "_up", 2935, 2936, false, false);
168 | //////////
169 | ////////////
170 |
171 | self.animationController.createAnimation("SW_R", keys[0], 2700, 2720, false, true);
172 | self.animationController.createAnimation("SW_R_2", keys[0], 2729, 2730, false, true);
173 | self.animationController.createAnimation("SW_R_Shot", keys[0], 2731, 2740, false, true);
174 | self.animationController.createAnimation("SW_R_End", keys[0], 2740, 2750, false, false);
175 | /////////////
176 | self.animationController.createAnimation("SW_L", keys[0], 2600, 2620, false, true);
177 | self.animationController.createAnimation("SW_L_2", keys[0], 2629, 2630, false, true);
178 | self.animationController.createAnimation("SW_L_Shot", keys[0], 2631, 2640, false, true);
179 | self.animationController.createAnimation("SW_L_End", keys[0], 2640, 2650, false, false);
180 | /////////////
181 | self.animationController.createAnimation("Fire1", keys[0] + "_up", 1000, 1050, false);
182 | self.animationController.createAnimation("Fire2", keys[0] + "_up", 2600, 2680, false);
183 | }
184 |
185 |
186 | //能力値セット
187 | self.meca_Stat_Const_f = [];
188 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_up] = 0.02;//歩行速度上昇値
189 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_max] = 0.5; //歩行速度最大値
190 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_up] = 0.3; //ダッシュ速度上昇値
191 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_max] = 1.5; //ダッシュ速度最大値
192 | self.meca_Stat_Const_f[cEnConsts_ParamF.body_height] = 7.5 * Master_Chara_Size; //地上からの機体の中心・高さ
193 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_stand] = 0.025; //機体の回転速度・立ち
194 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_dash] = 0.015; //期待の回転速度・ダッシュ
195 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_up] = 0.04; //ジャンプの上昇速度
196 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_max] = 0.25; //ジャンプ上昇速度最大値
197 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_up] = 0.05; //空中ダッシュ(斜めジャンプ)の速度上昇値
198 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_max] = 0.8; //空中ダッシュ(斜めジャンプ)の速度最大値
199 | self.meca_Stat_Const_f[cEnConsts_ParamF.junp_Kotyoku] = 30; //ジャンプ開始時の初期硬直
200 |
201 | self.meca_Stat_Const_f[cEnConsts_ParamF.life_max] = 2300; //HP最大値
202 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_max] = 1000; //ゲイン最大値
203 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dash] = 2; //ダッシュ時のゲイン使用値
204 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junp] = 5; //ジャンプ時のゲイン使用値
205 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junpfast] = 100; //ジャンプ初期時のゲイン使用値
206 |
207 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_regeinS] = 8; //通常時のゲイン回復値
208 | self.meca_Stat_Const_f[cEnConsts_ParamF.Stand_Brake] = 0.7; //摩擦係数のようなもの:立ちからの加速の遅さ
209 | self.meca_Stat_Const_f[cEnConsts_ParamF.ext_brake] = 0.85; //ダッシュ後のブレーキ性能
210 |
211 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dashFast] = 100; //ダッシュに最低限必要なEn残量
212 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_KotyokuTime] = 15; //ダッシュ開始時の硬直フレーム時間
213 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoostTime] = 25; //ダッシュ初期時のブースト時間(実質、上の硬直時間を引いた数だけ適用
214 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoost] = 0.5; //ダッシュ開始時の所期ブースト加速度
215 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_R] = (95 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 右
216 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_L] = -(105 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 左
217 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dmg_Tolerance] = 3.5; //被ダメ⇒よろけまでの値 一番ダウンしないヤツで4~5くらい?
218 | self.meca_Stat_Const_f[cEnConsts_ParamF.Don_Tolerance] = 6; //被ダメ⇒ダウンまでの値
219 | self.meca_Stat_Const_f[cEnConsts_ParamF.SevTime] = 15; //LWで付加されるセービングフレーム数
220 | self.meca_Stat_Const_f[cEnConsts_ParamF.Sev_Power] = 0.5; //LWで付加される、ダウン耐久乗算値(少ないほうがセビ中にダウンしなくなる)
221 | self.meca_Stat_Const_f[cEnConsts_ParamF.savHalfLockTime] = 45; //壁にさえぎられた半ロック常態から、完全にロックが切れるまでの時間
222 | self.meca_Stat_Const_f[cEnConsts_ParamF.LockRange] = 4500 * Master_Shot_Renge_Rate; // ロック可能距離
223 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_wpnFact] = 0.8; //武器装備時、武器の重さがEn制限に与える倍数 大きいほど影響を受ける
224 |
225 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_short] = 60; // ステップの最低時間
226 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_End] = 20; //ステップの終了中のスキ時間
227 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_Step] = 250; //ステップに最低限必要なEn残量
228 |
229 | var sphereLink1 = new BoundingLinker(self.modelObject.skeleton.bones[2], 7 * Master_Chara_Size);
230 | var sphereLink2 = new BoundingLinker(self.modelObject.skeleton.bones[40], 5 * Master_Chara_Size);
231 |
232 | self.BoundingLinkers = [sphereLink1, sphereLink2];
233 |
234 | if (self.loadComplete != null) {
235 | self.loadComplete();
236 | }
237 |
238 | }
239 |
240 | Obj_SSR06.prototype.UpdateBoundings = function (_pos) {
241 |
242 | var Spheres = [];
243 |
244 | return Spheres;
245 | }
246 |
247 | inherits(Obj_SSR06, ObjectSetter);
248 |
249 | ///////////////////////////////////////////////////////
250 | /*
251 | function Animater_SSR06()
252 | {
253 | Animater.call(this);
254 | }
255 | inherits(Animater_SSR06, Animater);
256 |
257 | //古くて使ってない?
258 | Animater_SSR06.prototype.createAnimation = function( _modelobj, _animation)
259 | {
260 | this.animationController = new XAnimationObject();
261 |
262 | var keys = Object.keys(_animation);
263 | //全身を使うアニメーション
264 | this.animationController.set(_modelobj, _animation[keys[0]], keys[0]);
265 | //上半身のみに適用するアニメーション
266 | this.animationController.addAnimation(_animation[keys[0]], keys[0] + "_up", ["Frame2_Bone01"]);
267 | {
268 | this.animationController.createAnimation("stand", keys[0], 10, 11, true);
269 | this.animationController.createAnimation("wark", keys[0], 50, 82, true);
270 | this.animationController.createAnimation("back", keys[0], 100, 130, true);
271 | this.animationController.createAnimation("dash", keys[0], 150, 180, true);
272 | this.animationController.createAnimation("kiri1", keys[0], 2400, 2480, true);
273 | this.animationController.createAnimation("kiri2", keys[0], 2500, 2560, true);
274 |
275 | this.animationController.createAnimation("Fire1", keys[0] + "_up", 1000, 1050, false);
276 | this.animationController.createAnimation("Fire2", keys[0] + "_up", 2600, 2680, false);
277 | }
278 | }
279 | */
--------------------------------------------------------------------------------
/js/objectSetter/obj_Track_1.js:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
6 | "use strict";
7 | //操作オブジェクトの元となるクラス。
8 | //これは「1モデル(キャラクター1種類)」毎に用意され、
9 | //各能力値などもここに格納されている。
10 | //これも、操作キャラが増える度にインスタンスは【作られない】 ‥はず
11 | function Obj_Track_1()
12 | {
13 | ObjectSetter.call(this, "Track_1");
14 | }
15 |
16 | //オブジェクトのロードメソッド
17 | Obj_Track_1.prototype.load = function (object) {
18 |
19 | var self = this;
20 |
21 | self.modelObject = object.FrameInfo[0]; //XfileLoader_CopyObject(object.FrameInfo[0]);
22 | self.modelObject.scale.setScalar(Master_Chara_Size);
23 |
24 | self.AnimationSetInfo = null;
25 | self.AnimationKeys = null
26 |
27 | self.name = "M498-C";
28 |
29 | //能力値セット
30 | self.meca_Stat_Const_f = [];
31 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_up] = 0.02;//歩行速度上昇値
32 | self.meca_Stat_Const_f[cEnConsts_ParamF.warkS_max] = 0.36; //歩行速度最大値
33 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_up] = 0.3; //ダッシュ速度上昇値
34 | self.meca_Stat_Const_f[cEnConsts_ParamF.dashS_max] = 1.5; //ダッシュ速度最大値
35 | self.meca_Stat_Const_f[cEnConsts_ParamF.body_height] = 3.5 * Master_Chara_Size; //地上からの機体の中心・高さ
36 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_stand] = 0.025; //機体の回転速度・立ち
37 | self.meca_Stat_Const_f[cEnConsts_ParamF.rool_S_dash] = 0.015; //期待の回転速度・ダッシュ
38 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_up] = 0.04; //ジャンプの上昇速度
39 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpS_max] = 0.25; //ジャンプ上昇速度最大値
40 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_up] = 0.05; //空中ダッシュ(斜めジャンプ)の速度上昇値
41 | self.meca_Stat_Const_f[cEnConsts_ParamF.junpD_max] = 0.8; //空中ダッシュ(斜めジャンプ)の速度最大値
42 | self.meca_Stat_Const_f[cEnConsts_ParamF.junp_Kotyoku] = 30; //ジャンプ開始時の初期硬直
43 |
44 | self.meca_Stat_Const_f[cEnConsts_ParamF.life_max] = 355; //HP最大値
45 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_max] = 1000; //ゲイン最大値
46 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dash] = 8; //ダッシュ時のゲイン使用値
47 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junp] = 10; //ジャンプ時のゲイン使用値
48 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_junpfast] = 100; //ジャンプ初期時のゲイン使用値
49 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_regeinS] = 8; //通常時のゲイン回復値
50 | self.meca_Stat_Const_f[cEnConsts_ParamF.Stand_Brake] = 0.7; //摩擦係数のようなもの:立ちからの加速の遅さ
51 | self.meca_Stat_Const_f[cEnConsts_ParamF.ext_brake] = 0.85; //ダッシュ後のブレーキ性能
52 |
53 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_dashFast] = 100; //ダッシュに最低限必要なEn残量
54 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_KotyokuTime] = 15; //ダッシュ開始時の硬直フレーム時間
55 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoostTime] = 25; //ダッシュ初期時のブースト時間(実質、上の硬直時間を引いた数だけ適用
56 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dash_FastBoost] = 0.5; //ダッシュ開始時の所期ブースト加速度
57 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_R] = (95 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 右
58 | self.meca_Stat_Const_f[cEnConsts_ParamF.Rw_RolLock_L] = -(105 * 3.141592 / 180.0); //Rw攻撃時、強制振り向き角度 左
59 | self.meca_Stat_Const_f[cEnConsts_ParamF.Dmg_Tolerance] = 3.5; //被ダメ⇒よろけまでの値 一番ダウンしないヤツで4~5くらい?
60 | self.meca_Stat_Const_f[cEnConsts_ParamF.Don_Tolerance] = 6; //被ダメ⇒ダウンまでの値
61 | self.meca_Stat_Const_f[cEnConsts_ParamF.SevTime] = 15; //LWで付加されるセービングフレーム数
62 | self.meca_Stat_Const_f[cEnConsts_ParamF.Sev_Power] = 0.5; //LWで付加される、ダウン耐久乗算値(少ないほうがセビ中にダウンしなくなる)
63 | self.meca_Stat_Const_f[cEnConsts_ParamF.savHalfLockTime] = 45; //壁にさえぎられた半ロック常態から、完全にロックが切れるまでの時間
64 | self.meca_Stat_Const_f[cEnConsts_ParamF.LockRange] = 4500 * Master_Shot_Renge_Rate; // ロック可能距離
65 | self.meca_Stat_Const_f[cEnConsts_ParamF.gein_wpnFact] = 0.8; //武器装備時、武器の重さがEn制限に与える倍数 大きいほど影響を受ける
66 |
67 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_short] = 60; // ステップの最低時間
68 | self.meca_Stat_Const_f[cEnConsts_ParamF.StepT_End] = 20; //ステップの終了中のスキ時間
69 | self.meca_Stat_Const_f[cEnConsts_ParamF.Guse_Step] = 150; //ステップに最低限必要なEn残量
70 |
71 | //self.BarniaEffectBone.push(self.modelObject.skeleton.bones[37]);
72 |
73 |
74 | if (self.loadComplete != null) {
75 | self.loadComplete();
76 | }
77 |
78 | }
79 |
80 |
81 | inherits(Obj_Track_1, ObjectSetter);
82 |
83 | ///////////////////////////////////////////////////////
84 | /*
85 | function Animater_SSR06()
86 | {
87 | Animater.call(this);
88 | }
89 | inherits(Animater_SSR06, Animater);
90 |
91 | //古くて使ってない?
92 | Animater_SSR06.prototype.createAnimation = function( _modelobj, _animation)
93 | {
94 | this.animationController = new XAnimationObject();
95 |
96 | var keys = Object.keys(_animation);
97 | //全身を使うアニメーション
98 | this.animationController.set(_modelobj, _animation[keys[0]], keys[0]);
99 | //上半身のみに適用するアニメーション
100 | this.animationController.addAnimation(_animation[keys[0]], keys[0] + "_up", ["Frame2_Bone01"]);
101 | {
102 | this.animationController.createAnimation("stand", keys[0], 10, 11, true);
103 | this.animationController.createAnimation("wark", keys[0], 50, 82, true);
104 | this.animationController.createAnimation("back", keys[0], 100, 130, true);
105 | this.animationController.createAnimation("dash", keys[0], 150, 180, true);
106 | this.animationController.createAnimation("kiri1", keys[0], 2400, 2480, true);
107 | this.animationController.createAnimation("kiri2", keys[0], 2500, 2560, true);
108 |
109 | this.animationController.createAnimation("Fire1", keys[0] + "_up", 1000, 1050, false);
110 | this.animationController.createAnimation("Fire2", keys[0] + "_up", 2600, 2680, false);
111 | }
112 | }
113 | */
--------------------------------------------------------------------------------
/js/oreScene.js:
--------------------------------------------------------------------------------
1 | //////
2 | ///// 進行管理のベースクラス
3 | ///// THREE.js の threeComps.scene とは全く別物になる
4 |
5 | "use strict";
6 |
7 | function gameScene()
8 | { }
9 |
10 | gameScene.prototype.Update = function () {
11 |
12 | };
13 |
14 |
15 | gameScene.prototype.Render = function () {
16 |
17 | };
18 |
--------------------------------------------------------------------------------
/js/postprocessing/EffectComposer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author alteredq / http://alteredqualia.com/
3 | */
4 |
5 | THREE.EffectComposer = function ( renderer, renderTarget ) {
6 |
7 | this.renderer = renderer;
8 |
9 | if ( renderTarget === undefined ) {
10 |
11 | var parameters = {
12 | minFilter: THREE.LinearFilter,
13 | magFilter: THREE.LinearFilter,
14 | format: THREE.RGBAFormat,
15 | stencilBuffer: false
16 | };
17 | var size = renderer.getSize();
18 | renderTarget = new THREE.WebGLRenderTarget( size.width, size.height, parameters );
19 |
20 | }
21 |
22 | this.renderTarget1 = renderTarget;
23 | this.renderTarget2 = renderTarget.clone();
24 |
25 | this.writeBuffer = this.renderTarget1;
26 | this.readBuffer = this.renderTarget2;
27 |
28 | this.passes = [];
29 |
30 | if ( THREE.CopyShader === undefined )
31 | console.error( "THREE.EffectComposer relies on THREE.CopyShader" );
32 |
33 | this.copyPass = new THREE.ShaderPass( THREE.CopyShader );
34 |
35 | };
36 |
37 | Object.assign( THREE.EffectComposer.prototype, {
38 |
39 | swapBuffers: function() {
40 |
41 | var tmp = this.readBuffer;
42 | this.readBuffer = this.writeBuffer;
43 | this.writeBuffer = tmp;
44 |
45 | },
46 |
47 | addPass: function ( pass ) {
48 |
49 | this.passes.push( pass );
50 |
51 | var size = this.renderer.getSize();
52 | pass.setSize( size.width, size.height );
53 |
54 | },
55 |
56 | insertPass: function ( pass, index ) {
57 |
58 | this.passes.splice( index, 0, pass );
59 |
60 | },
61 |
62 | render: function ( delta ) {
63 |
64 | var maskActive = false;
65 |
66 | var pass, i, il = this.passes.length;
67 |
68 | for ( i = 0; i < il; i ++ ) {
69 |
70 | pass = this.passes[ i ];
71 |
72 | if ( pass.enabled === false ) continue;
73 |
74 | pass.render( this.renderer, this.writeBuffer, this.readBuffer, delta, maskActive );
75 |
76 | if ( pass.needsSwap ) {
77 |
78 | if ( maskActive ) {
79 |
80 | var context = this.renderer.context;
81 |
82 | context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff );
83 |
84 | this.copyPass.render( this.renderer, this.writeBuffer, this.readBuffer, delta );
85 |
86 | context.stencilFunc( context.EQUAL, 1, 0xffffffff );
87 |
88 | }
89 |
90 | this.swapBuffers();
91 |
92 | }
93 |
94 | if ( THREE.MaskPass !== undefined ) {
95 |
96 | if ( pass instanceof THREE.MaskPass ) {
97 |
98 | maskActive = true;
99 |
100 | } else if ( pass instanceof THREE.ClearMaskPass ) {
101 |
102 | maskActive = false;
103 |
104 | }
105 |
106 | }
107 |
108 | }
109 |
110 | },
111 |
112 | reset: function ( renderTarget ) {
113 |
114 | if ( renderTarget === undefined ) {
115 |
116 | var size = this.renderer.getSize();
117 |
118 | renderTarget = this.renderTarget1.clone();
119 | renderTarget.setSize( size.width, size.height );
120 |
121 | }
122 |
123 | this.renderTarget1.dispose();
124 | this.renderTarget2.dispose();
125 | this.renderTarget1 = renderTarget;
126 | this.renderTarget2 = renderTarget.clone();
127 |
128 | this.writeBuffer = this.renderTarget1;
129 | this.readBuffer = this.renderTarget2;
130 |
131 | },
132 |
133 | setSize: function ( width, height ) {
134 |
135 | this.renderTarget1.setSize( width, height );
136 | this.renderTarget2.setSize( width, height );
137 |
138 | for ( var i = 0; i < this.passes.length; i ++ ) {
139 |
140 | this.passes[i].setSize( width, height );
141 |
142 | }
143 |
144 | }
145 |
146 | } );
147 |
148 |
149 | THREE.Pass = function () {
150 |
151 | // if set to true, the pass is processed by the composer
152 | this.enabled = true;
153 |
154 | // if set to true, the pass indicates to swap read and write buffer after rendering
155 | this.needsSwap = true;
156 |
157 | // if set to true, the pass clears its buffer before rendering
158 | this.clear = false;
159 |
160 | // if set to true, the result of the pass is rendered to screen
161 | this.renderToScreen = false;
162 |
163 | };
164 |
165 | Object.assign( THREE.Pass.prototype, {
166 |
167 | setSize: function( width, height ) {},
168 |
169 | render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) {
170 |
171 | console.error( "THREE.Pass: .render() must be implemented in derived pass." );
172 |
173 | }
174 |
175 | } );
176 |
--------------------------------------------------------------------------------
/js/postprocessing/MaskPass.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author alteredq / http://alteredqualia.com/
3 | */
4 |
5 | THREE.MaskPass = function ( scene, camera ) {
6 |
7 | THREE.Pass.call( this );
8 |
9 | this.scene = scene;
10 | this.camera = camera;
11 |
12 | this.clear = true;
13 | this.needsSwap = false;
14 |
15 | this.inverse = false;
16 |
17 | };
18 |
19 | THREE.MaskPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), {
20 |
21 | constructor: THREE.MaskPass,
22 |
23 | render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) {
24 |
25 | var context = renderer.context;
26 | var state = renderer.state;
27 |
28 | // don't update color or depth
29 |
30 | state.buffers.color.setMask( false );
31 | state.buffers.depth.setMask( false );
32 |
33 | // lock buffers
34 |
35 | state.buffers.color.setLocked( true );
36 | state.buffers.depth.setLocked( true );
37 |
38 | // set up stencil
39 |
40 | var writeValue, clearValue;
41 |
42 | if ( this.inverse ) {
43 |
44 | writeValue = 0;
45 | clearValue = 1;
46 |
47 | } else {
48 |
49 | writeValue = 1;
50 | clearValue = 0;
51 |
52 | }
53 |
54 | state.buffers.stencil.setTest( true );
55 | state.buffers.stencil.setOp( context.REPLACE, context.REPLACE, context.REPLACE );
56 | state.buffers.stencil.setFunc( context.ALWAYS, writeValue, 0xffffffff );
57 | state.buffers.stencil.setClear( clearValue );
58 |
59 | // draw into the stencil buffer
60 |
61 | renderer.render( this.scene, this.camera, readBuffer, this.clear );
62 | renderer.render( this.scene, this.camera, writeBuffer, this.clear );
63 |
64 | // unlock color and depth buffer for subsequent rendering
65 |
66 | state.buffers.color.setLocked( false );
67 | state.buffers.depth.setLocked( false );
68 |
69 | // only render where stencil is set to 1
70 |
71 | state.buffers.stencil.setFunc( context.EQUAL, 1, 0xffffffff ); // draw if == 1
72 | state.buffers.stencil.setOp( context.KEEP, context.KEEP, context.KEEP );
73 |
74 | }
75 |
76 | } );
77 |
78 |
79 | THREE.ClearMaskPass = function () {
80 |
81 | THREE.Pass.call( this );
82 |
83 | this.needsSwap = false;
84 |
85 | };
86 |
87 | THREE.ClearMaskPass.prototype = Object.create( THREE.Pass.prototype );
88 |
89 | Object.assign( THREE.ClearMaskPass.prototype, {
90 |
91 | render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) {
92 |
93 | renderer.state.buffers.stencil.setTest( false );
94 |
95 | }
96 |
97 | } );
98 |
--------------------------------------------------------------------------------
/js/postprocessing/RenderPass.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author alteredq / http://alteredqualia.com/
3 | */
4 |
5 | THREE.RenderPass = function ( scene, camera, overrideMaterial, clearColor, clearAlpha ) {
6 |
7 | THREE.Pass.call( this );
8 |
9 | this.scene = scene;
10 | this.camera = camera;
11 |
12 | this.overrideMaterial = overrideMaterial;
13 |
14 | this.clearColor = clearColor;
15 | this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0;
16 |
17 | this.clear = true;
18 | this.needsSwap = false;
19 |
20 | };
21 |
22 | THREE.RenderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), {
23 |
24 | constructor: THREE.RenderPass,
25 |
26 | render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) {
27 |
28 | var oldAutoClear = renderer.autoClear;
29 | renderer.autoClear = false;
30 |
31 | this.scene.overrideMaterial = this.overrideMaterial;
32 |
33 | var oldClearColor, oldClearAlpha;
34 |
35 | if ( this.clearColor ) {
36 |
37 | oldClearColor = renderer.getClearColor().getHex();
38 | oldClearAlpha = renderer.getClearAlpha();
39 |
40 | renderer.setClearColor( this.clearColor, this.clearAlpha );
41 |
42 | }
43 |
44 | renderer.render( this.scene, this.camera, this.renderToScreen ? null : readBuffer, this.clear );
45 |
46 | if ( this.clearColor ) {
47 |
48 | renderer.setClearColor( oldClearColor, oldClearAlpha );
49 |
50 | }
51 |
52 | this.scene.overrideMaterial = null;
53 | renderer.autoClear = oldAutoClear;
54 | }
55 |
56 | } );
57 |
--------------------------------------------------------------------------------
/js/postprocessing/ShaderPass.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author alteredq / http://alteredqualia.com/
3 | */
4 |
5 | THREE.ShaderPass = function ( shader, textureID ) {
6 |
7 | THREE.Pass.call( this );
8 |
9 | this.textureID = ( textureID !== undefined ) ? textureID : "tDiffuse";
10 |
11 | if ( shader instanceof THREE.ShaderMaterial ) {
12 |
13 | this.uniforms = shader.uniforms;
14 |
15 | this.material = shader;
16 |
17 | } else if ( shader ) {
18 |
19 | this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
20 |
21 | this.material = new THREE.ShaderMaterial( {
22 |
23 | defines: shader.defines || {},
24 | uniforms: this.uniforms,
25 | vertexShader: shader.vertexShader,
26 | fragmentShader: shader.fragmentShader
27 |
28 | } );
29 |
30 | }
31 |
32 | this.camera = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 );
33 | this.scene = new THREE.Scene();
34 |
35 | this.quad = new THREE.Mesh( new THREE.PlaneBufferGeometry( 2, 2 ), null );
36 | this.scene.add( this.quad );
37 |
38 | };
39 |
40 | THREE.ShaderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), {
41 |
42 | constructor: THREE.ShaderPass,
43 |
44 | render: function( renderer, writeBuffer, readBuffer, delta, maskActive ) {
45 |
46 | if ( this.uniforms[ this.textureID ] ) {
47 |
48 | this.uniforms[ this.textureID ].value = readBuffer.texture;
49 |
50 | }
51 |
52 | this.quad.material = this.material;
53 |
54 | if ( this.renderToScreen ) {
55 |
56 | renderer.render( this.scene, this.camera );
57 |
58 | } else {
59 |
60 | renderer.render( this.scene, this.camera, writeBuffer, this.clear );
61 |
62 | }
63 |
64 | }
65 |
66 | } );
67 |
--------------------------------------------------------------------------------
/js/postprocessing/UnrealBloomPass.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author spidersharma / http://eduperiment.com/
3 | Inspired from Unreal Engine::
4 | https://docs.unrealengine.com/latest/INT/Engine/Rendering/PostProcessEffects/Bloom/
5 | */
6 |
7 | THREE.UnrealBloomPass = function ( resolution, strength, radius, threshold ) {
8 |
9 | THREE.Pass.call( this );
10 |
11 | this.strength = ( strength !== undefined ) ? strength : 1;
12 | this.radius = radius;
13 | this.threshold = threshold;
14 | this.resolution = ( resolution !== undefined ) ? new THREE.Vector2(resolution.x, resolution.y) : new THREE.Vector2(256, 256);
15 |
16 | // render targets
17 | var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat };
18 | this.renderTargetsHorizontal = [];
19 | this.renderTargetsVertical = [];
20 | this.nMips = 5;
21 | var resx = Math.round(this.resolution.x/2);
22 | var resy = Math.round(this.resolution.y/2);
23 |
24 | this.renderTargetBright = new THREE.WebGLRenderTarget( resx, resy, pars );
25 | this.renderTargetBright.texture.generateMipmaps = false;
26 |
27 | for( var i=0; i\
246 | varying vec2 vUv;\n\
247 | uniform sampler2D colorTexture;\n\
248 | uniform vec2 texSize;\
249 | uniform vec2 direction;\
250 | \
251 | float gaussianPdf(in float x, in float sigma) {\
252 | return 0.39894 * exp( -0.5 * x * x/( sigma * sigma))/sigma;\
253 | }\
254 | void main() {\n\
255 | vec2 invSize = 1.0 / texSize;\
256 | float fSigma = float(SIGMA);\
257 | float weightSum = gaussianPdf(0.0, fSigma);\
258 | vec3 diffuseSum = texture2D( colorTexture, vUv).rgb * weightSum;\
259 | for( int i = 1; i < KERNEL_RADIUS; i ++ ) {\
260 | float x = float(i);\
261 | float w = gaussianPdf(x, fSigma);\
262 | vec2 uvOffset = direction * invSize * x;\
263 | vec3 sample1 = texture2D( colorTexture, vUv + uvOffset).rgb;\
264 | vec3 sample2 = texture2D( colorTexture, vUv - uvOffset).rgb;\
265 | diffuseSum += (sample1 + sample2) * w;\
266 | weightSum += 2.0 * w;\
267 | }\
268 | gl_FragColor = vec4(diffuseSum/weightSum, 1.0);\n\
269 | }"
270 | } );
271 | },
272 |
273 | getCompositeMaterial: function(nMips) {
274 |
275 | return new THREE.ShaderMaterial( {
276 |
277 | defines:{
278 | "NUM_MIPS" : nMips
279 | },
280 |
281 | uniforms: {
282 | "blurTexture1": { value: null },
283 | "blurTexture2": { value: null },
284 | "blurTexture3": { value: null },
285 | "blurTexture4": { value: null },
286 | "blurTexture5": { value: null },
287 | "dirtTexture": { value: null },
288 | "bloomStrength" : { value: 1.0 },
289 | "bloomFactors" : { value: null },
290 | "bloomTintColors" : { value: null },
291 | "bloomRadius" : { value: 0.0 }
292 | },
293 |
294 | vertexShader:
295 | "varying vec2 vUv;\n\
296 | void main() {\n\
297 | vUv = uv;\n\
298 | gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\
299 | }",
300 |
301 | fragmentShader:
302 | "varying vec2 vUv;\
303 | uniform sampler2D blurTexture1;\
304 | uniform sampler2D blurTexture2;\
305 | uniform sampler2D blurTexture3;\
306 | uniform sampler2D blurTexture4;\
307 | uniform sampler2D blurTexture5;\
308 | uniform sampler2D dirtTexture;\
309 | uniform float bloomStrength;\
310 | uniform float bloomRadius;\
311 | uniform float bloomFactors[NUM_MIPS];\
312 | uniform vec3 bloomTintColors[NUM_MIPS];\
313 | \
314 | float lerpBloomFactor(const in float factor) { \
315 | float mirrorFactor = 1.2 - factor;\
316 | return mix(factor, mirrorFactor, bloomRadius);\
317 | }\
318 | \
319 | void main() {\
320 | gl_FragColor = bloomStrength * ( lerpBloomFactor(bloomFactors[0]) * vec4(bloomTintColors[0], 1.0) * texture2D(blurTexture1, vUv) + \
321 | lerpBloomFactor(bloomFactors[1]) * vec4(bloomTintColors[1], 1.0) * texture2D(blurTexture2, vUv) + \
322 | lerpBloomFactor(bloomFactors[2]) * vec4(bloomTintColors[2], 1.0) * texture2D(blurTexture3, vUv) + \
323 | lerpBloomFactor(bloomFactors[3]) * vec4(bloomTintColors[3], 1.0) * texture2D(blurTexture4, vUv) + \
324 | lerpBloomFactor(bloomFactors[4]) * vec4(bloomTintColors[4], 1.0) * texture2D(blurTexture5, vUv) );\
325 | }"
326 | } );
327 | }
328 |
329 | } );
330 |
331 | THREE.UnrealBloomPass.BlurDirectionX = new THREE.Vector2( 1.0, 0.0 );
332 | THREE.UnrealBloomPass.BlurDirectionY = new THREE.Vector2( 0.0, 1.0 );
333 |
--------------------------------------------------------------------------------
/js/pseudo-function.js:
--------------------------------------------------------------------------------
1 | !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;"undefined"!=typeof window?n=window:"undefined"!=typeof global?n=global:"undefined"!=typeof self&&(n=self),n.PseudoFunction=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o> 5] |= 0x80 << (24 - len % 32);
44 | x[((len + 64 >> 9) << 4) + 15] = len;
45 |
46 | var w = Array(80);
47 | var a = 1732584193;
48 | var b = -271733879;
49 | var c = -1732584194;
50 | var d = 271733878;
51 | var e = -1009589776;
52 |
53 | for(var i = 0; i < x.length; i += 16)
54 | {
55 | var olda = a;
56 | var oldb = b;
57 | var oldc = c;
58 | var oldd = d;
59 | var olde = e;
60 |
61 | for(var j = 0; j < 80; j++)
62 | {
63 | if(j < 16) w[j] = x[i + j];
64 | else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
65 | var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),
66 | safe_add(safe_add(e, w[j]), sha1_kt(j)));
67 | e = d;
68 | d = c;
69 | c = rol(b, 30);
70 | b = a;
71 | a = t;
72 | }
73 |
74 | a = safe_add(a, olda);
75 | b = safe_add(b, oldb);
76 | c = safe_add(c, oldc);
77 | d = safe_add(d, oldd);
78 | e = safe_add(e, olde);
79 | }
80 | return Array(a, b, c, d, e);
81 |
82 | }
83 |
84 | /*
85 | * Perform the appropriate triplet combination function for the current
86 | * iteration
87 | */
88 | function sha1_ft(t, b, c, d)
89 | {
90 | if(t < 20) return (b & c) | ((~b) & d);
91 | if(t < 40) return b ^ c ^ d;
92 | if(t < 60) return (b & c) | (b & d) | (c & d);
93 | return b ^ c ^ d;
94 | }
95 |
96 | /*
97 | * Determine the appropriate additive constant for the current iteration
98 | */
99 | function sha1_kt(t)
100 | {
101 | return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :
102 | (t < 60) ? -1894007588 : -899497514;
103 | }
104 |
105 | /*
106 | * Calculate the HMAC-SHA1 of a key and some data
107 | */
108 | function core_hmac_sha1(key, data)
109 | {
110 | var bkey = str2binb(key);
111 | if(bkey.length > 16) bkey = core_sha1(bkey, key.length * chrsz);
112 |
113 | var ipad = Array(16), opad = Array(16);
114 | for(var i = 0; i < 16; i++)
115 | {
116 | ipad[i] = bkey[i] ^ 0x36363636;
117 | opad[i] = bkey[i] ^ 0x5C5C5C5C;
118 | }
119 |
120 | var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz);
121 | return core_sha1(opad.concat(hash), 512 + 160);
122 | }
123 |
124 | /*
125 | * Add integers, wrapping at 2^32. This uses 16-bit operations internally
126 | * to work around bugs in some JS interpreters.
127 | */
128 | function safe_add(x, y)
129 | {
130 | var lsw = (x & 0xFFFF) + (y & 0xFFFF);
131 | var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
132 | return (msw << 16) | (lsw & 0xFFFF);
133 | }
134 |
135 | /*
136 | * Bitwise rotate a 32-bit number to the left.
137 | */
138 | function rol(num, cnt)
139 | {
140 | return (num << cnt) | (num >>> (32 - cnt));
141 | }
142 |
143 | /*
144 | * Convert an 8-bit or 16-bit string to an array of big-endian words
145 | * In 8-bit function, characters >255 have their hi-byte silently ignored.
146 | */
147 | function str2binb(str)
148 | {
149 | var bin = Array();
150 | var mask = (1 << chrsz) - 1;
151 | for(var i = 0; i < str.length * chrsz; i += chrsz)
152 | bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (32 - chrsz - i%32);
153 | return bin;
154 | }
155 |
156 | /*
157 | * Convert an array of big-endian words to a string
158 | */
159 | function binb2str(bin)
160 | {
161 | var str = "";
162 | var mask = (1 << chrsz) - 1;
163 | for(var i = 0; i < bin.length * 32; i += chrsz)
164 | str += String.fromCharCode((bin[i>>5] >>> (32 - chrsz - i%32)) & mask);
165 | return str;
166 | }
167 |
168 | /*
169 | * Convert an array of big-endian words to a hex string.
170 | */
171 | function binb2hex(binarray)
172 | {
173 | var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
174 | var str = "";
175 | for(var i = 0; i < binarray.length * 4; i++)
176 | {
177 | str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +
178 | hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF);
179 | }
180 | return str;
181 | }
182 |
183 | /*
184 | * Convert an array of big-endian words to a base-64 string
185 | */
186 | function binb2b64(binarray)
187 | {
188 | var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
189 | var str = "";
190 | for(var i = 0; i < binarray.length * 4; i += 3)
191 | {
192 | var triplet = (((binarray[i >> 2] >> 8 * (3 - i %4)) & 0xFF) << 16)
193 | | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 )
194 | | ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF);
195 | for(var j = 0; j < 4; j++)
196 | {
197 | if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
198 | else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
199 | }
200 | }
201 | return str;
202 | }
203 |
--------------------------------------------------------------------------------
/js/shaders/ConvolutionShader.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author alteredq / http://alteredqualia.com/
3 | *
4 | * Convolution shader
5 | * ported from o3d sample to WebGL / GLSL
6 | * http://o3d.googlecode.com/svn/trunk/samples/convolution.html
7 | */
8 |
9 | THREE.ConvolutionShader = {
10 |
11 | defines: {
12 |
13 | "KERNEL_SIZE_FLOAT": "25.0",
14 | "KERNEL_SIZE_INT": "25",
15 |
16 | },
17 |
18 | uniforms: {
19 |
20 | "tDiffuse": { value: null },
21 | "uImageIncrement": { value: new THREE.Vector2( 0.001953125, 0.0 ) },
22 | "cKernel": { value: [] }
23 |
24 | },
25 |
26 | vertexShader: [
27 |
28 | "uniform vec2 uImageIncrement;",
29 |
30 | "varying vec2 vUv;",
31 |
32 | "void main() {",
33 |
34 | "vUv = uv - ( ( KERNEL_SIZE_FLOAT - 1.0 ) / 2.0 ) * uImageIncrement;",
35 | "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
36 |
37 | "}"
38 |
39 | ].join( "\n" ),
40 |
41 | fragmentShader: [
42 |
43 | "uniform float cKernel[ KERNEL_SIZE_INT ];",
44 |
45 | "uniform sampler2D tDiffuse;",
46 | "uniform vec2 uImageIncrement;",
47 |
48 | "varying vec2 vUv;",
49 |
50 | "void main() {",
51 |
52 | "vec2 imageCoord = vUv;",
53 | "vec4 sum = vec4( 0.0, 0.0, 0.0, 0.0 );",
54 |
55 | "for( int i = 0; i < KERNEL_SIZE_INT; i ++ ) {",
56 |
57 | "sum += texture2D( tDiffuse, imageCoord ) * cKernel[ i ];",
58 | "imageCoord += uImageIncrement;",
59 |
60 | "}",
61 |
62 | "gl_FragColor = sum;",
63 |
64 | "}"
65 |
66 |
67 | ].join( "\n" ),
68 |
69 | buildKernel: function ( sigma ) {
70 |
71 | // We lop off the sqrt(2 * pi) * sigma term, since we're going to normalize anyway.
72 |
73 | function gauss( x, sigma ) {
74 |
75 | return Math.exp( - ( x * x ) / ( 2.0 * sigma * sigma ) );
76 |
77 | }
78 |
79 | var i, values, sum, halfWidth, kMaxKernelSize = 25, kernelSize = 2 * Math.ceil( sigma * 3.0 ) + 1;
80 |
81 | if ( kernelSize > kMaxKernelSize ) kernelSize = kMaxKernelSize;
82 | halfWidth = ( kernelSize - 1 ) * 0.5;
83 |
84 | values = new Array( kernelSize );
85 | sum = 0.0;
86 | for ( i = 0; i < kernelSize; ++ i ) {
87 |
88 | values[ i ] = gauss( i - halfWidth, sigma );
89 | sum += values[ i ];
90 |
91 | }
92 |
93 | // normalize the kernel
94 |
95 | for ( i = 0; i < kernelSize; ++ i ) values[ i ] /= sum;
96 |
97 | return values;
98 |
99 | }
100 |
101 | };
102 |
--------------------------------------------------------------------------------
/js/shaders/CopyShader.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author alteredq / http://alteredqualia.com/
3 | *
4 | * Full-screen textured quad shader
5 | */
6 |
7 | THREE.CopyShader = {
8 |
9 | uniforms: {
10 |
11 | "tDiffuse": { value: null },
12 | "opacity": { value: 1.0 },
13 | "nigths": { value: 0.0 }
14 | },
15 |
16 | vertexShader: [
17 |
18 | "varying vec2 vUv;",
19 |
20 | "void main() {",
21 |
22 | "vUv = uv;",
23 | "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
24 |
25 | "}"
26 |
27 | ].join("\n"),
28 |
29 | fragmentShader: [
30 |
31 | "uniform float opacity;",
32 | "uniform float nigths;",
33 | "uniform sampler2D tDiffuse;",
34 |
35 | "varying vec2 vUv;",
36 |
37 | "void main() {",
38 |
39 | "vec4 texel = texture2D( tDiffuse, vUv );",
40 | //"gl_FragColor = texel;",
41 | "float v = max(max(texel.r, texel.g), texel.b);",
42 | "vec4 gcol = vec4(0.0, v, 0.0, 1.0);",
43 |
44 | //"gl_FragColor.rgb = texel.rgb * opacity;",
45 | "gl_FragColor.r = mix(texel.r, gcol.r, nigths );", //mixはlerpと同じ
46 | "gl_FragColor.g = mix(texel.g, gcol.g, nigths );",
47 | "gl_FragColor.b = mix(texel.b, gcol.b, nigths );",
48 | "gl_FragColor.a = 1.0;",
49 | "}"
50 |
51 | ].join("\n")
52 |
53 | };
54 |
--------------------------------------------------------------------------------
/js/shaders/FXAAShader.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author alteredq / http://alteredqualia.com/
3 | * @author davidedc / http://www.sketchpatch.net/
4 | *
5 | * NVIDIA FXAA by Timothy Lottes
6 | * http://timothylottes.blogspot.com/2011/06/fxaa3-source-released.html
7 | * - WebGL port by @supereggbert
8 | * http://www.glge.org/demos/fxaa/
9 | */
10 |
11 | THREE.FXAAShader = {
12 |
13 | uniforms: {
14 |
15 | "tDiffuse": { value: null },
16 | "resolution": { value: new THREE.Vector2( 1 / 1024, 1 / 512 ) }
17 |
18 | },
19 |
20 | vertexShader: [
21 |
22 | "void main() {",
23 |
24 | "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
25 |
26 | "}"
27 |
28 | ].join( "\n" ),
29 |
30 | fragmentShader: [
31 |
32 | "uniform sampler2D tDiffuse;",
33 | "uniform vec2 resolution;",
34 |
35 | "#define FXAA_REDUCE_MIN (1.0/128.0)",
36 | "#define FXAA_REDUCE_MUL (1.0/8.0)",
37 | "#define FXAA_SPAN_MAX 8.0",
38 |
39 | "void main() {",
40 |
41 | "vec3 rgbNW = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ).xyz;",
42 | "vec3 rgbNE = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ).xyz;",
43 | "vec3 rgbSW = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ).xyz;",
44 | "vec3 rgbSE = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ).xyz;",
45 | "vec4 rgbaM = texture2D( tDiffuse, gl_FragCoord.xy * resolution );",
46 | "vec3 rgbM = rgbaM.xyz;",
47 | "vec3 luma = vec3( 0.299, 0.587, 0.114 );",
48 |
49 | "float lumaNW = dot( rgbNW, luma );",
50 | "float lumaNE = dot( rgbNE, luma );",
51 | "float lumaSW = dot( rgbSW, luma );",
52 | "float lumaSE = dot( rgbSE, luma );",
53 | "float lumaM = dot( rgbM, luma );",
54 | "float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );",
55 | "float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );",
56 |
57 | "vec2 dir;",
58 | "dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));",
59 | "dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));",
60 |
61 | "float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );",
62 |
63 | "float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );",
64 | "dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),",
65 | "max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),",
66 | "dir * rcpDirMin)) * resolution;",
67 | "vec4 rgbA = (1.0/2.0) * (",
68 | "texture2D(tDiffuse, gl_FragCoord.xy * resolution + dir * (1.0/3.0 - 0.5)) +",
69 | "texture2D(tDiffuse, gl_FragCoord.xy * resolution + dir * (2.0/3.0 - 0.5)));",
70 | "vec4 rgbB = rgbA * (1.0/2.0) + (1.0/4.0) * (",
71 | "texture2D(tDiffuse, gl_FragCoord.xy * resolution + dir * (0.0/3.0 - 0.5)) +",
72 | "texture2D(tDiffuse, gl_FragCoord.xy * resolution + dir * (3.0/3.0 - 0.5)));",
73 | "float lumaB = dot(rgbB, vec4(luma, 0.0));",
74 |
75 | "if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) ) {",
76 |
77 | "gl_FragColor = rgbA;",
78 |
79 | "} else {",
80 | "gl_FragColor = rgbB;",
81 |
82 | "}",
83 |
84 | "}"
85 |
86 | ].join( "\n" )
87 |
88 | };
89 |
--------------------------------------------------------------------------------
/js/shaders/LuminosityHighPassShader.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @author bhouston / http://clara.io/
3 | *
4 | * Luminosity
5 | * http://en.wikipedia.org/wiki/Luminosity
6 | */
7 |
8 | THREE.LuminosityHighPassShader = {
9 |
10 | shaderID: "luminosityHighPass",
11 |
12 | uniforms: {
13 |
14 | "tDiffuse": { type: "t", value: null },
15 | "luminosityThreshold": { type: "f", value: 1.0 },
16 | "smoothWidth": { type: "f", value: 1.0 },
17 | "defaultColor": { type: "c", value: new THREE.Color( 0x000000 ) },
18 | "defaultOpacity": { type: "f", value: 0.0 },
19 |
20 | },
21 |
22 | vertexShader: [
23 |
24 | "varying vec2 vUv;",
25 |
26 | "void main() {",
27 |
28 | "vUv = uv;",
29 |
30 | "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
31 |
32 | "}"
33 |
34 | ].join("\n"),
35 |
36 | fragmentShader: [
37 |
38 | "uniform sampler2D tDiffuse;",
39 | "uniform vec3 defaultColor;",
40 | "uniform float defaultOpacity;",
41 | "uniform float luminosityThreshold;",
42 | "uniform float smoothWidth;",
43 |
44 | "varying vec2 vUv;",
45 |
46 | "void main() {",
47 |
48 | "vec4 texel = texture2D( tDiffuse, vUv );",
49 |
50 | "vec3 luma = vec3( 0.299, 0.587, 0.114 );",
51 |
52 | "float v = dot( texel.xyz, luma );",
53 |
54 | "vec4 outputColor = vec4( defaultColor.rgb, defaultOpacity );",
55 |
56 | "float alpha = smoothstep( luminosityThreshold, luminosityThreshold + smoothWidth, v );",
57 |
58 | "gl_FragColor = mix( outputColor, texel, alpha );",
59 |
60 | "}"
61 |
62 | ].join("\n")
63 |
64 | };
65 |
--------------------------------------------------------------------------------
/js/stagefile/bref_testStage.js:
--------------------------------------------------------------------------------
1 |
2 | "use strict";
3 |
4 | var loadStep2_begin = false;
5 |
6 | //ブリーフィング中
7 | oreCommon.BrefingScene = null;
8 | oreCommon.BrefingScene = {};
9 |
10 | oreCommon.BrefingScene.BrefUpdater = function () {
11 | var scrTmpMx = new THREE.Matrix4();
12 | var scrTmpV3 = new THREE.Vector3();
13 |
14 | oreCommon.BrefingScene.checkBeginLoad2();
15 |
16 | //地形ビューのカメラ位置更新
17 | if (testStageScript.camPosAnimate != null) {
18 | testStageScript.camPosAnimate.update(oreCommon.dulTime * 2);
19 | testStageScript.camTargetAnimate.update(oreCommon.dulTime * 2);
20 |
21 | var tmpObj = testStageScript.camPosAnimate.getNowMatrix();
22 | if (tmpObj != null) {
23 | scrTmpMx.copy(tmpObj);
24 | scrTmpMx.multiplyScalar(oreCommon.groundMapSize);
25 | threeComps.camera_back.position.setFromMatrixPosition(scrTmpMx);
26 |
27 | tmpObj = testStageScript.camTargetAnimate.getNowMatrix();
28 | if (tmpObj != null) {
29 | scrTmpMx.copy(tmpObj);
30 | }
31 | scrTmpMx.multiplyScalar(oreCommon.groundMapSize);
32 | scrTmpV3.setFromMatrixPosition(scrTmpMx);
33 | threeComps.camera_back.lookAt(scrTmpV3);
34 | }
35 | }
36 |
37 | if (ScreenUpdater.msgView_big >= msg_bref.length && !oreCommon.ChangeScene) {
38 | //全イベントリスナーを消去
39 | oreCommon.setEvent_Load();
40 | ScreenUpdater.scene_spanTime = 0;
41 | oreCommon.ChangeScene = true;
42 | }
43 |
44 | if (ScreenUpdater.scene_spanTime > ScreenUpdater.lineCountMax * 2 && ScreenUpdater.msgView_big === 0 && cv_bref_load != null) {
45 | oreCommon.MessageClickEvent();
46 | //ScreenUpdater.msgView_big = 1;
47 | }
48 |
49 | if (ScreenUpdater.scene_spanTime > 255 && ScreenUpdater.msgView_big >= msg_bref.length) {
50 | ScreenUpdater.nowSceneID++;
51 | oreCommon.ChangeScene = false;
52 | oreCommon.setEvent_Load();
53 | ScreenUpdater.NowScene.Render_2D = function () { oreCommon.BrefingScene.BrefingOutRender(); };
54 | ScreenUpdater.NowScene.Render3D = function () { nullRender(); };
55 | ScreenUpdater.NowScene.Update = function () { oreCommon.BrefingScene.BrefingOutUpdate(); };
56 | }
57 | }
58 |
59 |
60 | oreCommon.BrefingScene.BrefingRender = function () {
61 | oreCommon.conteText2D.clearRect(0, 0, oreCommon.conteText2D.canvas.width, oreCommon.conteText2D.canvas.height);
62 | oreCommon.conteText2D.fillStyle = "rgb(0, 0, 0)";
63 | //oreCommon.conteText2D.fillRect(0, 0, oreCommon.canvas2D.clientWidth, oreCommon.canvas2D.clientHeight);
64 |
65 | if (ScreenUpdater.msgView_big === 0) {
66 | ScreenUpdater.drawJfLine(false);
67 | }
68 |
69 | if (ScreenUpdater.msgView_big < msg_bref.length) {
70 | if (ScreenUpdater.msgView_big > 0) {
71 | ScreenUpdater.drawJfLine(true);
72 | }
73 | ScreenUpdater.viewBrefingMessage();
74 | }
75 | else {
76 | ScreenUpdater.drawJfLine(true);
77 | ScreenUpdater.drawFadeOut();
78 | }
79 |
80 | }
81 |
82 | oreCommon.BrefingScene.checkBeginLoad2 = function () {
83 | if (oreCommon.loadEndCount >= oreCommon.loadContentCount - 1 && !loadStep2_begin && testStageScript != null) {
84 | loadStep2_begin = true;
85 | testStageScript.LoadContent2();
86 | }
87 | }
88 | ///////////////////////////////////////////////////////////
89 |
90 | //ブリーフィングが終わり、ロード中の画面
91 | oreCommon.BrefingScene.BrefingOutUpdate = function () {
92 |
93 | oreCommon.BrefingScene.checkBeginLoad2();
94 |
95 | if (oreCommon.loadEndCount >= oreCommon.loadContentCount && cv_Stage_load && loadStep2_begin) {
96 | //どうあがいても確実に読む必要のあるモノがこちら
97 | oreCommon.AlpBillTex = threeComps.texLoader.load('content/efobj/AlpBillTex.png');
98 | var nowMat = new THREE.MeshBasicMaterial();
99 | nowMat.depthTest = true;
100 | nowMat.side = THREE.DoubleSide;
101 | nowMat.blending = THREE.NormalBlending;
102 | oreCommon.igeo_alp = particleComp.makeGeo_bill(oreCommon.AlpBillTex, nowMat);
103 |
104 | oreCommon.AddBillTex = threeComps.texLoader.load('content/efobj/AddBillTex.png');
105 | oreCommon.igeo = particleComp.makeGeo_bill(oreCommon.AddBillTex);
106 |
107 | testStageScript.stageInit_individually();
108 |
109 | testStageScript.stageInit_reStart();
110 | //メイン部ループ宣言
111 | oreCommon.ChangeScene = false;
112 | setEvent_MainRoop();
113 | ScreenUpdater.NowScene.Render3D = function () { ScreenUpdater.stageMainRander(); };
114 | ScreenUpdater.NowScene.Render_2D = function () { oreBt2DSceneCom.stageMainRander_2D(); };
115 | ScreenUpdater.NowScene.Update = function () { ScreenUpdater.stageMainUpdater(); };
116 |
117 | //ブリーフィング音声は消しちゃう(少しでも軽くなれば良い)
118 | VcOjs_bref = null;
119 | }
120 | }
121 |
122 | //ブリーフィングが終わり、ロード中の画面
123 | oreCommon.BrefingScene.BrefingOutRender = function () {
124 |
125 | oreCommon.conteText2D.clearRect(0, 0, oreCommon.conteText2D.canvas.width, oreCommon.conteText2D.canvas.height);
126 | oreCommon.conteText2D.fillStyle = "rgb(0, 0, 0)";
127 | oreCommon.conteText2D.fillRect(0, 0, oreCommon.conteText2D.canvas.width, oreCommon.conteText2D.canvas.height);
128 |
129 | oreCommon.conteText2D.font = "11pt Arial";
130 | oreCommon.conteText2D.fillStyle = 'white';
131 | oreCommon.conteText2D.textAlign = 'left';
132 | oreCommon.conteText2D.fillText('now loading... ' + oreCommon.loadEndCount.toString() + " / " + oreCommon.loadContentCount.toString(), 100, 100);
133 |
134 | if (!loadStep2_begin) {
135 | oreCommon.conteText2D.fillText('...and more... prease wait...', 100, 130);
136 | }
137 |
138 | }
139 |
140 | //////////////////////////////////
141 |
142 | //下記ステージに使うモノの前に、優先的に読み込ませたいモノのロード
143 | oreCommon.BrefingScene.LoadContent_zero = function () {
144 |
145 | var tes = "";
146 | tes = ";";
147 |
148 | //悲劇的なことに、Scaleに負の値を入れると、ray.intersectObjectが使えなくなる模様。
149 | threeComps.loader.load(['content/ground/state4_height_cam.x', false], function (object) {
150 | var loadEnd = function (_object) {
151 | oreCommon.heightObject = _object.FrameInfo[0];
152 | oreCommon.heightObject.name = "brefMap";
153 | threeComps.scene_back.add(oreCommon.heightObject);
154 |
155 | oreCommon.heightObject.material.materials[0].visible = true;
156 | oreCommon.heightObject.material.materials[0].wireframe = true;
157 | oreCommon.heightObject.material.materials[0].side = THREE.DoubleSide;
158 | oreCommon.heightObject.material.materials[0].fog = false;
159 |
160 | var keys = Object.keys(_object.AnimationSetInfo);
161 | testStageScript.camPosAnimate = new XActionInfo();
162 | //testStageScript.camPosAnimate =
163 | testStageScript.camPosAnimate.createAnimation("", 0, 1000, true, false, _object.AnimationSetInfo[keys[0]]["Animation5"]);
164 | testStageScript.camPosAnimate.begin(1, 1, true);
165 |
166 | testStageScript.camTargetAnimate = new XActionInfo();
167 | //testStageScript.camTargetAnimate =
168 | testStageScript.camTargetAnimate.createAnimation("", 0, 1000, true, false, _object.AnimationSetInfo[keys[0]]["Animation1"]);
169 | testStageScript.camTargetAnimate.begin(1, 1, true);
170 |
171 | //これらのWayPointの「Y座標」を、接地させる必要がある&倍率はAnimationにはかかってないので、乗算する
172 | var L_temp_Y = 0.0;// oreCommon.GetPosHeight(self.Pos);
173 |
174 | testStageScript.WayPoint_V[0].setFromMatrixPosition(_object.AnimationSetInfo[keys[0]]["Animation2"].KeyFrames[0].Matrix);
175 | testStageScript.WayPoint_V[0].copy(oreCommon.SetGroundFixPoint(testStageScript.WayPoint_V[0], oreCommon.groundMapSize, true));
176 |
177 | testStageScript.WayPoint_V[1].setFromMatrixPosition(_object.AnimationSetInfo[keys[0]]["Animation2"].KeyFrames[1].Matrix);
178 | testStageScript.WayPoint_V[1].copy(oreCommon.SetGroundFixPoint(testStageScript.WayPoint_V[1], oreCommon.groundMapSize, true));
179 |
180 | testStageScript.EnemyPoints[0].setFromMatrixPosition(_object.AnimationSetInfo[keys[0]]["Animation3"].KeyFrames[0].Matrix);
181 | testStageScript.EnemyPoints[0].copy(oreCommon.SetGroundFixPoint(testStageScript.EnemyPoints[0], oreCommon.groundMapSize, true));
182 |
183 | testStageScript.EnemyPoints[1].setFromMatrixPosition(_object.AnimationSetInfo[keys[0]]["Animation3"].KeyFrames[1].Matrix);
184 | testStageScript.EnemyPoints[1].copy(oreCommon.SetGroundFixPoint(testStageScript.EnemyPoints[1], oreCommon.groundMapSize, true));
185 |
186 | for (var i = 0; i < _object.AnimationSetInfo[keys[0]]["Animation4"].KeyFrames.length; i++) {
187 | var wp = new strWayPointParam();
188 | wp.wayPointV.setFromMatrixPosition(_object.AnimationSetInfo[keys[0]]["Animation4"].KeyFrames[i].Matrix);
189 | wp.wayPointV.copy(oreCommon.SetGroundFixPoint(wp.wayPointV, oreCommon.groundMapSize, true));
190 | wp.waypointType = cEnCpuWayPointID.Navi_d;
191 | wp.StayTime = 1; //ゼロはそのポイントで無限停滞
192 | testStageScript.alpha3WayPoints.push(wp);
193 | }
194 |
195 | oreCommon.heightObject.scale.multiplyScalar(oreCommon.groundMapSize);
196 | oreCommon.heightObject.updateMatrix();
197 |
198 | _object = null;
199 | };
200 | setTimeout(loadEnd(object), 10);
201 |
202 | }, threeComps.THREE_onProgress, threeComps.THREE_onError);
203 |
204 | /////////////
205 | }
206 |
207 | oreCommon.BrefingScene.LoadContent_zero();
--------------------------------------------------------------------------------
/js/stagefile/scriptList_testStage.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var testStageScript = {};
3 |
4 | var scriptList_TestStage = {};
5 |
6 | //ステージロードの開始前に行われる、各種外部Jsファイル読み込み宣言。
7 | //いわば、Include みたいなもの。
8 | //このファイルのおかげでページ遷移せずとも良いような想定をしているが、ThreeのScene絡みがどう動くかは未知数・・・動く保証はない!
9 |
10 | scriptList_TestStage.loadedIncludeCount = 0;
11 | scriptList_TestStage.loadingTargetCount = 0;
12 |
13 | //ステージ中に使う変数も、ここでまとめて宣言するのがスマート
14 | testStageScript.camPosAnimate = null;
15 | testStageScript.camTargetAnimate = null;
16 | testStageScript.EnemyPoints = [new THREE.Vector3(), new THREE.Vector3()];
17 | testStageScript.WayPoint_V = [new THREE.Vector3(), new THREE.Vector3()];
18 | testStageScript.alpha3WayPoints = new Array();
19 |
20 |
21 | scriptList_TestStage.loadParam = -1;
22 | scriptList_TestStage.loadingState = 1;
23 |
24 |
25 | testStageScript.WayPointObj = null;
26 | testStageScript.CarrierObj = null;
27 | testStageScript.alpha3DestroyFlg = false;
28 |
29 |
30 | ////////////////////////////////////////////////////////
31 |
32 | //コールバック地獄、はっじまっるよー
33 | scriptList_TestStage.isEndInclude_1 = function() {
34 | scriptList_TestStage.loadedIncludeCount++;
35 | if (scriptList_TestStage.loadedIncludeCount >= scriptList_TestStage.loadingTargetCount && scriptList_TestStage.loadingState == 1) {
36 | scriptList_TestStage.loadingState = 2;
37 |
38 | //ここに来ただけ(DLしただけ)だと、宣言済みが安定しない?ので、保険のためTimeOutをしかける
39 | setTimeout(function() {
40 | scriptList_TestStage.loadedIncludeCount = 0;
41 | scriptList_TestStage.loadingTargetCount = 0;
42 |
43 | oreCommon.downloadScript('js/objectSetter/obj_SSR06.js', scriptList_TestStage.isEndInclude_2); scriptList_TestStage.loadingTargetCount++;
44 | oreCommon.downloadScript('js/objectSetter/obj_AAA1.js', scriptList_TestStage.isEndInclude_2); scriptList_TestStage.loadingTargetCount++;
45 | oreCommon.downloadScript('js/objectSetter/obj_AAA2.js', scriptList_TestStage.isEndInclude_2); scriptList_TestStage.loadingTargetCount++;
46 | oreCommon.downloadScript('js/objectSetter/obj_Track_1.js', scriptList_TestStage.isEndInclude_2); scriptList_TestStage.loadingTargetCount++;
47 | oreCommon.downloadScript('js/objectSetter/obj_Hover.js', scriptList_TestStage.isEndInclude_2); scriptList_TestStage.loadingTargetCount++;
48 | oreCommon.downloadScript('js/objectSetter/obj_BarniaObj.js', scriptList_TestStage.isEndInclude_2); scriptList_TestStage.loadingTargetCount++;
49 | }, 10);
50 | }
51 | }
52 |
53 | scriptList_TestStage.isEndInclude_2 = function() {
54 | scriptList_TestStage.loadedIncludeCount++;
55 | if (scriptList_TestStage.loadedIncludeCount >= scriptList_TestStage.loadingTargetCount && scriptList_TestStage.loadingState == 2 && oreCommon.BrefingScene != null) {
56 | scriptList_TestStage.loadingState = 3;
57 | setTimeout(function() {
58 | //3期インクルード。ステージで使うクラス(実体系)を読み込む
59 | scriptList_TestStage.loadedIncludeCount = 0;
60 | scriptList_TestStage.loadingTargetCount = 0;
61 | oreCommon.downloadScript('content/Message/stage_testStage.js', scriptList_TestStage.isEndInclude_3); scriptList_TestStage.loadingTargetCount++;
62 | oreCommon.downloadScript('js/stagefile/testStageScript.js', scriptList_TestStage.isEndInclude_3); scriptList_TestStage.loadingTargetCount++;
63 | }, 10);
64 |
65 | }
66 | }
67 |
68 | scriptList_TestStage.isEndInclude_3 = function() {
69 | scriptList_TestStage.loadedIncludeCount++;
70 | if (scriptList_TestStage.loadedIncludeCount >= scriptList_TestStage.loadingTargetCount && scriptList_TestStage.loadingState == 3 && testStageScript != null) {
71 | scriptList_TestStage.loadingState = 99;
72 | setTimeout(function() {
73 | //ここのLoadContentは、本戦用のロード。
74 | testStageScript.LoadContent();
75 | oreCommon.downloadScript('content/cv/teststage/stageCV_test.js', null);
76 | //ダイアログを消す(ここの部分はtitle部分のフラグにゆだねている)
77 | oreCommon.ChangeScene = true;
78 | }, 100);
79 | }
80 | }
81 |
82 | //////////////////////////////////////////////
83 |
84 | oreCommon.ChangeScene = false;
85 | //ブリーフィングのBGM
86 | oreCommon.changeBGM('content/bgm_mp3/Trap.mp3');
87 |
88 | //最初期インクルード。ベースクラスとなるモノを読み込む
89 | oreCommon.downloadScript('content/Message/bref_testStage.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
90 | oreCommon.downloadScript('content/cv/teststage/bref_test.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
91 | oreCommon.downloadScript('js/stagefile/bref_testStage.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
92 | oreCommon.downloadScript('js/clsPlayer.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
93 | oreCommon.downloadScript('js/clsWeapon.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
94 | oreCommon.downloadScript('js/clsCpuTink.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
95 | oreCommon.downloadScript('js/clsEtcUnit.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
96 | oreCommon.downloadScript('js/oreBt2dSceneCommon.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
97 | oreCommon.downloadScript('js/objectSetter/ObjSetter_Base.js', scriptList_TestStage.isEndInclude_1); scriptList_TestStage.loadingTargetCount++;
98 |
99 | ////////////
100 |
101 | //シーンの進行状況管理
102 | testStageScript.enumSceneSpan = {
103 | none: -1,
104 | brefLoading: 0,
105 | drawBrefing: 1,
106 | BrefingOut: 2,
107 |
108 | mainContentLoadWait: 10,
109 |
110 | mainContentLoadInit: 11,
111 |
112 | Bt00: 101,
113 | Bt01: 102,
114 | Bt02: 110,
115 | Bt03: 111,
116 | Bt04: 112,
117 | Bt05: 113,
118 | Bt06A: 114,
119 | Bt06B: 115,
120 | Bt07: 150,
121 | Bt07A: 151,
122 | Bt07B: 152,
123 | Bt08: 160,
124 |
125 | Bt99: 199,
126 |
127 | m_EnemyWave2: 120,
128 | m_EnemyWave2_bt: 121,
129 |
130 | m_EnemyWave3: 130,
131 | m_EnemyWave3_bt: 131,
132 |
133 | m_EnemyWave4: 140,
134 | m_EnemyWave4_bt: 141,
135 |
136 |
137 | m_EndBt: 200,
138 |
139 | m_EndScreen: 250,
140 | }
141 |
--------------------------------------------------------------------------------
/js/threecomps.js:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | "use strict";
4 |
5 | //よく使いそうなThreeJS系をまとめたやつ。使用自由。
6 | var threeComps = {};
7 |
8 | threeComps.manager = null;
9 | threeComps.camera = null;
10 | threeComps.camera_back = null;
11 |
12 | var stats = null;
13 |
14 | threeComps.renderer = null;
15 | threeComps.scene = null;
16 | threeComps.scene_back = null;
17 |
18 | //var clock = new THREE.Clock();
19 | threeComps.texLoader = null;
20 | threeComps.loader = null;
21 |
22 | threeComps.THREE_onProgress = null;
23 | threeComps.THREE_onError = null;
24 |
25 | //ブルームエフェクトのパラメーター
26 | threeComps.params = {
27 | projection: 'normal',
28 | background: false,
29 | exposure: 1.0,
30 | bloomStrength: 0.4,
31 | bloomThreshold: 1.0,
32 | bloomRadius: 0.64
33 | };
34 | //ブルーム関連
35 | threeComps.renderScene_back = null;
36 | threeComps.renderScene = null;
37 | threeComps.effectFXAA = null;
38 | threeComps.bloomPass = null;
39 | threeComps.composer = null;
40 | threeComps.copyShader = null;
41 |
42 | /////////////////////////////////////////////
43 |
44 | //turee.js関連を初期化する。何回走ってもいいようになっている
45 | threeComps.init = function () {
46 |
47 | threeComps.manager = new THREE.LoadingManager();
48 | threeComps.manager.onProgress = function (item, loaded, total) {
49 | console.log(item, loaded, total);
50 | };
51 |
52 | threeComps.THREE_onProgress = function (xhr) {
53 | if (xhr.lengthComputable) {
54 | var percentComplete = xhr.loaded / xhr.total * 100;
55 | var fileStr = "";
56 | if (xhr.target != null && xhr.target.responseURL != null) {
57 | fileStr = xhr.target.responseURL;
58 | }
59 | console.log(fileStr + " -> " + Math.round(percentComplete, 2) + '% downloaded');
60 | }
61 | };
62 | threeComps.THREE_onError = function (xhr) {
63 | var fileStr = "";
64 | if (xhr.target != null && xhr.target.responseURL != null) {
65 | fileStr = xhr.target.responseURL;
66 | }
67 | console.log(fileStr + " Load Error!");
68 | };
69 |
70 | threeComps.texLoader = new THREE.TextureLoader(threeComps.manager);
71 | threeComps.loader = new XfileLoader(threeComps.manager, threeComps.texLoader);
72 |
73 | //////////////////
74 |
75 | threeComps.camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 2500);
76 | threeComps.camera.addQ = new THREE.Quaternion();
77 |
78 | threeComps.scene = new THREE.Scene();
79 | //threeComps.scene.add(new THREE.AmbientLight(0x999999));
80 |
81 | threeComps.scene_back = new THREE.Scene();
82 | threeComps.scene_back.add(new THREE.AmbientLight(0x999999));
83 |
84 | threeComps.camera_back = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 300000);
85 | threeComps.camera_back.addQ = new THREE.Quaternion();
86 |
87 |
88 |
89 | threeComps.renderer = new THREE.WebGLRenderer();
90 | threeComps.renderer.setPixelRatio(window.devicePixelRatio);
91 | //threeComps.renderer.setSize(window.innerWidth, window.innerHeight);
92 | threeComps.renderer.setSize(oreCommon.canvas3D.clientWidth, oreCommon.canvas3D.clientHeight);
93 | threeComps.renderer.setClearColor(0x000000);
94 | threeComps.renderer.autoClear = false;
95 | oreCommon.canvas3D.appendChild(threeComps.renderer.domElement);
96 |
97 | if (stats == null) {
98 | stats = new Stats();
99 | oreCommon.canvas3D.appendChild(stats.dom);
100 | }
101 |
102 | //ブルームエフェクト
103 | threeComps.renderScene_back = new THREE.RenderPass(threeComps.scene_back, threeComps.camera_back);
104 | threeComps.renderScene = new THREE.RenderPass(threeComps.scene, threeComps.camera);
105 | threeComps.renderScene.clear = false;
106 | // threeComps.renderScene.clear = true;
107 | threeComps.effectFXAA = new THREE.ShaderPass(THREE.FXAAShader);
108 | threeComps.effectFXAA.uniforms['resolution'].value.set(1 / window.innerWidth, 1 / window.innerHeight);
109 | threeComps.copyShader = new THREE.ShaderPass(THREE.CopyShader);
110 | threeComps.copyShader.renderToScreen = true;
111 | threeComps.bloomPass = new THREE.UnrealBloomPass(new THREE.Vector2(window.innerWidth, window.innerHeight), 1.5, 0.4, 0.85);//1.0, 9, 0.5, 512);
112 | threeComps.composer = new THREE.EffectComposer(threeComps.renderer);
113 | threeComps.composer.setSize(window.innerWidth, window.innerHeight);
114 |
115 | threeComps.composer.addPass(threeComps.renderScene_back);
116 | threeComps.composer.addPass(threeComps.renderScene);
117 |
118 | threeComps.composer.addPass(threeComps.effectFXAA);
119 | threeComps.composer.addPass(threeComps.bloomPass);
120 | threeComps.composer.addPass(threeComps.copyShader);
121 | //threeComps.renderer.toneMapping = THREE.ReinhardToneMapping;
122 | threeComps.renderer.gammaInput = true;
123 | threeComps.renderer.gammaOutput = true;
124 | threeComps.renderer.toneMappingExposure = Math.pow(threeComps.params.exposure, 4.0);
125 |
126 | }
127 |
128 |
129 | threeComps.destructor = function () {
130 | threeComps.manager = null;
131 | threeComps.camera = null;
132 | threeComps.camera_back = null;
133 |
134 | threeComps.renderer = null;
135 | threeComps.scene = null;
136 | threeComps.scene_back = null;
137 |
138 | threeComps.texLoader = null;
139 | threeComps.loader = null;
140 |
141 | threeComps.THREE_onProgress = null;
142 | threeComps.THREE_onError = null;
143 |
144 | threeComps.composer = null;
145 | }
--------------------------------------------------------------------------------
/js/titleScreenScript.js:
--------------------------------------------------------------------------------
1 |
2 | "use strict";
3 |
4 | var titleImage = null;
5 | var titleImage_B = null;
6 |
7 | var beginBrefScreen = false;
8 |
9 | var beginDetectStart = 0;
10 |
11 | function beginStageInit_Master() {
12 | //タイトル画面表示のためのシーン
13 | threeComps.scene = null;
14 | beginDetectStart = 0;
15 | oreCommon.beginFlg = false;
16 |
17 | if (oreCommon.canvas3D == null) { }
18 |
19 | oreCommon.canvas3D.style.visibility = "hidden";
20 |
21 | ScreenUpdater.NowScene = new ScreenUpdater.UpdaterBase();
22 |
23 | titleImage = new Image();
24 | titleImage.src = "content/Junk_title.png";
25 |
26 | titleImage_B = new Image();
27 | titleImage_B.src = "content/title_Back.jpg";
28 |
29 | ScreenUpdater.NowScene.Update = function () { titleScreenUpdater(); };
30 | ScreenUpdater.NowScene.Render_2D = function () { titleScreenRender(); };
31 | ScreenUpdater.NowScene.Render3D = function () { nullRender(); };
32 | oreCommon.setEvent_Load();
33 |
34 | ScreenUpdater.msgView_big = 0;
35 | ScreenUpdater.msgView_small = 0;
36 | }
37 |
38 |
39 |
40 | function titleScreenUpdater() {
41 |
42 | if (oreCommon.beginFlg && beginDetectStart == 0) {
43 | //ダウンロード開始
44 | ThreeSceneInit();
45 | oreCommon.BrefingScene = null;
46 | oreCommon.BrefingScene = {};
47 |
48 | oreCommon.downloadScript('js/stagefile/scriptList_testStage.js', null);
49 | beginDetectStart = Date.now() - 1;
50 | ScreenUpdater.scene_spanTime = 1;
51 | }
52 |
53 | if (oreCommon.beginFlg && beginDetectStart > 1) {
54 | if (Math.max(1.0 - ScreenUpdater.scene_spanTime * 0.0005, 0) <= 0 && oreCommon.ChangeScene && cv_bref_load && oreCommon.BrefingScene != null && msg_bref != null) {
55 | //ブリーフィング開始判断
56 | oreCommon.resizeWindow();
57 | oreCommon.ChangeScene = false;
58 | ScreenUpdater.msgView_big = 0;
59 | ScreenUpdater.scene_spanTime = 0;
60 | ScreenUpdater.NowScene.Update = function () { oreCommon.BrefingScene.BrefUpdater(); };
61 | ScreenUpdater.NowScene.Render_2D = function () { oreCommon.BrefingScene.BrefingRender(); };
62 | ScreenUpdater.NowScene.Render3D = function () { nullRender(); };
63 | oreCommon.setEvent_Bref();
64 | }
65 | }
66 | }
67 |
68 | function titleScreenRender() {
69 | oreCommon.conteText2D.clearRect(0, 0, oreCommon.conteText2D.canvas.width, oreCommon.conteText2D.canvas.height);
70 | oreCommon.conteText2D.fillStyle = "rgb(0, 0, 0)";
71 | oreCommon.conteText2D.fillRect(0, 0, oreCommon.conteText2D.canvas.width, oreCommon.conteText2D.canvas.height);
72 |
73 | //縦横比を守り、中央に表示
74 | var nowPos = [0, 0, 0, 0];
75 | //縦は、画面の縦で決定
76 | nowPos[3] = oreCommon.conteText2D.canvas.height;
77 | //横の大きさを、縦から計算
78 | nowPos[2] = titleImage_B.width * (nowPos[3] / titleImage_B.height);
79 | //中央に表示させるため、その半分の値を算出
80 | nowPos[0] = (oreCommon.conteText2D.canvas.width * 0.5) - (nowPos[2] * 0.5);
81 |
82 | if (oreCommon.beginFlg) {
83 | oreCommon.conteText2D.globalAlpha = Math.max(1.0 - ScreenUpdater.scene_spanTime * 0.0005, 0);
84 | }
85 | oreCommon.conteText2D.drawImage(titleImage_B, nowPos[0], nowPos[1], nowPos[2], nowPos[3]);
86 |
87 |
88 | nowPos[3] = titleImage.height;
89 | //横の大きさを、縦から計算
90 | nowPos[2] = titleImage.width;
91 | //中央に表示させるため、その半分の値を算出
92 | nowPos[0] = (oreCommon.conteText2D.canvas.width * 0.5) - (titleImage.width * 0.5);
93 | nowPos[1] = (oreCommon.conteText2D.canvas.height * 0.5) - (titleImage.height * 0.5) - 100;
94 |
95 | if (!oreCommon.beginFlg) {
96 | oreCommon.conteText2D.globalAlpha = Math.min(ScreenUpdater.scene_spanTime * 0.0005, 1.0);
97 | }
98 |
99 | oreCommon.conteText2D.drawImage(titleImage, nowPos[0], nowPos[1], nowPos[2], nowPos[3]);
100 |
101 | oreCommon.conteText2D.globalAlpha = 1.0;
102 |
103 | oreCommon.conteText2D.font = "11pt Arial";
104 | oreCommon.conteText2D.fillStyle = 'white';
105 | oreCommon.conteText2D.textAlign = 'left';
106 | //oreCommon.conteText2D.fillText('title', 100, 100);
107 |
108 | }
109 | //////////////////////////
110 |
--------------------------------------------------------------------------------