Skip to content

Instantly share code, notes, and snippets.

@tsubaki tsubaki/CubeImporter.cs
Last active Dec 13, 2017

Embed
What would you like to do?
キューブ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor.Experimental.AssetImporters;
using System.IO;
using UnityEditor;
using UnityEngine.Assertions;
using System.Linq;
[ScriptedImporter(1, "cube")]
public class CubeImporter : ScriptedImporter
{
public override void OnImportAsset(AssetImportContext ctx)
{
// 紐付けるGameObjectを作成する
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.localScale = new Vector3(1, 1, 1);
var material = new Material(Shader.Find("Standard"));
material.name = "Cube Material";
cube.GetComponent<MeshRenderer> ().material = material;
// オブジェクトを登録する
ctx.AddObjectToAsset("CUBE", cube);
ctx.AddObjectToAsset(material.name, material);
ctx.SetMainObject(cube);
// JSONのデータを元に登録したGameObjectの設定を上書きする
try
{
var scale = JsonUtility.FromJson<Vector3>(File.ReadAllText(ctx.assetPath));
cube.transform.localScale = scale;
}catch (System.Exception e) {
Debug.LogError (e.Message, cube);
}
}
}
@tsubaki

This comment has been minimized.

Copy link
Owner Author

commented Dec 13, 2017

animation 61

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.