のにっき

【Unity】PyasicMaterial使用時、オブジェクトが跳ね返らないときの対処法

UnityでPyasicMaterialを使用してオブジェクトに跳ね返りの設定を行ったとき、
思ったように跳ね返らなかった場合の対処法をまとめます。
※弱い力で衝突した時に跳ね返らなくて悩んでる人は対策③必見!

対策①:PyasicMaterial(2D)の設定を確認

そもそも跳ねない。跳ね方がおかしい時に確認
・Bounciness
0だと跳ねない。1だと力が減らずに跳ねる。無限に跳ねさせるなら1に設定する
Bounce Combine: ※3Dのみ
Maximumに設定すると力が減らずに跳ねる。

対策②:Rigidbody(2D)の設定を確認

オブジェクトが壁をすり抜けるときに確認
・Collision Detection
デフォルトは「Discrete」。壁をすり抜けるバグが発生してなかったらこのままでOK!
壁抜けが発生している場合は「Continuous」を設定する

対策③:Project Settings → Physics(2D)の設定を確認

オブジェクトが壁に埋まる。うまく跳ね返らなかったりするときに確認
3DならBounce Threshold、2DならVelocity Threshold
跳ね返りのしきい値
簡単に言うと、設定値より低い力でぶつかったら跳ね返らないようにする。
上手く跳ね返らないときは0を設定する。

【Unity】デバッグ時にWaitForSecondsがうっとうしい時の対処法

Unityでデバッグを行っている時、
様々な場面で組み込んでいるWaitForSecondsの設定
アニメーション等で使用していると思うのですが、
デバッグの時はウェイトをスキップしてすいすいデバッグしたい!
と思う事があったので方法をまとめます。

ソースコード

    /// <summary>
    /// ウェイト付き関数
    /// </summary>
    /// <returns></returns>
    public IEnumerator Set_CzStart()
    {
        Debug.Log("ウェイト前");
        yield return new WaitForSeconds(GetWtTime(10.0f));
        Debug.Log("ウェイト後");
    }

    /// <summary>
    /// タイマー値取得
    /// </summary>
    /// <param name="SetTimer">設定したい秒数</param>
    /// <returns>デバッグ判定後秒数</returns>
    public static float GetWtTime(float SetTimer)
    {
#if Def_WaitDebug
        return 1f;
#else
        return SetTimer;
#endif
    }

この記述方法でウェイト時間をデバッグ時のみ1秒に短縮できるようになります。
WaitForSecondsに秒数を設定する時に関数を挟む感じです。

ウェイト時間の切り替え方法は、

#define Def_WaitDebug

上記のDefine設定をソースファイルの一番上に記入するかどうかで
切り替えることが出来ます。
記入する・・・ウェイト時間=1秒になる
記入しない・・ウェイト時間=設定秒になる

UnityEngineなどのソースは書き換えができなかったので
デバッグ用に新たに関数を作りました。
付け焼刃感が凄いですが、スイスイデバッグの参考にしてみてください。

【VS】KeyDownイベントが発生しない場合の対策

Windowsフォームアプリの設定の話です。
ショートカットキーの機能を組む時に知っておくととても便利です。

本当にイベントが発生していないのか?

KeyDownイベントにブレークを貼って
イベント処理が通っているかどうか確認しましょう。
イベント内の処理のせいで、イベントは正常に発生しているのに
処理が動いていない場合は処理を直せば解決です。

フォームに対してイベントを設定しているか?

KeyDownイベントを設定している対象を確認しましょう。
フォームに対してではなく、
ボタン等のコントロールに対してイベント設定を行っていると
そのコントロールにフォーカスがあっている状態でしかイベントが発生しません。
必ずフォームに対してイベント設定を行いましょう。

KeyPreviewプロパティをTrueにする

フォームのプロパティ内の「KeyPreview」の項目をTrueに変更しましょう。
デフォルト設定ではフォーム以外のコントロールにフォーカスが当たった状態だと
フォームに設定したKey系イベントが発生しないです。
(フォーカスに当たったコントロールのKey系イベントが発生します)
そこで、KeyPreviewをTrueに変更することで、
フォーム内のどこにフォーカスが当たっていても、
フォームのKey系イベントが発生するようになります。
※順番は、
「フォームのKey系イベント」→「フォーカス当たってるコントロールのイベント」
という順番になります

以上です。
KeyPreviewプロパティは知らないと
全部のコントロールにKey系イベントを設定するという
パワープレイに走ってしまうので是非、ご活用ください。

Aviutl 初心者詰まりポイント

完全に自分へのメモ帳です。

最近、趣味で動画編集を行っているのですが、

そこで使用している無料動画編集ソフトAviutl

とても機能が多く無料なので、編集初心者にはうってつけのツールだと思います。

しかしながら、初めての動画編集なので詰まるポイントも多く、

何度もミスしないようにここにまとめておきます。

 

 

Aviutlとは?

どんなユーザー向け?

▼お勧めする人

・動画に画像や文字を入れたい人

・ただ動画の一部を切り取るだけじゃなく、凝った演出を入れたい人

・凝った動画編集未経験の人

・有料ソフトに手が出ない人

▼お勧めしない人

・動画圧縮・サイズ変更だけ出来ればいい人

・動画の一部だけ切り取り出来ればいい人

インストールから基本的な使用方法まで

aviutl.info

他リンクで申し訳ないですが、すべてここに載ってます。

私はこれを見ながら

「切り取り、サイズ変更、画像・文字のテロップ設定」までできる様になりました

初心者注意点

AVI出力で出力するとめちゃ重い!

編集した動画を出力するとき、「AVI出力」で出力できます。

しかし、出力された動画はめちゃくちゃ重い(30秒で1GBとかになる)ので、

「簡単MP4出力」等の出力プラグインの導入をお勧めします

画面サイズは2で割れる数値

 上記でおススメした「MP4出力」ですが、

縦横の画面サイズが2で割り切れない数だった場合、出力できません。

サイズ指定を行う場合は、必ず偶数の値を設定しましょう

閉じるときに「保存しますか?」警告が出ない

編集後に閉じるときに警告が出ないので、上書き保存したか分かりません。。。

※保存をしていても警告が出てしまいますが

「ファイル」→「環境設定」→「システムの設定」クリック

→「編集ファイルが閉じられる時に確認ダイアログを表示する」にチェック

この設定で警告が出る様になります。

動画の終点をオブジェクトの最後にする

動画を編集後、出力してみると

映像が終わった後に黒画面で何も起きない時間が入っていることがあります。

動画の終点が作成した動画の終点より長い事が原因ですので

対処法は以下の画像を参考にしてください。

f:id:apuridasuo:20200921161749p:plain

図:動画終点の余白除去方法

拡張機能のボタンの位置が分かりずらい

 サイトで「文字の縁取り」や「画像アニメーション」等を検索して

勉強しようとしても、そもそも拡張機能の追加方法が分からん!

ってなったあなた!同士です!!

f:id:apuridasuo:20200921162806p:plain

図:拡張機能追加ボタン位置

上図を参考にしてください。

動画に限らず、文字も画像も同じボタンがあります。

 

以上です。

絶賛勉強中なので気づいたことがたまったらまた書いていこうと思います。

 

【C#】フォルダ選択ダイアログを推奨しない理由

Windowsフォームアプリ等でツールを作成する際、
フォルダのパスを取得したいとき、
なんとなく思いつくのが選択ダイアログだと思います。
このダイアログですが、個人的に推奨しません!
今回はその理由とフォルダパスを取得する時に推奨する方法をご紹介します。

ダイアログを推奨しない理由

使い手の工程数が多い!

ダイアログという手法は直感的で分かりやすいのですが、
いかんせん指定フォルダを選択するまでの手順が多すぎます!
ツール設計で大事な事は
ツールを使う時の作業工程が少ないことです。
業務で使うツールは特に、何度も使用することになります。
作業工程が少なければ少ないほど、作業時間が短縮される。
つまりは業務改善につながります。
パスを取得する作業時間は極限まで短縮するツールを作りましょう!

推奨しない使用例

こんなツールを作るときはダイアログを絶対使用してはいけません!
という例を挙げてみます。
・複数のパスを取得しないといけない
 →一つ一つダイアログを開く必要があるので、
 ものすごく手順がめんどくさいツールになります
・毎回使うたびに、違うフォルダ(ファイル)のパスを取得しないといけない
 →毎回同じパスでいいなら、前回の記入パスを記憶すればいいので
 ダイアログでも大丈夫だと思います。
 毎回新しくファイル選択が必要になるならダイアログは推奨できません

ダイアログに代わるパス設定仕様

フォルダをドラッグ&ドロップ

これにつきます!
作業対象のファイルをそのままドラッグ&ドロップ(D&D)できる仕様です。
ダイアログと違って、作業手順が一発で終了なので
とても簡単にパスの設定が可能です。

導入手順(Windowsフォームアプリ)

ドラッグ&ドロップの設定方法を、例を用いて説明します

フォームデザイン
f:id:apuridasuo:20200826191252p:plain
図:説明用フォーム内容

図のように、フォームの中にTextBoxを作って
そこにパスを記入させる仕様になります。
※フォームの中で、ドラッグできることを知らせるようにしましょう。

ソースコード

ドラッグイベント用の関数になります。

/**************************************************************************
   【EV】記入欄D&D時
**************************************************************************/
// ドロップ
private void Txt_Path_DragDrop(object sender, DragEventArgs e)
{
    // ドロップパス取得
    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
    TextBox Txt_Set = (TextBox)sender;
    // 正常ならコントロールに反映
    Txt_Set.Text = files[0];
}
// ドラッグ
private void Txt_Path_DragEnter(object sender, DragEventArgs e)
{
    //マウスカーソルの表示更新
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
    {
        e.Effect = DragDropEffects.All;
    }
    else
    {
        e.Effect = DragDropEffects.None;
    }
}

このソースで大事な部分は

// ドロップパス取得
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);

この部分だと思います。
ドロップされたファイルが複数の場合を想定して、文字列の配列で取得しています。
そして記入するパスは一つなので、
配列の先頭パスをTextBoxに記入しています。
複数パスを一気に取得したい場合も、
配列でドロップされた全てのパスを取得しているので対応可能です。

プロパティ設定
f:id:apuridasuo:20200826192623p:plain
図:プロパティ、イベント設定

上図を参考に、記入したイベント関数の設定を行います。
以上で、ドラッグ&ドロップの仕様組み込みが完了です。

ぜひ、ドラッグ&ドロップの仕様を実際にツールに取り入れてみてください。
ダイアログとは比べ物にならないくらい使いやすくなると思います。
私も昔はダイアログを当たり前のように使っていましたが、
今回紹介したドラッグ仕様に気づけてから
業務用ツールの使いやすさが格段に上がりました!

お仕事のご依頼

作っているアプリのクレジットに乗せる

ページになります。

 

経歴

約5年間:C言語を用いた組み込みエンジニア

その後約2年間 :Unity、ネイティブを含めてスマホアプリエンジニア

依頼できる内容

・業務改善(提案からやります。職業と大まかな作業内容聞いたら考えます) 

スマホアプリ作成(Androidのみ

VBAC#、Unity、AndroidStudio、Paython講座

(質問に答える形式から

 一から教わる形式まで何でも可)

 

料金

お見積りは無料!

最低1000円から行います

 

 連絡先

・メアド

apuridasuo1192@gmail.com

Twitter

やってますので、気軽にDMください

初めてのラノベ ~ ファンタジー編~

初めてラノベを読む方へ。

1冊目におすすめのラノベをジャンルごとにご紹介します。

今回はファンタジーものに絞ってご紹介!

この素晴らしい世界に祝福を【全17巻】

ジャンルと評価

異世界転生ほのぼの日常コメディー

・読みやすさ :★★★★★

・コメディ度 :★★★★★

・ガチ度   :★★☆☆☆

・熱盛度   :★★★★☆

・ストーリー性:★★★★☆

あらすじ

引きこもり気味の佐藤カズマが、

女の子を助けて車にひかれて死ぬ(仮)ところからストーリーが始まる。

死後の世界で、異世界に転生させる代わりにチート能力がもらえることに!

「引きニートのあんたに何の期待もしてないから~・・・」

案内役の女神の一言に切れたカズマはもらえるチート能力を口にする

「・・・・・じゃあ、あんた」

カズマはチート能力として女神アクアを手に入れた!

ゲスで人間臭いヘタレ引きニートのカズマとポンコツ駄女神のアクア。

さらにドMな美人騎士と中二病な魔法使いっ娘が仲間になり、

ダメダメだけど憎めないパーティのドタバタコメディ物語が始まる!

感想

 私が読んだラノベの中で、初めてのラノベとして

ダントツにお勧めしたい作品です

読みやすい!超完ぺきな形で完結している!超面白い

この3つが揃っているラノベは見たことないです。

まず読みやすさ!

このラノベは、登場するキャラ達すべてに強い個性があります。

なので、会話を聞いていると話し方や行動に強い個性がにじみ出ていて

説明文がなくても誰が何をしているのかすぐに想像できるのです。

ほかの作品では会話の間に、キャラの動きを説明する場面でも、

キャラの会話だけで動きも感情もびしびし伝わってくる。

キャラたちの描写力が圧倒的に上手いため、読みやすさは最強です。

そして完ぺきな形で完結!

このラノベは全17巻(スピンオフ作品は除く)で完結しています。

この17巻の中で、ダラダラしていた巻は一切ありません。

1巻から最高に面白いなぁと感じてから17巻まで、

ずっと最高に面白いまま終わってしまいました。

コメディ描写を描きながらも、しっかりしたストーリーは進んでいき、

最後も想像を超える形で物語の幕を閉じます

笑いあり、笑いあり、笑いあり、涙あり。。。。

ぐらいのペースでノンストップな冒険活劇でした。

始まりから終わりまでの完ぺきなストーリー展開っぷりは、

スラムダンク以来じゃないかと思います。ほんとに!

最後に面白い!

この作品は、コメディ+ファンタジーです。

いい意味で、万人受けするジャンルだと思いますので

誰もが第一歩として読むラノベとしてお勧めできると思います。

私が人生で一番読み返せたラノベの1つです。

※この読み返せるというのは非常にすごいことなんです!

キノの旅【全22巻】

キノの旅 the Beautiful World (電撃文庫)

キノの旅 the Beautiful World (電撃文庫)

 

ジャンルと評価

1話完結型、キノと旅するファンタジー旅日記

・読みやすさ :★★★★★

・コメディ度 :★★☆☆☆

・ガチ度   :★★★★☆

・熱盛度   :★★☆☆☆

・ストーリー性:★★★★☆

あらすじ

キノと名乗る少女が、喋るバイクのエルメスとのんびり旅行する話。

エルメスに乗って様々な国に旅するのだが、

旅先の国々が大クセにまみれた特色を持っている。

ほのぼの旅行とはかけ離れた、苦くてしょっぱい、、、

だけど何だかんだでジーンとくる。心にしみるキノの旅物語。

感想

このラノベを初めての方にお勧めする理由は、

文字に押しつぶされない、初心者向けのストーリー構成だからです。

1話完結物のため、途中のストーリーを忘れても問題なく楽しむことができます。

好きな時に好きなところから読める。

初めてラノベを読む方も安心して読んでいただける作品です。

また、短編なのにどのラノベよりも深く考えさせられる内容になっています。

人という物の良い所、悪い所の極地を国の特色として描写したうえで、

客観性を極めたキノがそれに向き合うお話です。

今度はどんな国が待ってるのか?キノはどう行動するのか?

本筋が繋がってない短編だからこそ、先の読めない展開が楽しめます。

細かな空き時間に読める作品ですので、ぜひ読んでみてください。

私が人生で一番読み返せたラノベのもう1つです。

※この読み返せるというのは非常にすごいことなんです!

とある魔術の禁書目録【続49巻】

とある魔術の禁書目録 (電撃文庫)

とある魔術の禁書目録 (電撃文庫)

  • 作者:鎌池 和馬
  • 発売日: 2004/04/08
  • メディア: 文庫
 

ジャンルと評価

不幸な無能力者が不幸な能力者を救う英雄譚

・読みやすさ :★★★★★

・コメディ度 :★★★★☆

・ガチ度   :★★★★★

・熱盛度   :★★★★★

・ストーリー性:★★★★★

あらすじ

ここは学園都市という科学の発達した場所で、

学生は科学パワーで超能力が使える能力者で溢れかえっていた。

その年で暮らす「不幸だぁ・・・」が口癖の高校生、上条当麻

当麻は学園都市の中でも能力が使えない「無能力者」だった。

口癖通り、不幸体質の当麻に新たな不幸が・・・

空から修道服をきた少女が降ってきた。

呼び込んだ不幸を見捨てることはできないお人好しな性格で、

少女を追ってきた炎を操る能力者や魔法剣士に立ち向かう当麻。

 「無能力者」の当麻の唯一生まれ持った力は

「右手に触れた異能を消す力」

少女を救うため、科学と魔法が交差する世界で当麻の冒険が始まる。

感想

このラノベは、1巻が最強に面白いです。

ラノベの面白さがこの1巻に詰まっているといっても過言じゃないです。

ラノベ特有の細かく作り込まれた世界観。

突拍子もないけどなんかしっくり来るキャラ設定やストーリー展開。

漫画じゃ描写できない、ラノベならではの面白さに引き込まれる1巻です。

だからこそ初めてのラノベにおすすめしたいです!

ただ、上記2作品と違ってこの作品には注意が必要です。

途中からめちゃくちゃダレます。。。

だからこそこの作品の読み方は、

1巻から飽きるまで読んで、飽きたら読むのをきっぱりやめる。

この気持で読みすすめることをおすすめします。

幸いこの作品は、

ちょうどいい辞め時がいくつも用意されています。

だからこそ、無理に全巻買わないで、楽しめるところまで読みましょう!

私は惰性で全部読んでますが、

40巻超えたあたりから面白いと思ってません。

ただ最後が気になるから読んでいるだけの作品に成り下がりました。

ただ1巻は最強ですので、

ラノベ特有の面白さを感じたいのであれば、ぜひ読んでみてください!

ティアムーン帝国物語【続4巻】

ジャンルと評価

わがまま姫がギロチンに処された後、過去に戻って過去を変える話

・読みやすさ :★★★★☆

・コメディ度 :★★★★☆

・ガチ度   :★★★★☆

・熱盛度   :★★★★☆

・ストーリー性:★★★★☆

あらすじ

「パンがなければケーキを食べればいいじゃない」

食糧難で崩壊した帝国の姫であったミーアはわがままが止まらなかった。

国民たちの革命で、ミーアはギロチンの刑に処される。

しかし首を斬られたと思ったら意識が戻ったところは自室のベットの上だった。

しかも、帝国が崩壊する前まで時が戻っており、ミーアも子供になっていた。

夢かと思ったミーアだが、その手には自分の血に染まった日記帳が。。。

中身は自分も国も崩壊する未来がミーアの字で書かれていた。

帝国の崩壊が未来に起こるものだと確信したミーア。

ギロチンを回避するため、愚かな自分と決別し、

国を変えるために動き出すわがまま姫の成長譚。

感想

このラノベは、キャラの心情描写がとても秀逸です。

大まかな話は、姫という国のトップに立ちながらも

わがままを捨てて、国のために行動する姫の成長物語ですが、

姫の行動に対して、周りの評価と姫自身の心情が大きくすれ違う。

だけど、だからこそ結果上手くいく、

まるでアンジャッシュのコントを見ているような作品です。

姫と周りのすれ違う心情を、うまく描写できているので、

読者としてすべてを理解できて、すごくほんわかできる面白さがあります。

巧みな描写で父性・母性をくすぐってくるので、

気づいたら主人公を応援してしまう引き込まれる作品です。

巻数は4巻と少ないですが、3巻で一区切りつくのでそこまで読んでみてください。

分かりづらい設定もなく、話に入っていきやすいです。

ぜひ、初めてのラノベに読んでみてください。

 

以上です。

ファンタジー物はまだまだおすすめのものがあるのですが、

気づいたら1時を過ぎていたのでこの辺でやめておきます。。。

文字を書くのって時間がかかりますね。

明日も仕事なのに、過去に読んだラノベ思い出してたら

目が冴えに冴えまくっちゃいました・・・・おやすみなさい。