목차

VS 2010 이 실행되지 않을때

Application.persistentDataPath

/Users/<UserName>/Library/Application Support/<ApplicationName>/ 
/Users/<UserName>/Library/Application Support/<CompanyName>/<ApplicationName>/

VS 2010 이 실행되지 않을때

Visual Studio를 기본 에디터로 선택했지만, 제대로 실행되지 않고 mono가 실행된다면

확인하는 방법은,

기다려서 Visual Studio가 실행된다면, Visual Studio 실행이 느려서 그런 것인데..

이런 경우 어떤 파일을 지우면 되더라. (어떤 역할의 파일인지는 모른다.)

이래도 잘 안되는 경우,

devenv /ResetSettings

Visual Studio 를 리셋한다.

만약 이걸로도 안되면, 전부 재설치 하는 수 밖에.

Transform 에 world transform 추가

NGUI를 사용하는 경우

NGUITransformInspector.cs 파일을 연다.

// 아래 구문을 EditorGUIUtility.LookLikeControls(15f); 다음 문장에 추가
public override void OnInspectorGUI()
{
Vector3 wpos;
// World Position
EditorGUILayout.BeginHorizontal();
{
	if (DrawButton("W", "Reset World Position", IsResetPositionValid(trans), 20f))
	{
		NGUIEditorTools.RegisterUndo("Reset World Position", trans);
		trans.position = Vector3.zero;
	}
	wpos = DrawVector3(trans.position);
}
EditorGUILayout.EndHorizontal();
 
// 그 다음..
 
// If something changes, set the transform values
if (GUI.changed)
{
  // 다음 코드를 추가 (undo용)
  trans.position = Validate(wpos);
}
}

일반

아래 코드는 왜 안먹히는거지… 되어야하는데.

using UnityEngine;
using UnityEditor;
using System.Collections;
 
[CustomEditor(typeof(Transform))]
public class WorldTransformInspector : Editor
{
  public override void OnInspectorGUI()
  {
    Transform t = (Transform)target;
    bool useMyTransformInspector = true;
 
    if( useMyTransformInspector )
    {
      EditorGUIUtility.LookLikeControls();
      EditorGUI.indentLevel = 0;
      Vector3 position = EditorGUILayout.Vector3Field("Position", t.localPosition);
      Vector3 wposition = EditorGUILayout.Vector3Field("World Position", t.position);
      Vector3 eulerAngles = EditorGUILayout.Vector3Field("Rotation", t.localEulerAngles);
      Vector3 scale = EditorGUILayout.Vector3Field("Scale", t.localScale);
      EditorGUIUtility.LookLikeInspector();
 
      if (GUI.changed)
      {
        Undo.RegisterUndo(t, "Transform Change");
        t.localPosition = FixIfNaN(position);
        t.position = FixIfNaN(wposition);
        t.localEulerAngles = FixIfNaN(eulerAngles);
        t.localScale = FixIfNaN(scale);
      }
    }
    else {
      this.DrawDefaultInspector();
    }
  }
 
  private Vector3 FixIfNaN(Vector3 v)
  {
    if (float.IsNaN(v.x))
      v.x = 0;
    if (float.IsNaN(v.y))
      v.y = 0;
    if (float.IsNaN(v.z))
      v.z = 0;
    return v;
  }
}

VS2010 에 shader 구문 컬러링 (Syntax Highlighting)

from : http://forum.unity3d.com/threads/108995-Tutorial-How-to-use-NShader-with-Unity-shaders

  1. 폴더이동 : <MSVS2010 DIR>Common7\IDE\Extensions\Alexandre Mutel\NShader\<VERSION>
    1. ex : C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Alexandre Mutel\NShader\1.3
  2. NShader.pkgdef 파일 열기
  3. .shader 에 대한 내용 추가
    아래 구문을 찾는다, 파일 첫 부분에 있다.
      "CodeBase"="$PackageFolder$\NShader.dll"
    
    위의 구문 아래 줄에 아래 내용을 버젼에 맞게 추가.
      <for NShader 1.2>
      [$RootKey$\Languages\File Extensions\.shader]
      @="{479b8c71-c9de-3669-869d-ae1d91602d7c}"
      <for NShader 1.3>
      [$RootKey$\Languages\File Extensions\.shader]
      @="{4c554917-0eb7-3742-9f6b-f2f529fc6729}"

VS2012

확장팩 위치 :

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\2oejd5m0.hij\NShader.pkgdef

“2oejd5m0.hij” 폴더가 랜덤인지, 만들어진 것인지는 모르겠다.

 Microsoft Visual Studio 11.0\Common7 

폴더를 검색해서 NShader.pkgdef 파일을 찾아서 수정.