Unity」カテゴリーアーカイブ

ゲームエンジン「Unity」に関するカテゴリーです。

GrabPassの使い方

UnityのシェーダーではGrabPassを使うことで、シャーダー内で簡単にスクリーンの絵を取得できて便利です。

使い方は

GrabPass
{
}

と書くだけ。

後は普通のTextureと同じように

sampler2D _GrabTexture
grabPos = ComputeGrabScreenPos(o.pos);
half4 color = tex2Dproj(_GrabTexture, grabPos);

のようにして使えます。

_GrabTextureの名称を変更したい場合は、GrabPass

GrabPass
{
  "_BackgroundTexture"
}

という風に書くと良いようです。

リンク

Unity – Manual: ShaderLab: GrabPass
https://docs.unity3d.com/Manual/SL-GrabPass.html

better RecalculateNormals

Unityを使っていると、外部からインポートしたFBXファイルのオブジェクトはスムーズに表示されるけれど、スクリプトからMeshvertices/trianglesを設定したオブジェクトはフラットな感じに表示されてしまうことがあります。

normal-solver-1

そういう場合はNormalの計算方法を見直してみると良いそうです。

A better method to recalculate normals in Unity – Part 2 – The Scheming Developer
http://schemingdeveloper.com/2017/03/26/better-method-recalculate-normals-unity-part-2/

normal-solver-2

リンク

Unity – Scripting API: Mesh
https://docs.unity3d.com/ScriptReference/Mesh.html

Unity – Scripting API: Mesh.RecalculateNormals
https://docs.unity3d.com/ScriptReference/Mesh.RecalculateNormals.html

Unityでプロジェクト名を変更する手順

Unityのプロジェクトはフォルダー名がプロジェクト名になっているので、それをリネームすればプロジェクト名も変更できるようです。

後、必要に応じて不要になるファイルを削除しても良いと思います。

  1. フォルダーをリネーム
  2. .sln.csprojuserprefsを削除

変更できたらUnityを起動して、「Open」から新しいフォルダーを選択します。

Player Settingsも必要に応じて変更してください。

  • [Edit] » [Project Settings] » [Player] » [Product Name]を変更

リンク

unity3d – How to Rename a Unity Project? – Stack Overflow
https://stackoverflow.com/questions/45825612/how-to-rename-a-unity-project

unity > プロジェクト名の変更 > フォルダ名を変更 / .slnと.userprefsは削除する > MonoDevelopでスクリプトを開いた時に.sln / .userprefsが再作成される – Qiita
https://qiita.com/7of9/items/8b92e9d20669b5775a1d