unity学习之Unity3D 脚本常用方法快速参考

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
Unity3D脚本参考 该文章出自 【狗刨学习网】 http://www.gopedu.com/

Object类

Unity所涉及的所有物体的基类。任何从Object继承的公有变量将作为一个目标显示在监视面板中,允许你从GUI中设置。
变量
◆ var hideFlags : HideFlags 描述:该物体是否被隐藏,保存在场景中或被用户修改。
◆ var name : string

描述:对象的名称。组件与游戏物体和所有附加的组件共享相同名称。
//改变物体的名称为Hello
name = "Hello";

函数
◆ function GetInstanceID () : int 描述:返回该物体的实例id。一个物体的实例ID总是唯一。
描述:返回该物体的实例id。
一个物体的实例id总是唯一的。
print(GetInstanceID());

类方法
◆ static function Destroy (obj : Object, t : float = 0.0F) : void
描述:移除一个游戏物体,组件或资源。物体obj将被小火或者t秒后被销毁。如果obj是一个Component它将被从GameObject中移除。如果obj是一个GameObject它将销毁这个GameObject,以及它的组件和所子对象。实际的销毁总是推迟到下个Update来临时,但总在渲染前完成。


//销毁这个游戏物体
Destroy (gameObject);
//从物体上移除该脚本
Destroy (this);
//从游戏物体上移除刚体组件
Destroy (rigidbody);
//加载该游戏物体后5秒删除
Destroy (gameObject, 5);
//当玩家按下Ctrl时移除名为FoooScript的脚本
function Update () {
if (Input.GetButton ("Fire1") && GetComponent (FooScript))
Destroy (GetComponent (FooScript));
}◆ static function DestroyImmediate (obj : Object, allowDestroyingAssets : bool = false) : void

描述:立即销毁物体。强烈建议使用Destroy代替它。该函数应该只在编写编辑器代码时使用,因为延迟的销毁将不会再编辑器模式调用。游戏代码中建议使用Destroy。Destroy总是延迟的(但是在同一帧执行)。小心使用该函数,因为它能永久的销毁资源。

◆ static function DontDestroyOnLoad (target : Object) : void
描述:加载新场景时确保物体target不被自动销毁。当加载一个新的关卡时,场景中的所有物体都会被销毁,然后心关卡中的物体将被加载。为了在关卡加载的时候保持物体在上面调用DontDestroyOnLoad。如果物体是一个组件或游戏物体,那么它的整个变换层次将不会被销毁。//保证该游戏物体及其变化子物体在载入新场景时不会被销毁。

function Awake () {
DontDestroyOnLoad (this);
}◆ static function FindObjectOfType (type : Type) : Object
描述:返回第一个类型为Type的已激活加载的物体。参见Object.FindObjectsOfType 。

◆ static function FindObjectsOfType (type : Type) : Object[]
描述:返回所有类型为Type的已激活加载的物体。 

参见Object.FindObjectsOfType 。
它将返回任何资源(网格、纹理、预设等)或已激活加载的物体。//当点击该物体,它将禁用场景中所有铰链中的弹簧。
function OnMouseDown () {
hinges = FindObjectsOfType (HingeJoint);
for (var hinge : HingeJoint in hinges) {
hinge.useSpring = false;
}
} c#版public class Something : MonoBehaviour{
void OnMouseDown(){
HingeJoint[] hinges = FindObjectsOfType();
for (HingeJoint hinge in hinges) {
hinge.useSpring = false;
}
}
}◆ static function Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
描述:克隆original物体并返回该克隆。防御position兵设置旋转为rotation,然后返回该克隆。本职上与cmd-d相同,并移动到给定位置。如果一个游戏物体、组件或脚本实例被传入,Instantiate将克隆整个游戏物体层次,所有的子对象也被克隆。所有游戏物体被激活。参加:预设实例化的深入讨论。//实例化预设的10个拷贝,间隔为2单位。

var prefab : Transform;
for (var i=0;i<10;i++) {
Instantiate (prefab, Vector3(i * 2.0, 0, 0), Quaternion.identity);
}Instantiate更多常用于实例化投射物、AI敌人,粒子爆炸或b破损的物体。//实例化一个刚体,然后设置速度。

var projectile : Rigidbody;
function Update () {
//按下ctrl时,发射一个物体
if (Input.GetButtonDown("Fire1")) {
//以该变化位置与旋转实例化投射物
var clone : Rigidbody;
clone = Instantiate(projectile, transform.position, transform.rotation);
//沿当前物体Z轴,给克隆体一个初始速度
clone.velocity = transform.TransformDirection (Vector3.forward * 10);
}
}实例化也能直接克隆脚本实例。整个游戏物体层级将被克隆,并且克隆脚本的实例将被返回。//初始化一个附加了Missile脚本的预设
var projectile : Missile;
function Update () {
//按下ctrl时,发射一个物体
if (Input.GetButtonDown("Fire1")) {
//以该变化位置与传转实例化投射物
var clone : Missile;
clone = Instantiate(projectile, transform.position, transform.rotation);
//设置火箭超市销毁为5秒
clone.timeoutDestructor = 5;
}
}克隆一个物体之后可以使用GetComponet来设置附加到克隆物体上的特定组件的属性。

◆ static function Instantiate (original : Object) : Object 

描述:克隆original物体并返回该克隆。这个函数保留克隆物体的位置与赋值命令相同(cmd-d)。//当任何刚体进入这个触发器时实例化预设。
//它保留预设的原始位置与旋转。
var prefab : Transform;
function OnTriggerEnter () {
Instantiate (prefab);
}◆ static operator != (x : Object, y : Object) : bool 
描述:比较两个物体是否不同。var target : Transform;
function Update (){
//如果target不同于我们的变换。
if (target != transform){
print("Another object"); 
}
Unity3D学习笔记#7_C#快速学习(在C++基础上) 文章目录参考文献 参考文献 阅读详情

相关推荐

Unity新手入门必备书籍和教程推荐

纵观整个游戏市场,Unity3D游戏开发已经称霸当下,Unity3D是一款3D游戏引擎,提供了3D游戏的大部分基础功能实现,比如物理碰撞、3D模型显示、光照等功能。市面上有超过一半以上的游戏,都是利用Unity游戏开发技术实现的。 成为时下不可或缺的游戏开发引擎。早在几年前,中国就有超过5000家的游戏公司和工作室使用Unity3D进行游戏开发。可以说Unity3D游戏开发,将成为未来几年的热门行业,就业前景十分乐观。这时候就有朋友问了,我想学Unity,那我买什么Unity的书好呢?在此,小编给...

m0_59795095的博客 1万+

unity3d 高级汽车材质效果 Car Paint - Pro 3.1

Car Paint Pro将帮助我们模拟任何类型的金属相关材质逼真的可视化,反光透明涂层,金属片与程序性片状工具,覆盖层,菲涅耳,基底光泽度和漫射,这个着色器主要被推荐用于高端工作站,要求Unity 5.5.0或更高版本。 特征: ▲本Pro Shader是一种具有四层的复合材料:基础漫射层,基础光泽层,反射涂层,覆盖层,菲涅耳层,金属薄片层和透明涂层。该材料允许分别调整这些层中的每一层。 ▲包含四个着色器。普通汽车涂料着色器具有“基础涂料”层和“反射涂层”层。还有一个着色器带有一个额外的“Overlay”图层,这可用于污垢,磨损和贴花。这两层都有透明和不透明的变体。 ▲着色器由不同的图层组成,每一层都有自己的照明和相关设置。 ▲汽车涂料着色器使用地图渲染碎片。为了简化这些地图的创建,该软件包包含一个用于在程序上生成这些地图的工具。

unity多人联机插件_【Unity3D插件】Photon Unity Networking(PUN)使用教程

一、前言Photon Unity Networking (PUN)是一种用于多人游戏的Unity软件包。灵活的匹配可以让玩家进入房间,可以通过网络同步对象。快速和可靠的通信是通过专用的Photon 服务器完成的,因此客户端连接不需要1对1。二、参考文章1、【PUN】Photon Unity Networking(PUN)的简单使用2、【Unity3D】 Photon多人游戏开发教程3、P...

weixin_39620370的博客 2491

unity常用的800脚本

总结出来的800常用Unity脚本分享给大家

运行时实例化prefabs

使用了官方文档给的例子,自己试着重新写一遍,学习一遍。以下链接为官网给的例子,也可以去官网相关文档上面下载。 链接:https://pan.baidu.com/s/1xlPmslZFHuvfXZzXb27dqQ 提取码:gjeg 在运行时实例化prefabs一般应用于以下几种情况: 1、使用多个预设体建立一个特定的结构形状。 例如使用立方体的预设体在运行时创建一堵墙。输入墙的高度和...

ayouayouwei 309

Unity学习(六):Unity中的实例化炮弹并设置速度

1. static function Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object  可用于prefab的拷贝。 // Instantiates 10 copies of prefab each 2 units apart from each other //实例化1

Less Is More 1万+

实例化问题

Object.Instantiate public static ObjectInstantiate(Objectoriginal); public static ObjectInstantiate(Objectoriginal,Vector3position,Quaternionrotation); //实例化Prefab 例1: p...

aoxieju7994的博客 198

unity常用方法

脚本的生命周期:一个脚本挂在某个物体之后所要经历的方法(自动调用)   1.Reset():编辑阶段 2.Awake()脚本加载时执行方法,执行一次,常用来对字段进行初始化 3.OnEnable()脚本是否可用?如果脚本可用,执行此方法 4.Start():开始阶段,在Update之前执行一次此方法常用来获取游戏对象、组件 5.FixedUpdate():每帧执行一次,操作物理引...

qq_39825899的博客 1970

Unity3D中文脚本参考手册(文本版)

在本章中,我们将揭开Unity3D这台强大的游戏和3D应用开发引擎的神秘面纱。Unity3D凭借其跨平台、易用性以及强大的社区支持,被广泛应用于游戏开发、虚拟现实和增强现实等领域。我们会从Unity3D的核心功能开始介绍,逐步深入到其架构和工作原理。这将为接下来更深层次的学习打下坚实的基础。Unity3D允许开发者创建3D模型、动画、物理、光照、音效以及交互式的用户体验。其核心概念包括场景(Scene)、游戏对象(GameObject)、组件(Component)和预设(Prefab)。

weixin_42527589的博客 1204

Unity3d快速入门

https://www.zhihu.com/question/313621072 Unity3d如何快速入门 前言 进入一个领域,最直接有效的方法就是,寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括: 1、主流的学习社区与网站。 2、该领域的知名大牛与热心分享的从业者。 3、如何有效的激励自己持续学习—主要是动手实践 因此,总结一下 Unity 相关学习资源,可能有些不足,欢迎大家指正修改,一起成长! 授人与鱼,不如授人与渔! 一、Unity 官方学习资源 1、【Unity.

一根火柴博客 1197

从代码到游戏:startcraft-unity3d项目结构与核心脚本分析

startcraft-unity3d是一个基于Unity3D引擎重制经典RTS游戏《星际争霸》的开源项目。本文将带你深入了解该项目的文件组织结构、核心功能模块以及关键脚本实现,帮助你快速掌握项目架构和开发思路。 ## 项目整体结构概览 项目采用标准的Unity工程目录结构,主要分为以下几个核心文件夹: - **Assets/**:包含所有游戏资源,如场景、模型、纹理、脚本等 - **Pack

gitblog_00002的博客 483

Unity3D 2018 最新最全800脚本教程

810脚本教程,新手必备。 一部分的目录东西太多了 行为控制脚本 鼠标的路线 Unity3D教程:游戏玩家服务器的制作 Unity3D教程:实例化 JS脚本控制逐渐淡出的欢迎界面 Unity3D教程:界面插件NGUI的使用 (2) 脚本控制物体的变换 脚本的运行顺序研究 Unity3D教程:物体跟随鼠标点击处移动 Unity3D音乐开关与音量条 Unity3D教程:GUILayout.Window和GUI.Window的区别 在游戏中改变地形高度 教你如何创建unity3d多个定时器,以及定时器的其他操作 Unity3D使用LitJson解析服务器上的JSON IOS下文件保存和读取 Unity3D教程:游戏开发算法(二) ClickShowWindow 点击显示窗口 鼠标选中物体并拖动物体的方法 在触屏中如何用触摸获取场景中的三维物体啊? Unity3D教程:掌握多线程! Unity3D教程:制作简单小汽车游戏 OnGUI的视觉化编辑 unity3d角色血条 Unity3D格斗游戏运动特效 MenuItem自定义菜单项 Unity3D脚本:导弹追踪代码 Unity3D教程:UI自动适合屏幕分辨率 中慢动作与加速动作的实现 触屏选中Unity3D场 景中的GameObject对象代码

unity800脚本及使用方法.zip

在某宝淘来的,是一些笔记非常全面,种类非常多有的很基础也有很深入的,对我来说其中一些还有比较有帮助的

Unity脚本的800教程

unity的800脚本

Unity游戏引擎介绍及相关学习资源

Unity(游戏引擎)一般指Unity3D 官网: https://unity.com/ 手册:https://docs.unity3d.com/Manual/ Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,...

纸上得来终觉浅,绝知此事要躬行 1万+

从零开始做一款Unity3D游戏<一>——亲自上手使用Unity

本章包含许多对初学者来说很有趣的内容。虽然本书的重点在于 C#语言,但是花些时间来了解游戏开发的整体概念、开发文档以及 Unity 提供的无须编写脚本即可实现的功能也很重要。我们目前并没有深入介绍光照、动画、粒子系统等工具,但是如果你想继续开发Unity 项目,那么花些时间学习这些知识是值得的。下面将讲解的重点将回到编写 Hero Born 游戏的核心机制上,内容包含设置可移动的玩家对象、控制相机以及理解Unity的物理引擎是如何控制游戏世界的等等。基本演示。

m0_58367586的博客 1万+

Unity3D快速上手 EasyAR

Unity3D的AR所需插件 EasyAR下载和快速上手详细总结

weixin_43729127的博客 5167

Unity 常用快捷键

Unity 常用快捷键 工具栏 Ctrl Shift Alt 功能 Q Hand(手形)工具 可以平移整个Scene视图 W Translate(移动)工具 移动所选择的游戏对象 E Rotate(旋转)工具 按任意角度旋转游戏对象 R Scale(缩放)工具 缩放选中的游戏对象 T 横切面工具 可以沿着横截面缩放,沿着横截面的中心点旋转 Z Center工具 改变游戏对象的轴心点 X Local工具 改变物体的坐标

z2014z的博客 1万+

Unity3D学习笔记#5_Unity3D再次概览(更全面一点)

文章目录一、Unity认识再次补充①Unity的地位和模型支持②Unity项目发布到PC平台的方法Unity软件界面补充介绍 嗯,没错,我又换教程了!之前参考的两个教程虽然都不够全面,但是好歹帮助我对Unity3D有了初步的认识,快速实现了一些简单的小功能,培养了兴趣。人们都说,第一步往往是最困难的,因为你什么都不懂,遇到点问题就止步不前了,所以无论如何我感谢两位作者。本文开始主要参考C语言中文...

一棵孤独的树 2628
上一篇: Unity3D学习之_AI人工智能(坦克模型自动寻怪_自动追击)
下一篇: Unity3D Shader官方教程翻译Unity3D 的渲染管道
Carl180
博客等级 码龄12年 16粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值