2、unity资源

unity本身有Aircraft包,可以做仿真飞行器

比较旧的教程:

新的继续找


3、using UnityEditor;   之后无法Build

`UnityEditor' could not be found Are you missing a using directive or an assembly reference?

因为UnityEditor只是控制unity面板的,编译时会自动忽略,而真正要发布的程序也用不着它,只是在测试时用过,删掉即可。


参考:

Unity Editor这个类是用来给Unity 的Inspector窗口做开发的,就是Unity开发辅助类,是无法编译进可运行的程序的。
Unity在编译成可使用的应用程序时会自动剔除关于Unity Editor的所有类。你可以注意到你的Monodevelop里面分两个层级,一个是Editor,一个是程序类。另外所有的unity editor类都是在Editor文件夹里面。
对于你的问题,你一般是通过UnityEditor预先处理某些数据,我也有碰到过类似问题,后来通过新建一个数据保存类,把他的结果自动保存到一个Prefab中,在程序运行时读取。问题就解决了,总之你的主要应用程序,不能在运行过程中用到Unity Editor的API。




4、发布编译


 

build之前,需要添加需要的场景scene


选择平台之前,要安装相应的平台支持包




5、颜色类


 

颜色描述类 color
  




6、Object reference not set to an instance of an object


未将对象引用到对象的实例.

也就是没有实例化一个对象。



当声明了变量,但是没有赋值,仍然为null.用的时候就会报错.



1)我喜欢的解决方法:通过GameObject.Find("ObjectName").GetComponent<ScriptName>().MMember;


即两个绑定不同GameObject的Script之间通信,其中MMember为成员字段的属性




2)参考:


在编辑器里面拖动,来持有这个对象去调用对应的函数


Main脚本去调用A脚本。我们就在Main 写一个A对象。

 public Ascript ascript_;

GameObject.Find("ObjectName").SendMessage("函数名");  此种方法可以调用public和private类型函数

4)被调用脚本函数为static类型,调用时直接用  脚本名.函数名()




8、Unity3d 脚本执行顺序


官方执行顺序的解析:


Edit -> Project Settings -> Script Execution Order可以设置脚本顺序,点击右下角的"+"将弹出下拉窗口,包括游戏中的所有脚本。脚本添加完毕后,可以用鼠标拖动脚本来为脚本排序,脚本名后面的数字也越小,脚本越靠上,也就越先执行。其中的Default Time表示没有设置脚本的执行顺序的那些脚本的执行顺序。





9、Unity制作高度图


用Photoshop来制作Raw文件即可,参考:百度经验https://jingyan.baidu.com/article/5553fa82cf0aa165a3393410.html


 






10、 TerrainData解析

 



11、一般地形创建


 



12、动态地形创建