I am trying to compile this homebrew app (learning unity for 3ds) and am following this Tutorial. But I can't try testing it in unity or compiling it of r3ds and it give me these errors. can't understand them. I am using a m3 pro MacBook pro running windows 11 in parallels desktop.
Unity 5.6.5 by default uses a fragment ( pixel ) based shader for Textmesh. The 3DS does not support Pixel based shaders you need to change the shader material of your Textmesh shaders.
Use this shader :
Code:
Shader "3DS/GUI/3DSFont"
{
Properties
{
_MainTex ("Font Texture", 2D) = "white" {}
_Color ("Text Color", Color) = (1,1,1,1)
}
SubShader
{
Tags{"QUEUE" = "Transparent" "IGNOREPROJECTOR" = "true" "RenderType" = "Transparent" }
ZWrite Off
Lighting Off
Fog { Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
// Use the alpha channel of the texture to mask the color
SetTexture[_MainTex]
{
constantColor[_Color]
Combine texture alpha * constant
}
}
}
Fallback "GUI/Text Shader"
}
note that you cannot change the shader used by the built-in Unity fonts.
You need to import a TTF font into the project, create a new material based on this shader, set the texture on the material to the Font Texture of the imported font, and then add the material to the Materials list in the MeshRenderer component of the TextMesh game object.
Its Unity Shader lab which translates to Gl ES1.1 - its too bad Unity 5 removed some of the more robust GL commands from Unity. Not having Tex gen, reflect or sine has made making Unity shader models quite challenging...
but yeah writing shaders in the other available languages is quite a nightmare. Good news is at least you are not locked out of any effects. I don't know squat about real graphics programing I just use Shader lab which is lightyears easier to understand then C ++. I was an artist long time ago so sadly I need a packaged engine with an editor.
I wish I could do something more custom and legally free and clear to use. for a free demo Unity will do but long term i hope Godot 4 for 3DS is in a working state by then.
for any reading there are 4 graphics libraries the 3DS can execute. GL, which is feature rich but sadly slower, GD which is not as compatible as the GL library but a little faster. GR which support direct creation of 3D commands. It is the fastest library but requires a mountain of registers knowledge. and then Nintendo's NW4C library..Which my guess is probably the best one to use but then you are stuck with NW4C's tool chain.
for any reading there are 4 graphics libraries the 3DS can execute. GL, which is feature rich but sadly slower, GD which is not as compatible as the GL library but a little faster. GR which support direct creation of 3D commands. It is the fastest library but requires a mountain of registers knowledge. and then Nintendo's NW4C library..Which my guess is probably the best one to use but then you are stuck with NW4C's tool chain.
I recommended these manuals - They can steer you in the right direction. I am not a real graphics programmer ( self taught ) so sadly cant dig into writing a graphics engine with shader support. Themes some deep waters and why I use unity.
Note I can not link directly to these files since its against Gbatemp TOS.
( These are the official 3DS manuals from Nintendo )
I can give you the names of the manuals, It is all googleable. The Manuals will describe the name of demo files you can hunt for as well. It is all on the web.
dig for 1.1 from there. ( This is what I have been using as a indirect guide with Unity ) basically I hunt for a gl es 1.1 shader and translate it into a Unity Shader Lab syntax.
for GD, GR - and NW4C I have not messed with it but the Programing manuals I'm sure will explain how to put those libraries into use.
Also I recommended GPU Gems, Sounds like you probably already know this stuff but for anyone else trying to understand graphics. this is a good series of books. They are free from Nvida. Bare in mind these books will not give you code that can run on the 3DS its not open gl code but for anyone trying to understand game graphics this was very helpful...least to me. https://developer.nvidia.com/gpugems/gpugems/contributors
1. Banner files images are not the correct format which is "Nintendo TGA file format" not to be confused with regular TGA format. The image format in your banner folders is currently .PNG
You can not use .png files for the banner - While you can use .png files for your 3DS unity project, Banner files run on a separate exporter and will not convert any file formats they will only accept .ctex or Nintendo TGA files (NW4C .TGA)
For Banners I recommend NW4C Tga file format rather than ctex.
you have 2 options to fix the banner problems.
A. you can convert every png to a NW4C TGA in all the folders
or
B. delete all folders after COMMON and copy and paste one of the png files into COMMON\texture and convert it to
a NW4C TGA
Story is when unity made the 5.6.5 release they accidently made the sample package with png files instead of proper format.
I hear it got fixed in later versions - This will fix the banner export fail.
2 You made the shader and the material but you didn't apply it to the text mesh
1st drag the material onto the textmesh
next you need to adjust some settings.
selecting the textmesh to see its properties
1. Setup anchor and alignment and font size
2. Open your TTF font with the little arrow icon next to the font - there is a image file inside the TTF file format
3. Drag the imbedded image to the font texture window ( once done words should become legible )
4. replace textmesh in text field with whatever you want to type
1. You can find photoshop, it is online - its a pain but it is the only way I know you can make a 3D model custom banner.
if you hunt for it make sure its an old one like CS5 or CS6, or the tools may not work. I use CS5 Extended. but for tool installation simplicity I recommenced CS6 other wise you got to edit the .bat file, not fun
2. You could try 3DSBannerMaker, its a tool I ran into when I was trying to figure out how to make a custom banner. Got the official tools working so I never used it but here it is -> https://github.com/AlbertoSONIC/3DS_Banner_Maker
could not find any documentation or images but maybe that will work for at least a 2d image banner. Let me know if its any good
3. Always know you can just delete the banner folder from your project for now. it will export fine without the banner folder. Unity will build with a generic banner. It wont be custom but that's not a big deal at the start of a project.
I try to build and compile for 3ds without the custom banner and it gives me network errors in the code but I do not want any networking in the game/app and I do not know how to remove and fix it
Post automatically merged:
most of the time the only error in the console when trying to build is "Error building Player because scripts have compile errors in the editor"
I try to build and compile for 3ds without the custom banner and it gives me network errors in the code but I do not want any networking in the game/app and I do not know how to remove and fix it
Post automatically merged:
most of the time the only error in the console when trying to build is "Error building Player because scripts have compile errors in the editor"
So I went to export your files and there are a few thighs you need to setup in -> File - Build Settings - Player settings for the export to work
1. make sure your scene is listed in the "Scenes in Build"
2. goto player settings
"I will mention 3 as a bonus" You could export a dev cia from here if you have dev hardware.
This cia can only be read by dev hardware. A modded 3DS will not install this cia type.
simply export out the .CCI file and convert as one normally does.
In Player Settings
For you you have to check the EULA box
You must also put text in every name field. make sure you DO NOT put any spaces on the name or you will get export errors
if you want a space you an underscore " _ "
example:
Over two decades ago, a small company by the name of Bleem! appeared and offered a unique product in the gaming market, the ability to play PlayStation games outside...
With the Nintendo Switch being such a runaway success, and having a successor console on the way, it looks like an old rival might be throwing their hat back into the...
Another beloved classic from the 5th Generation of videogame consoles is getting a native PC port. This time, the famous on-rails shooter for the Nintendo 64, Star...
Nintendo has a surprise drop for Nintendo Switch Online subscribers. A classic Game Boy title has landed on the service tonight, in the form of Donkey Kong Land. Only...
Popular Nintendo DS emulator melonDS has seen some major additions in a brand new release. Making the milestone jump from the previous v0.9.5, this new version is...
The Nintendo Switch is at the end of its lifecycle, but especially so in China. After what will have been six years of service, the Nintendo Switch eShop will be...
A new update for Cemu has been released. Though it is still currently in pre-release form, this 2.4 version fixes a few bugs, including one that did not allow users...
Launching today is Dragon Quest III HD-2D Remake. This entry to the Dragon Quest franchise is chronologically the first in the “Erdrick Trilogy" and has been remade...
Today, digital storefront GOG has announced the GOG Preservation Program as a continuation of its committment to preserve and restore classic video games. With this...
Half Life 2 is one of the highest praised videogames of the new millennium, and many people worldwide have fond memories of the game, with many still replaying it and...
With the Nintendo Switch being such a runaway success, and having a successor console on the way, it looks like an old rival might be throwing their hat back into the...
It's time to see what the best games of 2024 have been, by watching The Game Awards, which are airing tonight. Host Geoff Keighley will take the stage to celebrate...
Another beloved classic from the 5th Generation of videogame consoles is getting a native PC port. This time, the famous on-rails shooter for the Nintendo 64, Star...
Over two decades ago, a small company by the name of Bleem! appeared and offered a unique product in the gaming market, the ability to play PlayStation games outside...
The Nintendo Switch is at the end of its lifecycle, but especially so in China. After what will have been six years of service, the Nintendo Switch eShop will be...
Nintendo has a surprise drop for Nintendo Switch Online subscribers. A classic Game Boy title has landed on the service tonight, in the form of Donkey Kong Land. Only...
Launching today is Dragon Quest III HD-2D Remake. This entry to the Dragon Quest franchise is chronologically the first in the “Erdrick Trilogy" and has been remade...
The Game Awards are taking place later today, and as always, you can expect to see some game announcements made during the show. This year, however, there's a little...
A toy company managed to completely dismantle an indie game storefront, according to Itch.io, whose website was down for half a day after an automated system disabled...
Today, digital storefront GOG has announced the GOG Preservation Program as a continuation of its committment to preserve and restore classic video games. With this...