【Unity】Sceneを複製する方法
【イベント】もちろんやります!unity1weekの投稿作品を全てプレイ!
ゲームを作り、愛する方々!あのイベントが到来しました...!
「...なんのイベント?」ですって...?
Unityroomの1週間ゲームジャムですよ!
「Unityroom?ナニソレ?」という方はコチラ
「1週間ゲームジャム?ナニソレ?」という方はコチラ
と、いうことで...
今回もモチロンやりますよ!!
(前回イベントとのバナー広告が一緒なのは内緒です...笑)
(※1)遅れて投稿されたゲームも放送期間内であれば含む
攻略の様子についてはYoutube上で生放送を行う予定です!
土・日:10:00~24:00(予定)
放送当日の放送開始前にYoutubeの放送URLをTwitterでお知らせします。
放送期間の間、お手数ですがTwitterのフォローをお願いします!
フォローはココをクリック
「自分のゲームが実際にプレイされているのを見たい!」
「他の人のアイディアを見たいけどプレイが面倒!」
「視聴者同士で意見をぶつけ合いたい!」 etc...
という方は是非、放送にお越しください!
私もコメントが盛り上がっている方がモチベーションも数倍以上になります!!なので、コメントもしてくださいね!笑
それでは、放送当日にお会いしましょう!ノシ
放送URLは確定ではありませんが以下のURLだと思います。
当日Tweetを見逃した際に利用してみてください。
https://www.youtube.com/watch?v=Sj0Piq4_4oY
タイトルが変なのは前回放送の名残です...多分。
【Unity】Color型をカラーコード(string型)に変換する
やりたいこと
Color color = new Color(1f, 0, 0); // 赤色 // これを "#FF0000" の文字列に変換したい!!
こうする
Color color = new Color(1f, 0, 0); // 赤色 string colorCode = ColorUtility.ToHtmlStringRGB(color); Debug.Log(colorCode); // FF0000
#
が必要な方は#
が付かないことに注意してください〜。
a値も欲しい...
透過情報であるa値も欲しい方はColorUtility.ToHtmlStringRGB
ではなくColorUtility.ToHtmlStringRGBA
を使うようにしましょう!
上で例として出したColor color = new Color(1f, 0, 0);
の場合だとFF0000FF
が返ってきます。
おわり
【Unity2018】マルチシーンを使うと"Your multi-scene setup may be improved by tending to the following issues"というエラーが出た
はじめに
おはこんばんにちは。ぱふです。
先日、重い腰を上げてUnityを2018にアップデートしました!
すると、こんなエラー(警告)が...
Your multi-scene setup may be improved by tending to the following issues:
Multiple scenes baked with Auto enabled can appear differently in Play mode when reloading them. Consider disabling Auto and rebaking.
放置しても動くんですが、なんか気持ち悪いので原因を調査...!
その結果解決したので、「誰かの役に立つかも?」と思い記事に直しておきます。
原因
調べてみるとLightingのエラーでした。
Lighting
の設定をAuto Generate
にしていると新しくシーンがロードされるたびにライトがベイクされるようで、「複数のシーンをロードすると、シーンごとに自動設定した光の当たり方と異なるかもしれないけど大丈夫か?」という警告のようです。
解決方法
Lighting
の設定をAuto Generate
から変更することで解決します。
シーンごとにGenerate Lighting
しましょう。
これで警告文は綺麗さっぱり消えてくれます!
ちなみに....一部だけしかGenerate Lighting
の設定をしないと
Your current multi-scene setup has inconsistent Lighting settings which may lead to different lighting when loading scenes individually or in a different order! Consider homogenizing the following:
1/2 scenes have Auto baking enabled.
というエラーが出ちゃうので注意してくださいね!
ん?2D?
「2Dってライトのベイクとか...あるっけ?」と思った方。
そうです。おそらく普通のゲームを作っている分には2Dでは影響はないと思います............多分!(自己責任で!笑)
おわり
【Unity】実行中の関数名の表示方法をちょっとだけプログラマーっぽくする
やりたいこと
Debug用に関数が実行された時に関数名を表示したいけど...
void HogeHogeHoge(){ Debug.Log("HogeHogeHoge"); // 処理 } void PiyoPiyoPiyo(){ Debug.Log("PiyoPiyoPiyo"); // 処理 }
と全ての関数にこんな感じで書くのはダサい!プログラマーっぽく書きたい!
こうする
using using System.Reflection; // 忘れずに!! void HogeHogeHoge(){ Debug.Log(MethodBase.GetCurrentMethod().Name); // 処理 } void PiyoPiyoPiyo(){ Debug.Log(MethodBase.GetCurrentMethod().Name); // 処理 }
ん?長くなってるじゃないかって?
...ま、まぁ、、タイプミスとか減るし良いよね?ね?ね?
(個人的にプログラマーっぽいし。笑)
おわり
【C#】エディタで「possible loss of fraction」の警告が出た時
possible loss of fractionの意味
取り敢えず、googleで翻訳してみましょう。
google『可能な分数の損失』
うーん...意味が分からない...。自分で訳すしかないですね。笑
......
......
『分数の損失が起こりうる』という意味かな。
原因
C#では割り算の際にint / int
はint
になります。(切り捨て)
10 / 4
という計算をすると2.25
ではなく2
になるわけです。
この計算をfloat
やdouble
の変数に代入したり、float
やdouble
を引数に取る関数に渡したりすると、possible loss of fraction
という警告が出るわけです。
解決方法
int / int
の割り算を故意的に行っている場合は問題ないと思います。
故意的でない場合は(float) int / int
のようにキャスト変換してあげれば問題ないと思います。