Jump to content
  • Advertisement

RJSkywalker

Member
  • Content Count

    45
  • Joined

  • Last visited

Community Reputation

283 Neutral

About RJSkywalker

  • Rank
    Member

Personal Information

  • Role
    Programmer
  • Interests
    Programming
  1. RJSkywalker

    Syncing audio with an animation

    So far, I have only noticed the animation seems to be ahead. This is noticeable only when there is a considerable frame rate drop. If the game is in idle mode, it works fine.
  2. Hello guys, I have a song audio clip that I need to play in sync with its lyrics. The approach I'm using right now is for the lyrics, I have a bink animation created in after effects and exported to my custom engine format. And I try to synchronize the animation by setting its current frame based on the current position of the audio. But I'm facing issues with synchronization. Could you give any suggestions? One way I'm thinking is to try and seek the audio to the position determined by the current frame of the animation. This approach again might not work and it would be more noticeable if there is an issue while syncing. Another approach I'm thinking is maybe use a text file that acts as a sort of the subtitle file which I parse and display. But I'm not sure how to get this voice recognition. Are there existing libraries that process the audio file and let you know what is being said? It'd essentially be implementing an audio subtitle system. Any suggestions on that?
  3. RJSkywalker

    Level generation in Unreal Engine 4

    Perfect!! Thanks a lot! I'll definitely check this out as well!
  4. RJSkywalker

    Level generation in Unreal Engine 4

    Ohh you meant this way! Yeah that would definitely be one way. Yes I did watch it but I had been trying to use more C++ than Blueprints. But the Blutility tool you mentioned just did my job. I'm guessing I could generate a level procedurally and bring it up in the Editor using this tool and save the actors generated in my map? The only thing I'd need to be careful about would be the object destruction like you mentioned.
  5. RJSkywalker

    Level generation in Unreal Engine 4

    Yup its there in 4.18 as well. This seems to be very useful and a nice place to start. Thank you so much! I didn't understand what you meant by directly changing the editor. Do you mean to change the editor code?
  6. Hello, I'm trying to design a maze using a mix of procedural and manual generation. I have the maze already generated and would like to place other objects in the maze. The issue is the maze object is created on BeginPlay and so I'm unable to view it in the Editor itself while dragging the object to the Outliner. Any suggestions? I'm thinking of doing something in the Construction Script or the object Constructor but not not sure if that would be the way to go. I'm still getting familiar with the Engine code base and only have a little experience in Maya or Blender since I'm a programmer.
  7. I am trying to set the value of an integer by reference in a macro created in my blueprint script. The macro does a simple conditional check of an integer and increments it if it is less than a max value. I was using one of the maze generating tutorials and the function throws a failed to resolve term Value passed into Target error. I am not sure why it cannot deduce the type of Value. The original tutorial was made in UE 4.6, so could it be due to updates made in UE 4.16? I have attached a screenshot of my blueprint. [not sure if this section might be the correct one since I couldn't find an appropriate section to post this question].
  8. Thanks a lot! It gives me a clearer picture now. I wasn't aware this could be related to morph targets. Unfortunately my engine does not support morph targets just yet. 
  9. Hey guys, I had a question regarding the type of animations that can be exported to FBX created in Maya. One of my animators created an animation of an object using Deformers specifically the Bend and Squash. It seems like FBX does not export this property (or even import). We tried exporting it with Bake Animation and the Deformed Models option but it did not work. Also, the object does not have any bones/joints associated with it. Does anyone know if this is a FBX thing? Do we need to write a custom FBX  exporter to handle this?
  10. RJSkywalker

    Handling png images as fonts

    I think you are spot on! I will discuss this with them and will probably adjust the font exporter. Thanks a lot! 
  11. RJSkywalker

    Handling png images as fonts

    That is what I was thinking.   @Shaarigan: We use C++ in our proprietary engine and the graphics engine uses openGL for rendering. We actually get an image made in Photoshop containing the characters which is not exactly a font per se nor based on an existing font.   @Kylotan: Our custom font exporter actually only supports system fonts. Detecting an image as a font by the exporter would sound strange?    This is what we usually get:  [sharedmedia=gallery:albums:1105]   A simple image (like a sprite sheet perhaps?) Would it be similar to a Bitmap font?
  12. RJSkywalker

    Custom Font

  13. Hello everyone,   So I have this issue of rendering characters that are not fonts but rather png images which the artist gives me. They want to apply certain effects, drop shadows and custom hand drawn curvatures at times. Our custom font exporter does not support this kind of functionality.  Has anyone faced this kind of a situation? Do I need to create a custom font object? The artist does not give us any kind of description, just a png strip that contains the relevant characters. What I was thinking was to either use this strip or to break the strip per character which I am guessing is not a good idea, in addition to asking the artist of a description file. 
  14. Hi all!   I am trying to render an image that I generate after reading it from a .asc file. I perform all the necessary transformations and then display it on the screen. The output is a ppm image. Initially I used the windows API related BitBlt function to render the image and it shows perfectly on the screen. Then I tried using OpenGL to render the same image and it doesn't.   If I use DrawPixels, it shows a black screen and if I use texture mapping it shows a partial white box.   Here are the images and the bits of code. I have worked with targa images before but this is the first time I am creating a ppm image but I do not think that is an issue as I am just trying to render the buffer which is of type char*. This image is produced using BitBlt. [attachment=18697:screenShot1.jpg] This one using OpenGL. [attachment=18698:screenShot2.jpg] And here is the code of my files: Main.cpp and COpenGLRenderer.cpp:  DrawFrameBuffer(using BitBlt) void DrawFrameBuffer() { HBITMAP m_bitmap; HDC memDC; memDC = CreateCompatibleDC(hDC); //display the current image char buffer[sizeof(BITMAPINFO)]; BITMAPINFO* binfo = (BITMAPINFO*)buffer; memset(binfo,0,sizeof(BITMAPINFO)); binfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); //create the bitmap BITMAPINFOHEADER* bih = &binfo->bmiHeader; bih->biBitCount = 3*8; //3 - channels bih->biWidth = pApp->GetFrameBufferWidth(); bih->biHeight = pApp->GetFrameBufferHeight(); bih->biPlanes = 1; bih->biCompression = BI_RGB; bih->biSizeImage = 0; //for rgb bitmaps we set it to 0 m_bitmap = CreateDIBSection(hDC,binfo,DIB_RGB_COLORS,0,0,0); SelectObject(memDC,m_bitmap); binfo->bmiHeader.biBitCount = 0; GetDIBits(memDC, m_bitmap, 0, 0, 0, binfo, DIB_RGB_COLORS); binfo->bmiHeader.biBitCount = 24; binfo->bmiHeader.biHeight = -abs(binfo->bmiHeader.biHeight); //for top-down image SetDIBits(memDC,m_bitmap,0, pApp->GetFrameBufferHeight(), pApp->GetFrameBuffer(), binfo, DIB_RGB_COLORS); //replace the 3rd last argument with the framebuffer SetStretchBltMode(hDC, COLORONCOLOR); RECT client; GetClientRect(hwnd, &client); BitBlt(hDC,0,0,pApp->GetFrameBufferWidth(),pApp->GetFrameBufferHeight(),memDC,0,0,SRCCOPY); DeleteDC(memDC); DeleteObject(m_bitmap); }  DrawFrameBuffer(OpenGL) function void COpenGLRenderer::setFrameBuffer(const char* buffer) { m_pFrameBuffer = (char*)buffer; glGenTextures(1, &m_pTextureID); glBindTexture(GL_TEXTURE_2D, m_pTextureID); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP); glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, m_nWindowWidth, m_nWindowHeight, 0 , GL_RGB, GL_UNSIGNED_BYTE, buffer); //gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGB,m_nWindowWidth, m_nWindowHeight,GL_RGB,GL_UNSIGNED_BYTE, buffer); } void COpenGLRenderer::drawFrameBuffer(const char* buffer) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, m_pTextureID); glPushMatrix(); glLoadIdentity(); glTranslatef(0.0f, 0.0f, -10); //z translation is the last value glBegin(GL_QUADS); glTexCoord2f(0,0); glVertex2f(0,0); glTexCoord2f(1,0); glVertex2f(m_nWindowWidth,0); glTexCoord2f(1,1); glVertex2f(m_nWindowWidth,m_nWindowHeight); glTexCoord2f(0,1); glVertex2f(0,m_nWindowHeight); glEnd(); glPopMatrix(); glDisable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, 0); /*glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glPixelStorei(GL_UNPACK_ALIGNMENT,1); glRasterPos2i(0, 0); if(buffer != NULL) { glDrawPixels(m_nWindowWidth, m_nWindowHeight, GL_RGB, GL_BYTE, buffer); } */ } I have commented the DrawPixels technique that did not work. Can anyone tell me what might be going on? Its basically trying to render image data stored in a char* variable using different methods. One method works so I know for sure that the buffer does not contain invalid data.
  15. RJSkywalker

    line segments having common endpoint

    @Alvaro: Thanks for the d >= abs(L0-L1) info.. I had figured out the L0+L1 part. Both of these would give if a solution exists or not. But I also want to know the configuration of the 2 line segments, as in also the point as well. I want my function to return a list of all such points. Because if I think of a brute force way, I can find atleast 3 points by moving by L0 parallel to  the 3 axes. The other points can be found by breaking L0 into x,y and z components if I am write. So if i have to iterate through a loop, how can I find the range of the loop it does not exactly go on a particular order when finding the point. 
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!