Unity3D 开发技巧

视频教程:

Unity3D 开发技巧分享,你可能不知道的小知识


Unity中文课堂教程地址:

Unity3D开发-你可能不知道的知识 | Unity 中文课堂


Start 函数可以用协程

默认协同函数 Start 可将 void 改为IEnumerator 作为协程启动

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StartTimer : MonoBehaviour
{private IEnumerator Start(){Debug.Log("Step1 :" + Time.time);yield return null;//一帧之后做一些事情Debug.Log("Step2 :"+Time.time);yield return new WaitForSeconds(1f);//延迟之后做一些事情Debug.Log("Step3 :" + Time.time);}
}

Inspector面板 显示私有属性

私有属性为灰色,运行时按下alt键时 显示脚本中命名

使用 Properties 面板

脚本右键 选择Properties

Inspector面板 显示自定义脚本属性

属性前加入 [field: SerializeField]


以上方法依然适用于接口

创建接口IDanageable

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public interface IDanageable
{ float MaxHealth { get; set; }float CurrentHealth { get; set; }void Damage(float danageAmount);void Die();
}

实现接口,想要显示的属性标记 [field :SerializeField ]

 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Enemy : MonoBehaviour,IDanageable
{[field :SerializeField ]public float MaxHealth { get; set; }public float CurrentHealth { get; set ; }public void Damage(float danageAmount){   }public void Die(){}}

脚本属性面板显示HDR

默认声明的 Color 是不能使用HDR

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ColorStuff : MonoBehaviour
{[ColorUsage(true,true)][SerializeField]private Color _SpriteColor;
}

属性前加 [ColorUsage(true,true)]

快速删除Inspector 组件的属性

点击属性后 按下键盘退格键可变为null

Inspector面板可进行数学运算

Alt +鼠标左键可快速最大化最小话窗口

代码添加注释

 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SummaryScript : MonoBehaviour
{/// <summary>/// 函数注释/// </summary>public void Function(){ }/// <summary>///  函数注释///  函数注释2/// </summary>/// <param name="data">数据1</param>/// <param name="data2">数据2</param>public void Function(string data,float data2)  {}
}

函数前输入///后 输入注释 ,其余脚本调用时可查看

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ScriptToCallFunction : MonoBehaviour
{private SummaryScript _summaryScript;private void Start(){_summaryScript = GetComponent<SummaryScript>();_summaryScript.Function();}
}

使用 #region #endregion 折叠代码

 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SummaryScript : MonoBehaviour
{/// <summary>/// 函数注释/// </summary>public void Function(){ }#region 折叠的注释/// <summary>///  函数注释///  函数注释2/// </summary>/// <param name="data">数据1</param>/// <param name="data2">数据2</param>#endregionpublic void Function(string data,float data2)  {}
}

代码批量修改

按下键盘Alt键+鼠标左键和进行批量选择

按下 Shift + ALT 键 鼠标点击开头和结尾也可批量操作

键盘 ALT +Ctrl +鼠标左键可控制不同垂直位置的光标

使用 ?. 可代替 !=null

创建物体时默认坐标归零

Edit -> Preferences -> Scene Wiew ->Create Objects at Origin

以固定定距离移动物体

设置固定移动量

按下Ctrl +Shift 点击物体的轴可以固定距离移动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/883365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多层感知机的从零实现与softmax的从零实现(真·0000零基础)

今天再读zh.d2l书&#xff08;4.2. 多层感知机的从零开始实现 — 动手学深度学习 2.0.0 documentation&#xff09;&#xff0c; 看了关于多层感知机的从零实现与softmax的从零实现 目录 mlp从零实现&#xff0c; 点击“paddle”的代码 点击“torch”的代码 训练 参数解…

网络爬虫-Python网络爬虫和C#网络爬虫

爬虫是一种从互联网抓取数据信息的自动化程序&#xff0c;通过 HTTP 协议向网站发送请求&#xff0c;获取网页内容&#xff0c;并通过分析网页内容来抓取和存储网页数据。爬虫可以在抓取过程中进行各种异常处理、错误重试等操作&#xff0c;确保爬取持续高效地运行 1、Python网…

DataSophon集成ApacheImpala的过程

注意: 本次安装操作系统环境为Anolis8.9(Centos7和Centos8应该也一样) DataSophon版本为DDP-1.2.1 整合的安装包我放网盘了: 通过网盘分享的文件&#xff1a;impala-4.4.1.tar.gz等2个文件 链接: https://pan.baidu.com/s/18KfkO_BEFa5gVcc16I-Yew?pwdza4k 提取码: za4k 1…

C#与C++交互开发系列(十二):托管和非托管内存管理策略

前言 在进行C#与C互操作开发时&#xff0c;内存管理是一个非常重要的环节。由于C#采用托管内存管理&#xff08;由垃圾回收机制GC控制&#xff09;&#xff0c;而C则使用手动内存管理&#xff08;需要开发者负责分配和释放内存&#xff09;&#xff0c;因此跨语言调用时&#…

光耦的应用

什么是光耦 光耦是一种实现信号隔离的元器件&#xff0c;通常用于各部分电路之间&#xff0c;使其不互相受到影响。 工作原理 光耦是由一个发光二极管和一个光敏三极管封装而成的。其使用原理为&#xff1a; 当发光二极管有信号输入时&#xff0c;则会被点亮&#xff0c;此时…

PHP-FPM 性能配置优化

4 核 8 G 服务器大约可以开启 500 个 PHP-FPM&#xff0c;极限吞吐量在 580 qps &#xff08;Query Per Second 每秒查询数&#xff09;左右。 Nginx php-fpm 是怎么工作的&#xff1f; php-fpm 全称是 PHP FastCGI Process Manager 的简称&#xff0c;从名字可得知&#xff…

OJ在线编程常见输入输出(java版本)

基础知识 BufferedReader 概述 BufferedReader是Java I/O中的一个类&#xff0c;它是一个带缓冲区的字符输入流&#xff0c;用于从字符输入流中读取字符。它提供了一种逐行读取文本文件的方法&#xff0c;可以轻松地读取大量文本数据&#xff0c;并且可以通过使用缓冲区来提…

基于SSM的“众优”大学生家教平台的设计与实现

前言 对于当今社会的人们来说&#xff0c;互联网技术是必不可少的&#xff0c;随着经济和技术的不断发展&#xff0c;计算机已经深入到各个领域。“众优”大学生家教平台将人们的时间需求与计算机技术结合起来&#xff0c;架起一座桥梁&#xff0c;使用在线查看“众优”大学生…

设计模式讲解

设计原则 单一职责原则 > 一个对象应该只包含单一的职责&#xff0c;并且该职责被完整地封装在一个类中 > //一个人类 public class People {/*** 人类会编程*/public void coding(){System.out.println("int mian() {");System.out.println(" print…

CI/CD 流水线系统-开源框架Tekton

文章目录 CI/CD 流水线系统-开源框架Tekton什么是TektonTekton优点Tekton 组件介绍Tekton 概念术语 CI/CD 流水线系统-开源框架Tekton 什么是Tekton 官网&#xff1a;https://tekton.dev/ Tekton 是一个强大、灵活的构建 CI/CD 流水线系统的开源框架,允许开发者构建、测试和…

【牛客算法】某司面试算法题:循环右移二叉树

一、算法题描述 1.1 算法描述 现有一棵n个节点构成的二叉树&#xff0c;请你将每一层的节点向右循环位移k位。某层向右位移一位(即k1)的含义为&#xff1a; 若当前节点为左孩子节点&#xff0c;会变成当前节点的双亲节点的右孩子节点。 若当前节点为右儿子&#xff0c;会变成…

直播系统源码技术搭建部署流程及配置步骤

系统环境要求 PHP版本&#xff1a;5.6、7.3 Mysql版本&#xff1a;5.6&#xff0c;5.7需要关闭严格模式 Nginx&#xff1a;任何版本 Redis&#xff1a;需要给所有PHP版本安装Redis扩展&#xff0c;不需要设置Redis密码 最好使用面板安装&#xff1a;宝塔面板 - 简单好用的…

springboot中redis并发锁的等待时间设置长短

问题&#xff1a;等待时间我设置的大一点&#xff0c;还是立刻抛出错误不等待&#xff1b;个人是觉得要立刻抛出错误&#xff0c;首先如果同一把锁并发量太大&#xff0c;没有限流&#xff0c;会造成服务器连接数立刻达到最大连接数&#xff0c;服务不可用&#xff1b;其次等待…

Android——事件冲突处理

当我们给列表的item设置了点击事件后&#xff0c;又给item中的按钮设置了点击事件&#xff0c;此时item的点击事件会失效。 解决 给item的布局xml中设置以下属性 android:descendantFocusability"blocksDescendants"<LinearLayout xmlns:android"http://sc…

HT7181 16.8V,14A高效升压转换器

1、特征 输入电压范围:2.7V-16V 输出电压范围:最高16.8V 固定开关频率:360kHz 可编程峰值电流:14A 高转换效率: 94% (VIN 7.2V, VOUT9.3V, IOUT1.5A) 90% (VIN 7.2V, VOUT9.3V, IOUT 7A) 93% (VIN 7.2V, VOUT12V, IOUT 1.5A) 90% (VIN 7.2V, VOUT12V, IOUT 5.5A) 90% (VIN …

电脑磁盘再次分区

如何把c盘变成一个大的盘&#xff1f; 给电脑的C盘扩容通常涉及到调整硬盘分区的大小&#xff0c;这可以通过多种方法实现&#xff0c;以下是一些常见的步骤&#xff1a; 1. **使用磁盘管理工具**&#xff1a; - 在Windows系统中&#xff0c;可以使用内置的磁盘管理工具来调整…

220V降12V1A恒流点灯WT5112

220V降12V1A恒流点灯WT5112 芯片特点 高精度恒流输出&#xff1a;WT5112 是一款适用于非隔离降压型恒流 LED 驱动芯片。在 220V 降 12V、1A 恒流点灯应用中&#xff0c;它能够提供高精度的恒流输出。其恒流精度通常可以达到 3% - 5% 左右&#xff0c;这对于 LED 灯的稳定发光非…

从Docker容器中备份整个PostgreSQL

问题 现在需要从Docker容器中备份整个PostgreSQL后&#xff0c;然后&#xff0c;使用备份文件在另外一个pg的docker容器中恢复过来。 步骤 备份旧容器中的PG # 登录到旧的PG容器中 docker exec -it postgres bash # 备份数据库 pg_dumpall -c -U postgres > dump_date %…

安卓基础001

前言 也是好久没有更新博客了,最近实习也是需要学习一些知识哈哈哈哈哈哈为了更好的发展嘛,咱们从客户端开始,过程可能有点像写前端,不喜勿喷,希望在学习的过程中也可以给大家带来一些简单得帮助吧....... tips:这里跳过安卓studio安装,大家可自行寻找教程 写的不详细,只是为了…

Zookeeper面试整理-源码及实现细节

Zookeeper 的源码和实现细节是理解其高可用性、分布式一致性和高效性的关键。以下是 Zookeeper 的核心实现细节,涵盖其架构、关键模块、以及具体的代码实现机制。 1. Zookeeper 架构 Zookeeper 采用 Leader-Follower 架构,集群由多个节点组成。主要分为三种角色:Leader、Fol…