【Unity】关于精灵物体创建的看法

【Unity中使用AI工具Muse生成sprite】 Muse Sprite 可以直接在Unity编辑器中即时生成2D艺术作品。只需几个简单的提示,您将在几秒钟内收到可修改的、场景就绪的精灵。 阅读详情

创建预制体精灵

优点:创建大量相同精灵,只用调用一个预制体精灵,避免了

计算机大量重复创建会导致过多的浪费

public GameObject preb;



新建精灵物体

优点:可以及时创建,使用几句代码就可以实现,不必拖拽预制体

如果每次创建新的精灵,每次拖拽预制体,是件非常麻烦的事情

导致编程人员大量不必要的冗余操作

  1. SpriteRenderer spr = gameObject.GetComponent<SpriteRenderer>();  //获得该脚本的精灵的组件<SpriteRenderer>
  2.           Texture2D texture2d = (Texture2D)Resources.Load("herominired");//创建一个图片变量,路径为Resource/herominired的文件
  3.           Sprite sp = Sprite.Create(texture2d,spr.sprite.textureRect,new Vector2(0.5f,0.5f));//注意居中显示采用0.5f值  //创建一个精灵(图片,纹理,二维浮点型坐标)
Unity核心2——Sprite ​ 我们可以利用 Sprite Editor 的多边形工具创造出各种多边形,Unity 也为我们提供了现成的一些多边形,它的主要作用是 2D 游戏的替代资源。​ 打开 Sprite Editor,可看见如下界面。​ 当我们的图片资源是图集时,我们需要在设置时将模式设置为 Multiple,这时我们可以使用 Sprite Editor 自带的功能进行图集元素分割。​ Sprite Mask 是精灵遮罩的意思,它的主要作用就是对精灵图片产生遮罩,制作一些特殊的功能,比如只显示图片的一部分让玩家看到。 阅读详情

相关推荐

【Unity入门计划】基本概念(6)-精灵渲染器 Sprite Renderer

学习了Unity引擎中的精灵渲染器Sprite Renderer的属性相关。

qq_41835314的博客 1万+

【Unity&UGUI】动态改变精灵物体的图片

Sprite Packer打包 动态改变精灵物体的图片 1.改变这个原有的精灵的图片 2.在资源库里面生成一个新的精灵 ---------1.改变这个原有的精灵的图片 首先在这个。CS文件类下面声明一个SpriteRenderer变量 private SpriteRenderer image; 在Start初始化函数里面,初始化上面声明

BuladeMian的博客,菜得抠脚,菜得真实 1万+

【Unity教程】如何动态更换精灵图片&在图集中更换精灵图片

参考文章:1.unity3d 更换sprite renderer中sprite的图片 2.制作精灵(UI Sprite) 3.Unity2D动态设置SpriteRender的Sprite(Multipe) 4.Unity3D的NGUI中如何在精灵中导入自定义的图片 5.Unity为Image组件动态添加sprite Spri

BuladeMian的博客,菜得抠脚,菜得真实 1万+

【Unity&NGUI&UGUI】2D精灵物体变色彩透明以及图片高亮变色的方法

使用到的是NGUI, 使用NGUI创建2D精灵 再为其创建一个子物体2D精灵 为这个父物体添加组件NGUI-TWEEN-ALPHA Tween Alpha的设置如下所示 从1不透明到0透明 Play Style :Ping Pong 循环 Duration:3 seconds经历的时间为3S 可以发现父物体下面的子物体也跟随着变透

BuladeMian的博客,菜得抠脚,菜得真实 1万+

【Unity精灵】2D精灵图片替换常见的问题

一开始就从大的方向建立起一堆逻辑代码,然而对于一个新手来说,大的逻辑是正确的 小的毛病很多,这就造成了很多小的逻辑的麻烦 替换精灵,如果精灵已经建立起来,并且有了标签tag的时候,遍历同一个标签的物体,将是最好的打算,然后在 把范围缩小,使得最后找到目标 动态更换物体的2D精灵最简单的两句代码 这个路径是Resources文件夹下面的ImageSprite/Bod

BuladeMian的博客,菜得抠脚,菜得真实 3629

【Unity教程】UGUI中如何动态生成精灵的几种方法

sprite.create()的方法在这篇文章中【Unity&UGUI】动态改变精灵物体的图片 本篇文章主要说sprite.Load()方法是如何新建精灵的 ---1.2D精灵物体的创建 这几行代码是创建2D精灵的主要代码,这几个代码都在start()函数中         //Transform EGO = Resources.Load("EmptyGO",t

BuladeMian的博客,菜得抠脚,菜得真实 6970

【Unity&精灵】如何通过已知道的坐标获取物体&动态生成墙壁

获得物体有几种方式: 1.通过父物体,遍历其子物体 2.通过GameObject.Find("物体名称") 3..通过GameObject.FindWithTag("物体标签名称") 4.通过射线检测 如果有大量相同(相同标签物体过多)的物体,采取方法1,2,3是行不通的,计算量太大 那么就可以通过第4种方法   射线检测, 一个房间里面  X,Y,Z 的3种坐标

BuladeMian的博客,菜得抠脚,菜得真实 5680

【Unity小技巧】拖动大量物体

怎么制作背包系统,可以参考下面两篇文章 【Unity】NGUI背包系统——背包整理按钮的实现 【Unity】NGUI背包系统——背包整理按钮的改进 技巧由SIKI的1_3_RPG游戏黑暗之光(视频+素材+工程源码)\第4章:任务系统\课时43:控制背包物品的管理.wmv 6:50秒把背包栏锁定,把大量子格子拖入物体组中 快速拖动大量精灵物体 建立背包精灵,和

BuladeMian的博客,菜得抠脚,菜得真实 1993

[Unity&精灵&对象]使用Instantiate,Resource.Load动态生成物体

使用Resource动态生成物体,参考 【Unity教程】UGUI中如何动态生成精灵的几种方法 声明     public GameObject BaseWall;//基础墙壁 运行 Instantiate(BaseWall,new Vector3(1,1,1), Quaternion.identity); 在(1,1,1)坐标生成一个旋转角度为0的Base

BuladeMian的博客,菜得抠脚,菜得真实 3635

【Unity&IUnity精灵&Unity物体】生成&控制大量物体的时间考究

生成控制大量物体考究 如果要控制大量的物体,这些物体所花的时间为多少 ----------------------------------------------------------准备 根据 参考资料1 获得代码执行时间的函数为 sw.Start();和sw.Stop();之间进行生成物体的函数,就可以获得当前函数代码执行的时间 Stopwatch sw = n

BuladeMian的博客,菜得抠脚,菜得真实 2215

unity强大的精灵动画系统(基于NGUI的扩展)

这是一套unity中强大的精灵动画系统(基于NGUI的扩展),直接使用NGUI图集方式,有独有的动画编辑系统,高效并快捷的编辑精灵动画,十分的强大。

恶意流量检测数据集

对当前公开的恶意流量相关数据集进行归类总结,持续更新相关论文

tyutwuxuan的博客 1935

【HCIA学习记录】WLAN配置实验

HCIA-WLAN

寸先生的AI道路 3863

【电磁场与电磁波课程设计】基于HFSS的双频微带天线仿真及设计

第五代移动通信技术(5G)的商用已经近在眼前,作为移动通信中最为重要的功能组件,面向5G通信应用的手机天线与基站天线的技术研究与设计成为近年来的热点。随着移动通信中“跳频”“扩频”等通信技术发展,为了满足与多个终端的通信要求,实现多系统共用和收发共用等功能,这就要求天线在不同频段下工作。根据国家工信部的最新规定,5G移动通信的中频段被划定在3.3 GHz-3.5 GHz及4.8 GHz-5.0 GH,面向5G移动通信的天线应具有高增益、小型化、宽频段及高隔离度等技术特征,以满足5G通信的高传输速率、波束智能

weixin_44450575的博客 1万+

Innovus中_clock_gen skew group的隐藏陷阱:如何避免自动分组导致的时序问题

本文深入剖析了在Innovus工具进行时钟树综合(CTS)时,`_clock_gen` skew group自动分组机制可能引发的隐蔽时序问题。文章通过实际案例,解释了该机制如何错误地将分频寄存器与配置寄存器归为一组,从而破坏时钟域边界并导致post-CTS时序违例,并提供了关闭自动提取、手动精确定义skew group等有效解决方案。

gpu4optimizer的博客 258

SocraticLM: Exploring Socratic Personalized Teaching with Large Language Models

大型语言模型(LLM)被认为是推进智能教育的一项关键技术,因为它们展示了深入理解教学场景和为学生提供个性化指导的潜力。然而,当前个性化教学中基于LLM的应用主要遵循“问答”范式,学生被动地获得答案和解释。在本文中,我们提出了苏格拉底式教学模式(SocraticLM ),它实现了一种苏格拉底式的“发人深省”的教学范式,实现了真正的课堂教师的角色,让学生积极参与到真正掌握解决问题所需的思考过程中。

weixin_43961909的博客 2877

【技能】OpenClaw Skills学习及手搓一个极简skill

本文介绍了OpenClaw Skills的基础概念与使用方法。Skills是OpenClaw代理使用工具的核心载体,通过SKILL.md文件定义技能属性和执行方式。技能加载遵循"工作区>本地>内置>自定义目录"的优先级规则。用户可通过ClawHub一键安装现成技能,也可自定义开发技能:创建技能目录,编写包含YAML元数据和执行指令的SKILL.md文件,放置于工作区skills目录进行测试。文章还介绍了多代理场景下的技能共享、插件集成以及安全注意事项,包括沙箱使用和敏感

海兰 3955

QT上位机开发(掌握一点c++基础)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 c++是c语言的补充和扩展,本身的语法构成也是在一直迭代中。相信很多同学上大学读书的时候,或多或少对c语言有所了解,对它的变量、指针、函数也应该不陌生。既然大家都有c语言基础的话,那么在这方面稍微拓展一下的话,就可以学会c++了。当然c++本身的内容很多,很多方面还很琐碎,但我们学习的时候还是应该把精力放在那些经常使用到的语法上面。

嵌入式-老费,一个分享专业嵌入式知识的blog 1126

ubuntu-emto-cpa 测试和使用(单核运行)

ubuntu-emto-cpa 测试和使用(单核运行)

qq_45834835的博客 1398

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: 【Unity教程】如何动态更换精灵图片&在图集中更换精灵图片
下一篇: 【Unity&JSON&XML】存档数据代码解读&NET.JSON的用法探究
BuladeMian
博客等级 码龄10年 795粉丝 1041原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值