Unity编辑器中对象属性定制技巧解析

更新:11-03 神话故事 我要投稿 纠错 投诉

1. 创建两个新的C# 代码脚本,一个名为NPC,另一个名为NPCEditor。并创建一个名为Editor的新文件夹并将NPCEditor脚本放入其中。如图1-1所示

2、NPC脚本的代码如图2-1所示

3、NPCEditor的脚本如下:

[csharp]查看纯文本

打印?

使用Unity引擎;

使用UnityEditor;

使用System.Collections;

[自定义编辑器(typeof(NPC))]

publicclassNPCEditor:Editor{

//声明脚本对象

私有序列化对象npc;

//声明属性值

私有序列化属性mynpc;

privatestaticboolfolds=false;

私人NPC目标

{获取{返回(NPC)目标;}}

//UI显示处理,任意数量数组的加减处理

私有静态GUI内容

insertContent=newGUIContent("+","duplicatethisnpc"),

deleteContent=newGUIContent("-","deletethnpc");

//限制按钮的宽度

privatestaticGUILayoutOption

按钮宽度=GUILayout.MaxWidth(20f);

voidOnEnable()

{

//给脚本对象和属性赋值

npc=newSerializedObject(目标);

mynpc=npc.FindProperty("mynpc");

}

publicoverridevoidOnInspectorGUI()

{

npc.Update();

EditorGUILayout.Space();

GUI.changed=false;

//创建NPC

folds=EditorGUILayout.BeginToggleGroup("创建NPC",folds);

如果(折叠)

{

EditorGUILayout.Space();

//保证对象数量为0时可以添加。

if(GUILayout.Button(insertContent,EditorStyles.miniButtonLeft,buttonWidth))

{

mynpc.arraySize=1;

}

//根据对象数组的长度,循环创建新的npc

为(inti=0;我

{

SerializedPropertynpc_s=mynpc.GetArrayElementAtIndex(i);

EditorGUILayout.BeginVertical();

EditorGUILayout.PropertyField(npc_s.FindPropertyRelative("id"));

EditorGUILayout.PropertyField(npc_s.FindPropertyRelative("name"));

EditorGUILayout.PropertyField(npc_s.FindPropertyRelative("pos_x"));

EditorGUILayout.PropertyField(npc_s.FindPropertyRelative("pos_y"));

EditorGUILayout.BeginHorizontal();

//增加

if(GUILayout.Button(insertContent,EditorStyles.miniButtonLeft,buttonWidth)){

mynpc.InsertArrayElementAtIndex(i);

}

//减少

if(GUILayout.Button(deleteContent,EditorStyles.miniButtonRight,buttonWidth)){

mynpc.DeleteArrayElementAtIndex(i);

}

EditorGUILayout.EndHorizontal();

EditorGUILayout.EndVertical();

}

if(GUILayout.Button("更新"))

{

//这里可以编写处理数据的脚本

}

npc.ApplyModifiedProperties();

}

EditorGUILayout.EndToggleGroup();

}

}

文章分享结束,Unity编辑器中对象属性定制技巧解析和的答案你都知道了吗?欢迎再次光临本站哦!

用户评论

坏小子不坏

Unity 编辑器真是方便啊,编辑对象的属性一目了然!

    有20位网友表示赞同!

良人凉人

对游戏玩法和视觉效果很重要的一点就是调整物件属性。

    有16位网友表示赞同!

妄灸

学了一点Unity,发现修改属性比想象中简单很多。

    有14位网友表示赞同!

柠栀

之前用别的软件觉得调属性很麻烦,Unity真棒!

    有15位网友表示赞同!

将妓就计

想想以前一点一点手动改代码修改属性,现在简直轻松多了。

    有12位网友表示赞同!

灬一抹丶苍白

学习一个新的游戏引擎里,了解编辑器对对象属性的编辑确实挺关键的。

    有18位网友表示赞同!

无关风月

通过编辑器调整属性,可以创造出不同的游戏体验。

    有13位网友表示赞同!

野兽之美

越来越觉得Unity的界面设计简洁明了,属性设置好方便!

    有9位网友表示赞同!

煮酒

看视频教程中,很多高手就是通过巧妙地调整属性来实现各种特效。

    有16位网友表示赞同!

温柔腔

属性编辑功能对于细节的调整非常重要,让游戏更加逼真。

    有15位网友表示赞同!

无所谓

感觉Unity学习曲线还是比较陡峭的,因为属性设置那么多选择...

    有6位网友表示赞同!

服从

希望未来Unity的编辑器能够更加智能化,自动生成一些属性配置。

    有8位网友表示赞同!

♂你那刺眼的温柔

不同的游戏对象需要不同的属性设置,这挺考验设计思想的。

    有5位网友表示赞同!

◆残留德花瓣

属性编辑器功能丰富,还能自定义脚本,非常强大!

    有9位网友表示赞同!

清原

学习Unity编辑器的同时,也要学习相关的编程知识才能更自由地操作属性。

    有17位网友表示赞同!

陌颜幽梦

发现很多游戏小细节都是通过属性设置来完成的,真佩服那些游戏开发者!

    有16位网友表示赞同!

旧爱剩女

属性编辑功能是unity最让人折服的地方,可以做成任何你想做的东西!

    有12位网友表示赞同!

你的眸中有星辰

还在学Unity,希望以后能轻松驾驭所有的属性设置。

    有15位网友表示赞同!

【Unity编辑器中对象属性定制技巧解析】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:探寻梦境之旅:他与我共享的奇妙梦境 下一篇:淘宝天猫优惠券免费领取,入口一览及领取方法详解