process - みる会図書館


検索対象: ゆるスタック!
5件見つかりました。

1. ゆるスタック!

プログラムでドローンを飛ばそう ! Chapter 3 58 C00 旧 own ( ) ; d. down({ steps: STEPS } ) ; else if (key. name = C00 旧 own ( ) ; d. up({ steps: STEPS } ) ; else if (key. name = ″上昇下降 C00 旧 own ( ) ; d. tiItLeft({ steps: STEPS } ) ; else if (key. name = C00 旧 own ( ) ; d. tiItRight({ steps: STEPS } ) ; else if (key. name = = 'right ・ ) { C00 旧 own ( ) ; d. backward({ steps: STEPS } ) ; else if (key. name = C00 旧 own ( ) ; d. forward({ steps: STEPS } ) ; else if (key. name = ″前後左右の移動 process. exit(); process. stdin. pause(); d. disconnect(); console.log('disconnect ・ ); else if (key. name = ″接続解除 d. hover(); console.log('hover'); else if (key. name = d. takeOff(); console.log( ・ takeoff); else if (key. name = d 」 and(); console 」 og('land'); if (key. name = ″離着陸 var param = {tilt:0, f0 a 「 d : 0 , turn:0, up:0}; if (ACTIVE & & key) { console 」 og('lNPUT_KEY = > ' , key); process. stdin. on('keypress', function (ch, key) { ″キーイベントの設定

2. ゆるスタック!

次にキーボード操作のコーディングです。ここでは INPUT されたキーに応じて「離着陸」、 「左右前後の移動」、「上昇下降」、「左右旋回」、「特殊動作」、「接続解除」を割り当てます。 まずはその前準備の前半です。以下のサンプルを見てみましよう。 var RoIlingSpider = require("rolling-spided'); var keypress = require('keypress ・ ); keypress(process. stdin); process. stdin. setRawMode(true); process. stdin. resume(); var ACTIVE = true; ″コマンド辺りの移動距離 var STEPS = 5 ; ″接続対象のを記載 var d = new RoIIingSpider({uuid:"Mars_XXXXXXXX"}); function C00 旧 own ( ) { ACTIVE = false; setTimeout(function ( ) { ACTIVE = true; } , STEPS); ″接続設定 d. connect(function ( ) { d. setup(function ( ) { console.Iog('START CONNECT DRONE', d. name); } , 1000 ) ; ACTIVE = true; setTimeout(function ( ) { d.flatTrim(); d. startPing(); d.flatTrim(); 57 RollingSpider オプジェクトの動作関数を呼んでいきます。 そして後半がメインのロジックです。こでは人力されたキー入力に対して前半で宣言した ても問題ありませんが、繋がらないときは待ってもつながらないので短めがお勧めです。 続いて接続時には開始の Ping を打ちつつタイムアウト値を設定します。この辺りの値は適当に変え いので、サンプルの「 5 」くらいを推奨します。 移動距離はあまり長くすると一回の移動コマンドで動く距離が長くなり意図せず物に追突しかねな グラムを利用して接続された 1 個目の ID を利用するなどコーディングしても良いかもしれませんね。 と接続対象のドローンの ID を設定。接続 ID は接続確認プログラムの結果を記載します。前項のプロ モジュールの呼び出しから始まり最初はおまじないが続きます。次に 1 回のコマンド入力の移動距離 プログラムでドローンを飛ばそう ! キーポード操縦コード console.log(). name + ' = > DRONE START'); Chapt er 3

3. ゆるスタック!

ZBrush クリエイターになろう Chapter 1 を結合した新規 T 。。 1 が追加されます。 △髪型パーツを Merge した例。 こう見るとカッラのようである。 SubTooI を胴体・頭部・髪型 T 。。 1 にまとめたら、 DecimationMaster を使って形状を保ったま まメッシュ数を削減しましよう。 ZPlugin>Decimation Master から変換後の頂点数を選び、 Pre-Process Current してから Decimate Current します。 ( 筆者は胴体 400k 頂点、頭部 100k 、 髪 300k 程度に目標設定しました ) 。 また出力前の T001 はこれまでの作業で Non-Manifold な状態になっていることがあるので、 Geometry>MeshIntegrity>Fix Mesh して不整合を調整しておきます。 ( この機能は不完全なの で気休めレベルですが ) 。出力形式はいくつか選べますが、 ここでは . obj を使いましよう。 T001 > Export から . obj で出力し、インストールしておいた Blender からファイル > インポート >Wavefront(. obj) を選んで読み込みます。 Blender のカメラ操作はホイールクリックと Shift + ホイールクリックで行い、右クリックで オプジェクトを選択・操作します。 BIender は ZBrush ほど高度なカメラ機能を持っていないの で少し慣れが必要ですが、骨格を配置しているうちに憶えられるでしよう。 21

4. ゆるスタック!

プログラムでドローンを飛ばそう ! Chapter 3 temporal.queue([ delay: 5000 , process. exit(O); temporal.clear(); task: function ( ) { delay: 5000 , d.land(); consoIe.Iog('Time t0 land'); task: function ( ) { delay: 5000 , d. frontFlip(); consoIe.log('OMG Flip! ・ ); task: function ( ) { delay: 5000 , d. down({steps: 20 } ) ; C0nS0に」0g( ℃ 0ing down'); task: function ( ) { delay: 4500 , d. up({steps: 20 } ) ; console.log( ℃ Oing up'); task: function ( ) { delay: 4500 , d. forward({steps: 12 } ) ; console 」 og( ℃ Oing fO a 「 d ・ ) ; task: function ( ) { delay: 4500 , d.flatTrim(); d. takeOff(); console 」 og('Getting ready f0 「 takeOff!'); task: function ( ) { 実行間隔として delay 値を設定し、 task にて実行する動作を実装します。この中身の実装はキー 60 定します。お作法としては最初に「 take0ff 」、最後に「 land 」処理を入れてください。 力の時と同じです。 Drone オブジェクトの動作関数を呼び出します。移動動作であれば移動距離を設

5. ゆるスタック!

プログラムでドローンを飛ばそう ! ″旋回 else if (key. name = param. turn = 90 ; d. drive(param, STEPS); C00 own ( ) ; else if (key. name = param. turn = -90 ; d. drive(param, STEPS); C00 旧 own ( ) ; d. backFlip(); else if (key. name = C00 own ( ) ; d. frontFIip(); else if (key. name = ″特殊動作 C00 旧 own ( ) ; Chapter 3 前後左右の移動には矢印キーの「↑↓←→」を割り当てています。旋回は一回のキー入力で左右に 90 ℃ずっ旋回、そして特殊動作にはプリセットされている前方回転と後方回転を設定しています。 の他にも rightFIip や IedtFIip といった左右の回転もあります。 こでは仮に「 keyEventControl. js 」としておきます。 キーポード操縦コード 最後に自動操縦のコーディングです。ここでは予め設定した動作を連続して実行するプログラムを実 装します。利用出来る動作はキーボード入力と同じですので自由に組み合わて 0K です。 temporal オプジェクトに自動実行させたい動作を順に詰めていき connect 関数に渡します。 use StriCt'; var Drone = require('.. /,); var temporal = require( ・ temporal'); var d = new Drone(process. env. UUID); d. connect(function ( ) { d. setup(function ( ) { d.flatTrim(); d. startPing(); d.flatTrim(); C0nS0厄」0g( ℃ onnected to drone ・ , d. name); 59