|
|
(同じ利用者による、間の41版が非表示) |
行1: |
行1: |
− | ==3D_Helloworld==
| + | [[unity/3d/基本]] |
− | #新規プロジェクトで3Dを選択
| + | |
− | #Hieraruchyで3Dオブジェクト/cubeを選択
| + | |
− | #cubeを(0, 0, 0)を選択
| + | |
| | | |
− | ==重力&衝突追加==
| + | [[unity/3d/Prefab]] |
− | # 地面となる板を追加するために3Dオブジェクト/Planeを追加
| + | |
− | # 3Dオブジェクト/cubeを選択し追加
| + | |
− | # cubeを選択し、Inspectorの最下のAddComponentからPhysics/Rigidbodyを選択
| + | |
− | # cubeの衝突のComponent(Colinder)はもともとついてるので何もしなくて良い。
| + | |
| | | |
− | ==Prefabで複製を作成する==
| + | [[unity/3d/アニメーション]] [dir] |
− | 例としてcubeを複製
| + | |
− | # Hieraruchyに3Dオブジェクト/cubeを選択し追加
| + | |
− | # Project(Assetsの下に)にResourcesディレクトリを作成する
| + | |
− | # cubeをResourcesディレクトリへドラッグする
| + | |
− | 以下コードで複製できる
| + | |
− | for (int i = 0; i < 100; i++) {
| + | |
− | float x = Random.Range(-5.0f, 5.0f);
| + | |
− | float y = i * 2 - 4f;
| + | |
− | float z = Random.Range(-5.0f, 5.0f);
| + | |
− | GameObject prefab = (GameObject)Resources.Load("Sphere");
| + | |
− | Vector3 position = new Vector3(x, y, z);
| + | |
− | GameObject obj = Instantiate(prefab, position, Quaternion.identity);
| + | |
− | obj.name = "sphere" + i;
| + | |
− | }
| + | |
| | | |
− | Resourcesディレクトリはオブジェクトを読込時に使われるディレクトリ名でunityのルールらしい。
| + | [[unity/3d/FPS]] |
| | | |
− | ==Prefabで複製したものを削除==
| + | [[unity/3d/Fbx]] |
− | List<GameObject> list_obj = new List<GameObject>();
| + | |
− | for (int i = 0; i < 100; i++) {
| + | |
− | float x = Random.Range(-5.0f, 5.0f);
| + | |
− | float y = i * 2 - 4f;
| + | |
− | float z = Random.Range(-5.0f, 5.0f);
| + | |
− | GameObject prefab = (GameObject)Resources.Load("Sphere");
| + | |
− | Vector3 position = new Vector3(x, y, z);
| + | |
− | GameObject obj = Instantiate(prefab, position, Quaternion.identity);
| + | |
− | }
| + | |
− | list_obj.Add(obj);
| + | |
| | | |
− | // 削除チェック
| + | [[unity/3d/画面奥スクロール]] |
− | for (int i = 0; i < list_obj.Count; i++)
| + | |
− | {
| + | |
− | GameObject obj = list_obj[i];
| + | |
− | if (obj == null) {
| + | |
− | continue;
| + | |
− | }
| + | |
− | if (obj.transform.position.y < -10) {
| + | |
− | Destroy(list_obj[i]);
| + | |
− | Debug.Log("削除 i=" + i);
| + | |
− | }
| + | |
− | }
| + | |
− | ==アタッチオブジェクトのcanvasの位置==
| + | |
− | SetParentを使う
| + | |
− | <pre>
| + | |
− | GameObject rObject;
| + | |
− | GameObject rouletteImage;
| + | |
− | GameObject prefab = (GameObject)Resources.Load("RObject");
| + | |
− | Vector3 position = new Vector3(
| + | |
− | rouletteBackImage.transform.localPosition.x,
| + | |
− | rouletteBackImage.transform.localPosition.y,
| + | |
− | rouletteBackImage.transform.localPosition.z - 0.2f);
| + | |
− | GameObject rObject = Instantiate(prefab, position, Quaternion.identity);
| + | |
− | rObject.transform.SetParent(rouletteImage.transform);
| + | |
− | rObject.name = "RObject" + angle;
| + | |
− | </pre>
| + | |
| | | |
| + | [[unity/3d/2dから3dシーン変換]] |
| | | |
− | もしくはInstantiateの第4パラメータを使う。
| + | [[unity/3d/3dから2dの座標変換]] |
− | GameObject obj = Instantiate(prefab, position, Quaternion.identity, rouletteBackImage.transform);
| + | |
| + | [[unity/3d/2dから3dの座標変換]] |
| + | |
| + | [[unity/3d/グローバルとローカル座標変換]] |
| + | |
| + | [[unity/3d/カメラを揺らす]] |
| + | |
| + | [[unity/3d/Assetstore]] |
| + | |
| + | [[unity/3d/回転]] |
| + | |
| + | [[unity/3d/透明]] |
| + | |
| + | [[unity/3d/一定移動]] |
| + | |
| + | [[unity/3d/3DText]] |
| + | |
| + | [[unity/3d/3D画像]] |
| + | |
| + | [[unity/3d/キャラクタ移動]] |
| + | |
| + | [[unity/3d/視点操作]] |
| + | |
| + | [[unity/3d/ターゲットに近づく]] |
| + | |
| + | [[unity/3d/向き]] |
| + | |
| + | [[unity/3d/collider]] |
| + | |
| + | [[unity/3d/rigidbody]] |
| + | |
| + | [[unity/3d/ポリゴン]] |
| + | |
| + | [[unity/3d/Terrain]] |
| + | |
| + | [[unity/3d/2点間角度]] |
| + | |
| + | [[unity/3d/クリック]] |
| + | |
| + | [[unity/3d/太陽移動]] |
| + | |
| + | [[unity/3d/ゆっくり移動]] |
| + | |
| + | [[unity/3d/敵の動き]] |
| + | |
| + | [[unity/3d/音]] |