アトリエ・エクレア

2DCG&3DCG, プログラミング, 日記などを掲載してます。

ゆにりあ Vol.1: Unityで映像を作る (有有財閥)

ゆにりあ Vol.1: Unityで映像を作る (有有財閥)

ゲームエンジン「Unity」で映像制作をする本・・・らしい。



Unity スクリプトからのレンダリングソート

Unity スクリプトからのレンダリングソート

メモ

<リファレンス>


<スクリプトからのレンダリングソート>

例)

using UnityEngine;

public class SortTest : MonoBehaviour {
    public string mySortingLayerName = "front";  // "Tags & Layers" のLayer名を使う
    void Start() {
        MeshRenderer renderer = GetComponent<MeshRenderer>();
        if (renderer != null) {
            // renderer.sortingLayerName = "レイヤー名";
            // renderer.sortingOrder = (Order in layerの数値);
            renderer.sortingLayerName = mySortingLayerName;  
        }
    }
}

※スクリプトを設定したオブジェクトだけでなく、相手側にも透明が扱えるシェーダーを要求するっぽい。

  • StandardShader(Rendering Mode : Fade or Transparent)
  • Transparent系シェーダー(Unlit/Transparentなど)
  • Sprite
  • Particles

→ material.renderQueueで順番いじっても同様だった。
→ 対策のひとつ:自作シェーダーでQueueいじる。





Unity メッシュ作成

Unity メッシュ作成

メモ

<Meshクラス>

スクリプトからメッシュの作成や変更をできるようにするクラス


<スクリプトからメッシュの作成>

※裏面は見えないので注意。グルっとまわって確認する。

using UnityEngine;

public class CreateMeshSample : MonoBehaviour {

        void Start() {
                CreateMesh();
        }

        private void CreateMesh() {
                Rect rect = new Rect(3.0f, 10.0f, 20.0f, 30.0f);
                float z = 0.0f;

                // 頂点の配列
                Vector3[] newVertices = new Vector3[] {
                        new Vector3(rect.xMin, rect.yMin, z),
                        new Vector3(rect.xMax, rect.yMin, z),
                        new Vector3(rect.xMax, rect.yMax, z),
                        new Vector3(rect.xMin, rect.yMax, z)
                };

                // UV座標の配列
                Vector2[] newUV = new Vector2[] {
                        new Vector2(0, 0),
                        new Vector2(1, 0),
                        new Vector2(1, 1),
                        new Vector2(0, 1)
                };

                // 三角形の配列 (頂点の配列の、インデックス) ※時計回り指定で、表面になる
                int[] newTriangles = new int[] {
                        0, 1, 2,
                        0, 2, 3
                };

                Mesh mesh = new Mesh();
                GetComponent<MeshFilter>().mesh = mesh;
                mesh.vertices = newVertices;
                mesh.uv = newUV;
                mesh.triangles = newTriangles;
                mesh.name = "MyMesh";

                // 再計算
                //mesh.RecalculateNormals();
                //mesh.RecalculateBounds();
        }
}





Unityの寺子屋 定番スマホゲーム開発入門

Unityの寺子屋 定番スマホゲーム開発入門

いたのくまんぼう (著, 監修), 大槻 有一郎 (著) 2017/8/15 発売予定

↓↓↓これと同じ著者↓↓↓

内容:横スクロールアクションなど。



Unity テキストアセット

Unity テキストアセット

メモ

<テキストアセット>

以下のファイルは、プロジェクトフォルダーにインポートすると、Text Asset として扱われる。
.txt .html .htm .xml .bytes .json .csv .yaml .fnt


<.txtファイルのテキスト読み取り>

1) インスペクターで、テキストアセットを指定する場合

using UnityEngine;

public class ExampleClass : MonoBehaviour {
    public TextAsset asset;  // インスペクターで、テキストアセットを指定
    private string text;

    void Start() {
        text = asset.text;
        string[] strArray = text.Split('\n');
        foreach (string str in strArray) {
            Debug.Log(str);
        }
    }
}

2) Resourcesフォルダのテキストアセットから、テキストを読み取る場合

using UnityEngine;
 
public class ExampleClass : MonoBehaviour {
    private TextAsset asset;  // Resourcesフォルダのテキストアセットから、テキストを読み込む
    private string text;

    void Start() {
        asset = (TextAsset)Resources.Load("sample");  // sampleという名前のテキストアセット
        text = asset.text;
        string[] strArray = text.Split('\n');
        foreach (string str in strArray) {
            Debug.Log(str);
        }
    }
}


マイブログへようこそ♪
PLEASANT_DRAGON

2DCG&3DCG,プログラミング,
日記などを掲載中☆

(*´▽`*)コメント大歓迎です☆

最新記事
記事一覧

全ての記事を表示する

カテゴリ
SAI (0)
mi (2)
C (1)
C++ (1)
C# (0)
VBA (0)
月別アーカイブ
最新コメント
RSSリンクの表示
リンク
FC2ブログランキング

FC2Blog Ranking

ピックアップ商品1♪










カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
ブログ内検索フォーム
プロフィール

エクレア

Author:エクレア


  • 2DCG&3DCGの創作活動をしています。

  • SF系のメカが大好物。

アクセスカウンター
Twitter
ピックアップ商品2♪